Skip to content

Latest commit

 

History

History

com.community.netcode.transport.steamnetworkingsockets

SteamNetworkingSockets Transport for Unity NetCode for GameObjects

The SteamNetworkingSockets Transport leverages Valve's SteamNetworkingSockets APIs enabling secure and efficent networking in both peer to peer and client server architectures. The Steam networking sockets APIs address via CSteamID, not IP/Port. These APIs handle routing via Valve's backend services and do not require NAT punch or additional routing solutions.

Dependencies

Steamworks.NET This transport relies on Steamworks.NET to communicate with the Steamworks API. Steamworks.NET its self requires .Net 4.x

Set Up

  1. Install Steamworks.NET via the package manager by clicking the '+' (plus) button located in the upper left of the window and selecting Add package from git URL... when prompted provide the following URL:
    https://github.com/rlabrecque/Steamworks.NET.git?path=/com.rlabrecque.steamworks.net
  2. Install this package via the package manager by clicking the '+' (plus) button located in the upper left of the window and selecting Add package from git URL... when prompted provide the following URL:
    https://github.com/Unity-Technologies/multiplayer-community-contributions.git?path=/Transports/com.community.netcode.transport.steamnetworkingsockets

Usage

This transport does require that you first initalize the Steam API before use. To do so you will need to either

Steam Networking Sockets uses the CSteamID as the network address to connect to. For P2P games this would require you to provide the Steam ID of the peer to connect to. For Client Server games this would require you to log your server onto Steam as a Steam Game Server, this act will issue your server a Steam ID which would be used as the address in this transport.