Quick answer: Construct 3 Photon's async initialization causing the first event to fire before connect? Subscribe to PhotonReady event before any RPC calls.
Game start fires a 'request state' RPC; Photon not yet connected; RPC fails silently.
Wait for Photon ready
Subscribe to PhotonReady; queue early RPCs; flush on ready.
Or use a state machine
States: Disconnected, Connecting, Connected. Each gates allowed actions.
Pre-queue RPCs
Queue messages during connecting; send after connection. Lossless.
“Async init has its own timing. Code that runs before is the bug surface.”
For multiplayer, the connection state machine is foundational. Plan it.