Guide for Unity Unreal Godot
Unreal Engine

Unreal Engine guide

Multiplayer with no server to run and nothing to configure. The plugin bundles a local game server that starts when the game connects. Blueprint components handle input, movement, and facing — server-authoritative by default.

Shipping NullTickRuntime plugin  ·  UE 5.6+  ·  Blueprint + C++

There is no Unreal SDK download yet. The plugin isn't published — no link on this site, no public URL anywhere else. This guide documents the SDK as it ships so you can judge the design now; the install steps below aren't something you can run today. Tell us what you're building and we'll follow up when it's out.

Quickstart

From zero to multiplayer

Server settings live in one place: Project Settings > Plugins > NullTick. Leave Server Mode = Local (default), port 9999, Default Room 1.

  1. Add a connection. On any actor (GameMode, pawn, or empty manager), add the NullTick Connection component. Connect On Begin Play is on by default; the bundled server starts (or is reused) when it connects.

  2. Make the pawn move. On your player pawn, add:

    • NullTick Player Controller — Control Style: FPS, Third-person, Top-down, Click-to-move, or None. Fields change with the style; it can spawn and drive a camera.
    • NullTick Movement Sync — moves the pawn to match the server.
    • NullTick Rotation Sync — turns the pawn to match server-agreed facing.
  3. Press Play. WASD moves; what you see is server-authoritative.

Units. One NullTick world unit is one meter. Components convert to UE centimeters for you (camera fields like Orbit Distance read in cm, e.g. 750).

#1 gotcha — Local is Windows zero-setup. The bundled host is a Windows program. For other setups, use Live via the dashboard or a reachable host.

Install

Drop the plugin into your project

  1. Copy the plugin folder into your project as Plugins/NullTick/ (contains NullTick.uplugin, NullTickRuntime / NullTickEditor, and the native library under ThirdParty/NullTickLib/).

  2. Open the project and enable NullTick in Edit > Plugins if needed.

  3. Confirm Project Settings > Plugins > NullTick: Server Mode Local, port 9999, Default Room 1.

The runtime module is NullTickRuntime. It verifies the native ABI at startup and logs when the plugin loads cleanly.

Player

Controllers, movement & facing

Tune real MoveSpeed / TurnSpeed knobs — not magic injection scales. Controllers cover FPS, third-person, top-down, click-to-move, and None for turn-based or custom input. Movement and rotation sync components apply what the server decided.

Clients send rates, not coordinates. A player standing still sends almost nothing. A client cannot move itself — position is the server's own integral and speed is clamped server-side, so there's nothing on the movement wire to forge mid-game.

Demos

See it working first

In any level (even empty), set World Settings > GameMode Override to a demo mode and press Play — each spawns floor, light, pawn, and content:

  • NullTickDemoGameMode — basic wandering-agents demo
  • NullTickArenaGameMode — every feature in one arena
  • NullTickSurvivalGameMode — Last Light (survival)
  • NullTickFarmingGameMode — Sprout Valley (farming)

Multiplayer

See a second player

Run a second instance on the same computer (packaged build alongside PIE). Both join the same local server and room. Two machines need a reachable server: Live via the dashboard link, or self-hosting.

Rooms

Rooms & lobby

Join, create, and list rooms from the connection / Blueprint API or the editor dashboard. Rooms isolate who sees whom; one host serves many rooms. Entity ids are unique within a room.

Messages

Chat, RPC & reliable events

A reliable channel carries chat, RPCs, and custom events — in order, even when packets drop. Blueprint-callable send/receive is on the connection subsystem and dashboard Messaging tab.

Rule of thumb: continuous values → NetVars. Discrete moments (death, item grant, muzzle flash) → reliable events.

Network variables

Health, gold & game state

Create a NullTickVarSchema data asset (name + step rows), assign it on the NullTick Connection, and read with GetVarValue / On Var Changed (Blueprint-ready). Server-authoritative: clients read; authority writes. Unchanged values send nothing.

Spawned objects

Pets, mounts & projectiles

  1. On the spawnable actor, add NullTick Network Object (archetype number, spawn/despawn, follow-owner).

  2. Next to your connection, add NullTick Remote Objects and map archetype → actor class so remote replicas appear automatically.

Persistent movers are objects; one-shot VFX should be reliable events.

Editor tools

NullTick Dashboard

Tools > NullTick Dashboard — server status (with Start now for the local host), ping, stats, chat, and rooms. Works as an editor test client without PIE; binds to the live connection during play.

Production

Going live

You can't provision a managed server yet. Managed online hosting isn't available, so there is nothing for Live to point at unless you run a host yourself. Local mode works today — the bundled host starts on Play — and that is where testing belongs for now. (Our own showcases, like CapTown in the demos, run on hosts we operate.)

When managed hosting lands: Dashboard Production settings takes a one-time link code from app.nulltick.com and fills host, App ID, and API key into Project Settings. App ID ships in the build; API key stays managed-tier.