{"id":18681681,"url":"https://github.com/mrrobinofficial/guide-unitysteamnetcodegameobjects","last_synced_at":"2025-04-12T04:08:03.640Z","repository":{"id":41107186,"uuid":"448674755","full_name":"MrRobinOfficial/Guide-UnitySteamNetcodeGameObjects","owner":"MrRobinOfficial","description":"This repository is designed to help developers learn how to get started with Facepunch/Steamworks Networking and Unity Netcode For GameObjects.","archived":false,"fork":false,"pushed_at":"2024-04-22T14:38:12.000Z","size":188,"stargazers_count":69,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T04:07:53.417Z","etag":null,"topics":["facepunch","gameobjects","mlapi","netcode","network","networking","steam","unity","unity3d"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MrRobinOfficial.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-01-16T21:14:41.000Z","updated_at":"2025-04-12T03:09:26.000Z","dependencies_parsed_at":"2024-04-24T15:15:41.709Z","dependency_job_id":null,"html_url":"https://github.com/MrRobinOfficial/Guide-UnitySteamNetcodeGameObjects","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrRobinOfficial%2FGuide-UnitySteamNetcodeGameObjects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrRobinOfficial%2FGuide-UnitySteamNetcodeGameObjects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrRobinOfficial%2FGuide-UnitySteamNetcodeGameObjects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrRobinOfficial%2FGuide-UnitySteamNetcodeGameObjects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrRobinOfficial","download_url":"https://codeload.github.com/MrRobinOfficial/Guide-UnitySteamNetcodeGameObjects/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248514225,"owners_count":21116903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["facepunch","gameobjects","mlapi","netcode","network","networking","steam","unity","unity3d"],"created_at":"2024-11-07T10:08:44.875Z","updated_at":"2025-04-12T04:08:03.588Z","avatar_url":"https://github.com/MrRobinOfficial.png","language":"C#","readme":"![Banner](Static/Img/Banner.png)\n\n\u003cdiv align=\"center\"\u003e\n  \n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/mrrobinofficial/guide-unitysteamnetcodegameobjects/blob/HEAD/LICENSE.txt)\n![guide-status](https://img.shields.io/badge/guide_status-completed-green)\n\n\u003c/div\u003e\n\n#\n\n\u003ccenter\u003e\n    \u003cp\u003e\n        \u003ci\u003e\n            This repo is a comprehensive repository designed to help users quickly and effectively get started with Unity's multiplayer solutions using Facepunch as the transport layer and Unity's Netcode For GameObjects framework.\n        \u003c/i\u003e\n    \u003c/p\u003e\n\u003c/center\u003e\n\n## ⚙️ Before you begin\n\nNetcode supports the following versions:\n\n* Unity 2021.3 and later\n* Mono and IL2CPP Scripting Backends\n\nNetcode supports the following platforms:\n\n* Windows, macOS, and Linux\n* iOS and Android\n* XR platforms running on Windows, Android, and iOS operating systems\n\nYou can read more about **Unity Multiplayer Networking** docs [here](https://docs-multiplayer.unity3d.com/).\n\n## ⚒️ How to Install\n\nIf you haven't install Unity Netcode For GameObjects, then do so via this [link](https://docs-multiplayer.unity3d.com/netcode/current/installation/install).\n\nThen install [Facepunch Transport](https://github.com/Unity-Technologies/multiplayer-community-contributions/tree/main/Transports/com.community.netcode.transport.facepunch) layer.\n\nOr copy this git command and paste in Package Manager:\n\n```console\nhttps://github.com/Unity-Technologies/multiplayer-community-contributions.git?path=/Transports/com.community.netcode.transport.facepunch\n```\n\nThen you have [wiki page](https://wiki.facepunch.com/steamworks/) for API and more documentation code.\n\n## 📝 How To Use It\n\nYou need to assign SteamId to FacepunchTransport\n\n```csharp\nprivate void HandleTransport(SteamId id)\n{\n    // Lorem Ipsum\n    NetworkManager.Singleton.GetComponent\u003cFacepunchTransport\u003e().targetSteamId = id;\n}\n```\n\nBy using callback from steam, you can send that information to FacepunchTransport\n```csharp\nprivate void Start()\n{\n    SteamFriends.OnGameLobbyJoinRequested += OnGameLobbyJoinRequested; // Add the callback\n}\n\nprivate void OnDestroy()\n{\n    SteamFriends.OnGameLobbyJoinRequested -= OnGameLobbyJoinRequested; // Remove the callback\n}\n\nprivate void OnGameLobbyJoinRequested(Lobby lobby, SteamId id)\n{\n    HandleTransport(id);\n}\n```\n\nAfter you got the callbacks and also changing `targetSteamId` in `FacepunchTransport`, is pretty much the same stuff with Unity Netcode For GameObjects.\n\nHighly recommend watching [DapperDino's playlist](https://www.youtube.com/playlist?list=PLS6sInD7ThM2_N9a1kN2oM4zZ-U-NtT2E) over Unity Netcode For GameObjects.\n\n## 🔗 Helpful Links\n\n* [Multiplayer Community Contributions](https://github.com/Unity-Technologies/multiplayer-community-contributions/)\n* [Facepunch Transport for Netcode for GameObjects](https://github.com/Unity-Technologies/multiplayer-community-contributions/tree/main/Transports/com.community.netcode.transport.facepunch)\n* [Facepunch Wiki Page](https://wiki.facepunch.com/steamworks/)\n* [Steamworks API](https://partner.steamgames.com/doc/api)\n* [DapperDino's playlist over Unity Netcode For GameObjects](https://www.youtube.com/playlist?list=PLS6sInD7ThM2_N9a1kN2oM4zZ-U-NtT2E)\n\n## 🆘 Support\nIf you have any questions or issue, just write either to my [YouTube channel](https://www.youtube.com/@mrrobinofficial), [Email](mailto:mrrobin123mail@gmail.com) or [Twitter DM](https://twitter.com/MrRobinOfficial).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrrobinofficial%2Fguide-unitysteamnetcodegameobjects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrrobinofficial%2Fguide-unitysteamnetcodegameobjects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrrobinofficial%2Fguide-unitysteamnetcodegameobjects/lists"}