The PlayEveryWare EOS Plugin for Unity brings the free services from Epic that connect players across all platforms and all stores to Unity in an easy-to-use package. Find more information on what services Epic Online Services encompasses, see here: https://dev.epicgames.com/en-US/services and to read the developer documentation on those services, see here: https://dev.epicgames.com/docs/epic-online-services.
This repository contains the source code for development and serves as a destination for support for the PlayEveryWare EOS Plugin for Unity (UPM Package).
Out of the box, this project demonstrates (through a collection of sample scenes) each feature of the Epic Online Services SDK1. The sample scenes (coupled with accompanying documentation) can be used to get an idea of how you can implement all the online features you want in your game!
See this for a more complete overview of the advantages of using EOS with Unity.
Note
If you are not interested in the development of the EOS Plugin project (and instead just want to get to using it) you can follow our guide on Importing the Plugin Package to start using the most recently released version of the EOS Plugin.
- Create an Epic Games Account (although, most features do not require your users to have an Epic Games Account, you must have one to configure your game with Epic Games Developer Portal).
- A product configured on the Epic Games Developer Portal.
- A Unity project to integrate the plugin into.
Note
Your system should also satisfy Unity's system requirements as well as the EOS system requirements
Below is a table summarizing the level of support the EOS Plugin for Unity provides. Most features are demonstrated via sample scenes provided in the project, and links to the guide for each corresponding sample scene are listed below. In some cases (such as Anti-Cheat) the feature is not very well demonstrated with a scene. In those cases, a link to information about how the plugin utilizes the feature is provided. In some cases (such as logging and overlay) the features are not implemented in any one scene specifically, but in all of them.
Use the "Select Demo Scene" dropdown in the application to select the sample scene that corresponds with the walkthrough.
There are many EOS features that do not require your player to have an Epic Games Account (EGA) - such features are also marked accordingly in the following table.
Feature | Status | Sample Scene Walkthrough | Requires EGA |
---|---|---|---|
Achievements | ✅ | "Achievements" | |
Anti-Cheat | ✅ | "Information" | |
Authentication | ✅ | "Auth & Friends", Information | ✔️ |
Custom Invites | ✅ | "Custom Invites" | |
Connect Interface | ✅ | "Auth & Friends" | |
Ecommerce | ✅ | "Store", Information | ✔️ |
Friends | ✅ | "Auth & Friends" | ✔️ |
Leaderboards | ✅ | "Leaderboards" | |
Lobby | ✅ | "Lobbies" | |
Lobby with Voice | ✅ | "Lobbies", Information | |
Logging Interface | ✅ | NA | |
Metrics | ✅ | "Metrics" | |
Mod SDK | ❌ | NA | ✔️ |
NAT P2P | ✅ | "Peer 2 Peer", "P2P Netcode" | |
Platform Interface | ✅ | NA | |
Player Data Storage | ✅ | "Player Data Storage" | |
Presence | ✅ | "Auth & Friends" | ✔️ |
Progression Snapshot Interface | ❌ | NA | ✔️ |
Reports | ✅ | "Player Reports & Sanctions" | |
Sanctions | ✅ | "Player Reports & Sanctions" | |
Sessions | ✅ | "Sessions & Matchmaking" | |
Social Overlay / UI Interface | ✅ | Information | ✔️ |
Stats | ✅ | "Leaderboards" | |
Title Storage | ✅ | "Title Storage" | |
User Info Interface | ✅ | NA | ✔️ |
Voice Trusted Server | ❌ | NA |
Efforts will be made to add corresponding support to features as they are added to the Epic Online Services SDK. The table above reflects the features as of November 2023.
We currently support the following platforms, details of each can be found on our Supported Platforms document:
- Windows
- Linux
- macOS
- Android
- iOS
- Nintendo Switch
- Xbox One
- Xbox Series X
- PlayStation 4
- PlayStation 5
There are two options to install the package:
- Via a UPM tarball (easiest to get started quickly).
- From a git url (this method has the possible advantage of keeping the plugin up-to-date, if that's something that you would prefer).
Once imported into your project, be sure to Configure the Plugin to work with your game.
PlayEveryWare EOS Plugin for Unity documentation can be found here on GitHub.
For issues related to integration or usage of the EOS Unity plugin, please create a New Issue
under the Issues tab.
For issues related to Epic Online Services SDK, Epic Dev Portal or for general EOS SDK information, see the Epic Online Services Community Support.
Detailed descriptions and usage for EOS SDK Interfaces can be found on Epic's documentation for Game Services.
For issues of a confidential nature (for instance for support using this Plugin on restricted console platforms), please reach out to us directly at eos-support@playeveryware.com.
If it is at all unclear to you where to go for support - do not hesitate to open a New Issue
under the Issues tab, and we will make certain that you are properly (and promptly) assisted :)
This is an open source project! We welcome you to make contributions. See our Contributions document for more information.
To disable the plugin for specific platforms, see this (which also explains why you might want to do this).
See our guide on how to export the plugin from the command line.
For issues of API Level compatibility, please read our document on .NET Quirks and Unity compatibility.
For more FAQs see Frequently Asked Questions.
If you have any outstanding questions, please bring them up in the Discussions tab.
Footnotes
-
See the supported-eos-sdk-features section for which SDK features specifically are demonstrated. ↩