NullTick // the demos

Two demos. Zero networking code.

The Unity SDK comes with two demos: the Playground, where everything moves, collides and gets thrown, and Tic-Tac-Toe, where nothing moves at all. Every genre sits somewhere between the two. Both are assembled entirely from drag-and-drop components, and the server decides every outcome.

Read the guides How it works Shipping today

PlaygroundTic-Tac-ToeCapTown (proof of concept)

01 — Action and physics · Unity

The Playground

Everything moving at once, and a server that decides all of it.

A first-person test ground with a sign beside every feature. Walk, run and jump over slopes, stairs, ledges and hills; ride a moving platform; bounce on a trampoline; push, pick up and throw crates; get in the car and drive; throw a grenade; draw a bow or fire a cannon. Open a second player and everything you do, they see — because the server decided it once, for both of you.

Every number a player feels — move speed, jump, mass, throw strength, damage — is a value the server owns. Set it on the component; the server uses it, and every player receives it.
In the demoBuilt from
Walking, running, jumpingThe player component — the client sends input, the server works out where you are
Walls, slopes, stairs, hillsThe scene's own colliders, baked and enforced on the server
Bumping into players and cratesOne collision rule for every body; the heavier one pushes the lighter one
The ghost doorCollision layers — Unity's own layers decide what passes through what
Trampoline, grenade blastsForces on bodies; a blast can throw a player
Carrying and throwing cratesServer-decided pick up, carry, drop and throw
Bow and cannonProjectiles whose arc comes from their stats; arrows stick where they land
The car and the cratesRoom objects — owned by the room and shared by everyone in it
Health and damageServer-owned values; an attack is a request the server checks

02 — Turn-based · Unity

Tic-Tac-Toe

The smallest honest proof that turn-based belongs on an event-driven engine — no movement, no positions, no tick.

Two players, one board, alternating moves. A turn is an event, and the board is whatever the move stream says it is. It's deliberately two-player or nothing: placing both the X and the O yourself isn't multiplayer, so one menu item starts the second player for you.

Zero configuration, and that's the demonstration: an empty project, the package from one git URL, import the demos, press Play. No config asset, no server address, no account — the server ships inside the package and starts itself.
In the gameBuilt from
MovesThe reliable event channel as the turn engine — exactly-once and in order, so the board is deterministic from the move stream
Whose turn, the scoreNetwork variables
The second playerA room — one menu item opens the other seat
No player movement at allNothing: a turn-based game never takes a movement seat

Proof of concept · In your browser

Not an SDK demo — a proof of concept: a shared town square, running in the tab you're already in.

No install, no account, no download step. Click the link, wait out the load, and you're standing in a town square on a real server — pick a look, walk around, talk to whoever else is in there.

The HUD carries a live packets/sec readout. When the square is quiet, stand still and watch it fall — that number is the whole argument, and here you get to watch it move instead of reading a claim about it. It won't hit zero: this demo is set to send a position update once a second as insurance, so a single player standing still settles near ~1/s rather than at silence.

It's a tech showcase, not a game — the art is placeholder grey boxes; the networking is the finished part. Expect a ~54 MB first load (roughly 15–30 seconds on a decent connection), and bring a keyboard and mouse: it's WASD, desktop-first, and untested on phones. Whatever it says for players online is the real count — and right now that count is small.
In the demoBuilt from
The squareA room; everyone standing in it is a networked entity
WalkingServer-authoritative — the walls are baked and enforced on the server, not in your tab
ChatThe reliable event channel — in order, exactly once
Your lookNetwork variables
The connectionA WebSocket, because a browser can't speak UDP

How they're built

The netcode is the part you never write.

Both demos were assembled from inspector components — connection, movement, collision, network variables, rooms, events. The gameplay is glue a beginner could follow; the networking underneath is a component you drop in, not code you author.

2demos in the Unity SDK — the Playground and Tic-Tac-Toe, from one component set
1engine shipping today — Unity; Unreal, Godot and the browser are in development
0lines of networking code written — all drag-and-drop

And in both, the same thing shows on the stat panel: the packet count tracks what's actually moving. Stop moving, and it falls to the keepalive floor.

Open Unity and build your first one.