Skip to content

specially formated git repo for using with the UnityPackageManager

License

Notifications You must be signed in to change notification settings

ninokostudio/eos_plugin_for_unity_upm

 
 

Repository files navigation

Epic Online Services Plugin for Unity (UPM Package)

Overview

The eos_plugin_for_unity_upm repository contains a Unity Package Manager (UPM) plugin for enabling the use of Epic Online Services (EOS) C# SDK in Unity.

For support issues or contributing to this open source project, head over to the source repository.

Things this plugin provides:

  • Unity GUI for configuring EOS settings and saving to a JSON file
  • Unity editor playback support, handled by reloading EOS SDK
  • Feature specific manager classes for most common use-cases of EOS SDK API
  • Feature specific samples as Unity scenes
  • Targets EOS SDK 1.13.1 (bundled with plugin)
  • Targets Unity 2020.1

Supported Platforms

The follow target platforms are supported in Unity for the current release of the plugin.

Unity Target Platform Current Plugin Release
Windows Standalone x64 Supported
Windows Standalone x86 Supported
Universal Windows Platform x64 Supported
Android Future
iOS Future
Linux Future
MacOS Future
Console Platforms Future
WebGL Not Supported
Universal Windows Platform x86 Not Supported
Unity Web Player Not Supported

Supported EOS SDK Features

The EOS SDK is continually releasing new features and functionality. The following is a list of EOS features and their support level for the Unity plugin.

EOS Feature Included in Sample
Achievements Achievements Sample
Authentication - All Samples -
Ecommerce Store Sample
Friends Auth & Friends Sample
Leaderboards Leaderboards Sample
Lobby Lobbies Sample
Lobby with Voice Lobbies Sample
NAT P2P P2P Sample
Player Data Storage Player Data Storage Sample
Presence Auth & Friends Sample
Sessions Sessions Sample
Stats Leaderboards Sample
Title Storage Title Storage Sample
Reports - No Sample Provided -
Sanctions - No Sample Provided -
Anti-Cheat Not Supported
EOS Mod SDK Not Supported
Voice Trusted Server Not Supported

Integration Notes

For best results, Unity 2020 is preferred.

Installing from a git URL

Ensure you have property setup Unity for Git Dependency.

  1. Make sure you have git and git-lfs installed

  2. Open the Unity Editor

  3. Open the Package Manager.

    • It's listed under Window -> Package Manager
  4. Click the + button

  5. Select 'Add Package from Git URL'

    Unity Add Git Package

  6. Paste in [email protected]:PlayEveryWare/eos_plugin_for_unity_upm.git or https://github.com/PlayEveryWare/eos_plugin_for_unity_upm.git

Installing from a tarball

Download the latest release tarball from https://github.com/PlayEveryWare/eos_plugin_for_unity/releases

  1. From the Unity Editor, open the Package Manager

    • It's listed under Window -> Package Manager
  2. Click the + button

  3. Select 'Add package from tarball'

    Unity Add Tarball Package

  4. Go to directory containing the PEW Unity plugin tarball, and select it

  5. Click Open


Configuring the Plugin

To get the EOS working, the plugin needs to know some specific things about your EOS project.

Prerequisites

  • One has a Unity project one would like to have the plugin integrated into
  • One has a Epic Games Account, which you may sign up for here
  • One has accepted the Terms for the Epic Online Services
  • One has configured a product on the Epic Games Developer Portal

Steps

  1. Open your Unity project with integrated plugin

  2. In the Unity editor, Open Tools -> EpicOnlineServicesConfigEditor

    EOS Config Menu

  3. Configure the EOS plugin

    EOS Config UI

  4. From the developer portal, copy the configuration values listed below, and paste them into the similarly named fields in the editor tool:

At this point, you are ready to start developing using the Epic Online Services Plugin for Unity! Simply attach EOSManager.cs (Script) to a Unity object and it will intialize the plugin with the specified configuration in OnAwake().

If you would like to see examples of each feature, continue installing samples below.


Samples

The included samples show fully functional feature implemenation that will both help with EOS integration as well as validate client to dev portal configuration. After installing the samples from the UPM package, you will find scenes for each major feature.

Lobby Screenshot

Title Storage Screenshot

In addition, the samples include Unity friendly feature Managers that can help to quickly integrate new EOS features into your title. They provide functional usage of the main feature functionality and can be a good base template.

Installing the samples

To use the samples, install them from the UPM manager.

Unity Install Samples

The samples include both usage of the EOS SDK, and convience wrappers to make using the SDK more ergonomic in the Unity Game Engine. By being samples in the UPM sense, they are placed under Assets which allows modification.

Running the samples

  • Launch Unity project with the samples installed

  • In the Unity editor, hit Play

  • Login with a selected authentication type

    Auth and Friends Screenshot


Authentication

Running and Configuring the EOS SDK Dev Auth Tool

  • Launch the Developer Authentication Tool

    Developer Authentication Tool Screenshot

  • Pick a port to use on the computer. 8888 is a good quick to type number that isn't usually used by a process

  • Log in with one's user credentials that are registered with Epic

  • Pick a username. This username will be used in the sample to log in

More specific and up-to-date instructions can also be found on Epic's website


Open Source: Contribute

This is an Open Source project. If you would like to view and contribute to the development of this plugin, you can enlist in the plugin development repo located at https://github.com/PlayEveryWare/eos_plugin_for_unity


Plugin Support

EOS Plugin for Unity API Documentation can be found at https://eospluginforunity.playeveryware.com

For issues related to integration or usage of the Unity plugin, please create a New Issue under the Issues tab of the main repo.

For issues related to Epic Online Services SDK, Epic Dev Portal or general EOS SDK information, please go to Epic Online Services Community Support

Detailed descriptions and usage for EOS SDK Interfaces, can be found at EOS Developer Documentation: Game Services.

About

specially formated git repo for using with the UnityPackageManager

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%