Skip to article Developer portalAnnounce, upload and sell your game

GAMENIGHT / DOCUMENTATION

Engine support

Which engines GameNight supports, how far, and where to start. Pick the row for your engine, then follow its guide. If your engine is not listed as Full, read its open work before you start: you write that part yourself.

Support levels

Engine Level Start with Games using it
Godot 4 Full sdk/godot addon Spaceracer, Ballkickers, Growing Guns, Frog Fighter, Downhill Rush, The Voice and the Will
LÖVE / Lua Full Shared party runner Blast Party, Neon Trails, Neon Siege, Ricochet Club, Volley Trouble, Stack Together, Bubble Buddies, Hexstead
Rust / Bevy Partial gamenight-sdk crate Demo game, Bevy lobby
C / C++ Partial sdk/c/gamenight.h None yet (transport example only)
Unity Protocol only Wire protocol None
Unreal Protocol only Wire protocol None
Other engines Protocol only Wire protocol Mineclonia (Luanti, game-specific adapter)

Features per engine

"SDK" means the SDK does it for you. "You" means the protocol carries it but your game code must handle it. "No" means the SDK cannot do it yet.

Feature Godot 4 LÖVE Rust C / C++ Unity / Unreal
Connect, hello and launch token SDK SDK SDK SDK You
Prepare, Ready, Start, Pause, Resume, Dispose SDK SDK SDK SDK You
Controller input per seat SDK (frame_for_seat) SDK You (typed frames) No You
Hidden preparation and taking the screen SDK (GameNightScreen) SDK You You You
Match settings from the lobby and phone SDK SDK SDK SDK You
Player names, colours and faces SDK (face.gd) SDK (shared.face) You (avatar decoding included) No You
Phone screens for each player SDK You SDK No You
Performance diagnostics SDK SDK You (manual samples) No You
Headless contract test in CI Yes Yes Yes Compile only No
Keep the SDK copy current sync.py and CI check Pinned game sources Cargo revision Copy the header n/a

Open work

This list doubles as the roadmap for engine support.

For agents and code generators

Use this page to choose an approach, then read only the guide for that engine. Do not invent an SDK where the table says "You" or "No": implement that part against the protocol reference and the controller rules. Before calling an integration done, run the integration checks.