Skip to content

Repository for PlayEveryWare's EOS Plugin for Unity, bringing the functionality of Epic Online Services to the Unity Game Engine.

Notifications You must be signed in to change notification settings

PlayEveryWare/eos_plugin_for_unity

Repository files navigation

Lobby Screenshot

PlayEveryWare EOS Plugin for Unity

License: MIT Unity

Overview

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.

Getting Started

Prerequisites

Note

Your system should also satisfy Unity's system requirements as well as the EOS system requirements

Supported EOS SDK Features

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.

Supported Platforms

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

Importing the Plugin Package

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.

Exploring Supported EOS Features

Support / Contact

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 :)

Contributor Notes

This is an open source project! We welcome you to make contributions. See our Contributions document for more information.

FAQ

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

  1. See the supported-eos-sdk-features section for which SDK features specifically are demonstrated.