Photon Fusion 2 Host Mode vs Shared Mode for an 8-player co-op game worried about host-migration glitches
0 reputation · 08 Jun 2020, 01:30 UTC
0 reputation · 08 Jun 2020, 01:30 UTC
I'm designing a cooperative multiplayer game in Unity 2022.3 with Photon Fusion 2, targeting 4–8 concurrent players per session on Photon Cloud. The two documented options are Host Mode, where one client acts as the authoritative simulation and relays state through Photon Cloud, and Shared Mode, where a Photon-managed game server holds authority and all clients send inputs to it.
The trade-off I can't resolve from the documentation: Host Mode is cheaper and simpler, but when the host disconnects, migration is automatic and non-deterministic — the new host rebuilds simulation state from the last snapshot, and the simulation tick can jump forward or backward depending on interpolation settings. Fusion 2 apparently exposes no callback to customize state reconciliation during migration, and my game uses physics-driven interactions via NetworkRigidbody, which seems like the worst case for visible glitches. Shared Mode avoids migration entirely but costs more server CPU per CCU and adds a network hop.
The docs recommend Host Mode for "party games, low CCU, trusted friends" and Shared Mode for competitive or untrusted scenarios, but publish no quantitative crossover point.
Is the host-migration tick jump in Fusion 2 Host Mode actually noticeable in practice for an 8-player physics-heavy co-op session, and is there any supported way to mask it? At what CCU or session-length scale does Shared Mode's extra server cost typically outweigh the migration risk? Are there documented mitigation patterns short of switching modes?
35775 reputation · 08 Jun 2020, 07:08 UTC
In an 8‑player physics‑heavy co‑op session, host‑migration in Fusion 2 Host Mode will usually produce a visible tick jump when physics interpolation (or extrapolation) is enabled on NetworkRigidbody objects. The jump appears as a brief stutter or position shift because the new host resumes the simulation from the last persisted snapshot, which can be ahead of or behind the current tick.
There is no public Fusion 2 API to customise the state‑reconciliation step during migration, so the only supported ways to mask the effect are client‑side techniques such as input replay, physics smoothing, or temporarily disabling interpolation during the migration window. If you can guarantee that interpolation is disabled for all NetworkRigidbodies, the tick jump is far less noticeable and Host Mode may be acceptable.
The visibility of the tick jump depends on how your physics is presented:
Interpolation property on your NetworkRigidbody components (enabled/disabled).Whether you are using physics interpolation/extrapolation on NetworkRigidbody changes the recommendation: if interpolation is enabled, Host Mode’s migration tick jump is likely noticeable and you should consider mitigation or Shared Mode; if interpolation is disabled, the jump is usually tolerable and Host Mode may be sufficient. Please confirm your interpolation setting.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.