Hi! This is our Epic Online Services (EOS) transport for Mirror. We developed it for our game Nimoyd , it is still under development, but already working without any problems.
-Mirror
-Epic Online Service C# SDK
- Import the unitypackage file found under releases
- In Unity -> Project Settings -> Player -> Other Settings -> Scripting define symbols set PLATFORM_64BITS for Win64 or PLATFORM_32BITS for Win32. For other platforms see Epic.OnlineServices.Config in the SDK for their defines
- Attach the EOSSDKComponent to a gameobject in your scene
- Fill out all the SDK keys on the EOSSDKComponent, you can find them in the Epic Online Services Dev Portal
- Attach the EosTransport component to the same gameobject as the NetworkManager
- Move the EosTransport reference into the 'Transport' slot on the NetworkManager
Running multiple instances of your game on one device for testing requires you to have multiple epic accounts. Even if your game doesn't use epic accounts you will need them for testing.
- Add all epic accounts you want to test with to your organization in the dev portal
- On the EOSSDKComponent under User Login set Auth Interface Login to true
- Choose 'Developer' as Auth Interface Credential Type
- Choose 'Epic' as Connect Interface Credential Type
- Open the epic transport folder with a file explorer and go into the DevAuthTool folder
- Create a folder that ends with ~ e.g. Tool~, this makes unity ignore this folder
- Unzip the dev auth tool for your OS (Mac/Win) into the folder you created in step 5.
- Run the dev auth tool
- Enter a port in the dev auth tool
- Login to your epic account and give the credential a name
- Repeat step 9 for as many accounts you want to use
- On the EOSSDKComponent set the port to the one you used in the dev auth tool
- On the EOSSDKCOmponent set Dev Auth Tool Credential Name to the named you chose in the tool
Note: In the editor after logging in with the dev auth tool you cant change the credential name as the sdk stays initialized even after finish playing. You either have to restart unity or the dev auth tool. For builds it is useful to set delayed initialization on the EOSSDKComponent to true and then provide a user input field to set the dev tool credential name and then calling EOSSDKComponent.Initialize().
You need the epic online product id to connect to another user, you can get it by calling:
EOSSDKComponent.LocalUserProductId
or
EOSSDKComponent.LocalUserProductIdString
The string variant can be sent to other users to connect.