Choose Fusion's Shared Mode or Host/Server Mode during NetworkRunner initialization; for authoritative simulation, use Host or Server Mode where the server owns simulation authority.
Define networked state in NetworkBehaviour-derived components using [Networked] attributes on properties; Fusion automatically synchronizes these to all clients each tick.
Implement INetworkRunnerCallbacks and use the FixedUpdateNetwork method for all gameplay logic that must be deterministic and tick-aligned, keeping rendering separate in Render.
Enable client-side prediction by implementing IPredictedSpawnBehaviour or using NetworkTransform with interpolation; Fusion re-simulates local ticks when corrections arrive from the server.
Use PlayerRef and InputAuthority to determine which client controls a given NetworkObject; collect input in OnInput (INetworkInput) and apply it inside FixedUpdateNetwork only when HasInputAuthority.
Tune interpolation and prediction window via NetworkProjectConfig settings; monitor the Simulation Statistics overlay in the editor to diagnose excessive resimulation or input loss.
Known gotchas
Any non-deterministic operation (e.g., Unity's Random, Physics.OverlapSphere with non-deterministic results) inside FixedUpdateNetwork will cause prediction divergence and constant corrections.
Networked properties changed outside FixedUpdateNetwork (e.g., in Update) are overwritten by the next tick sync; all state mutations must happen in the tick loop.
Fusion's tick rate defaults may not match your target frame rate; set simulation tick rate explicitly in NetworkProjectConfig and design gameplay systems around ticks, not frames.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp