Lobby System
An s&box library that does the boring, fiddly part of a networked game for you. Drop it into your project and you get auto-hosting, Citizen players with a working third-person controller, and a small lobby/round framework you build your own gamemode on top of.
It stays out of your way. The framework never needs to know what your game is; you write the rules.
What you get
- Auto-hosting.
LobbyNetworkManager opens a lobby on launch (Steam friends can join) and keeps one networked player per connection, plus optional bots. - A real player. The example
LobbyPlayer uses the standard Citizen with WASD, run, jump, a third-person camera, and animation. The owner drives it; proxies stay in sync and wear the right avatar. - A lobby to round to lobby loop.
LobbyDirector runs a free-roam lobby, an in-world button that opens a mode menu, a synced countdown, and the return to the lobby afterwards. Ignore the round side and it's just a free-roam multiplayer sandbox. - One clean extension point. Write your gameplay as an
IGameMode; make any pawn lobby-aware by implementing ILobbyAgent.
Installing it
This library lives in Libraries/LobbySystem. To use it in your own game, copy that folder into your project's Libraries/ folder and commit it. The editor's Library Manager will pick it up, and your game code can use any of its types.
The repo itself is a small game project so you can open it and press Play to see everything working before you pull it in.
Quick start
- Open the project and press Play on
Assets/scenes/demo.scene. You spawn as the Citizen and can run around. Host and have a friend join over Steam to see the networking. - Write your gamemode: implement
IGameMode (starting roles, win condition, result text) and list it in an IGameModeCatalog component. ExampleMode is the reference. - Use your own player: edit
LobbyPlayer, or put ILobbyAgent on your existing pawn. The framework only needs IsBot, DisplayName, InitAgent, ResetForRound and TeleportTo.
Docs