A sample integration for the Steam P2P Relay and coherence networking for player-hosted servers.
Uses Facepunch.Steamworks.
ℹ️ Download a release that matches the installed coherence SDK version to at least MAJOR.MINOR. For example, if you are using SDK v1.0.5 (MAJOR = 1, MINOR = 0), use v1.0.0. Check the list of releases on this repository.
The Steam Integration is using a combination of the Steam relay servers and an implementation of ICoherenceRelay to enable Steam users to connect and play with each other while avoiding NAT issues.
The ICoherenceRelay implementation allows for users to connect to the hosting client through Steam, and have the client forward their data packets to the user-hosted Replication Server.
SteamManager will initialize the SteamSDK and manage the joining and hosting of self-hosted servers.
SteamLobbyUI is a simple sample for hosting and joining accessibility, that will provide a UI in the top left of the screen.
- Copy the "SteamSample" folder into your own project.
- In the scene containing your
CoherenceBridgeGameobject/Component, create a new Gameobject with theSteamManagerComponent. - (Optional) Add the
SteamLobbyUIto the same Gameobject. - Use the Inspector with the
SteamManagerto set theSteam App Idto the Id of your project.
You can now use the integration through either the SteamLobbyUI, or the SteamManager right-click menu in the Inspector.

