Skip to Content

Session Lifecycle & States

This document describes connection/session state handling in the current PlayServ Unity SDK.


Runtime states

PlayServ.State values:

  • Offline - disconnected.
  • Connecting - websocket connection in progress.
  • Handshaking - transport is up, handshake is in progress.
  • Online - fully connected and operational.
  • Reconnecting - reconnect attempt is running after connection loss.

Accessing state

PlayServ.State // Offline, Connecting, Handshaking, Online, Reconnecting

Tracking state changes

private PlayServState _lastState = PlayServState.Offline; private void Update() { if (PlayServ.State == _lastState) return; _lastState = PlayServ.State; Debug.Log($"PlayServ state changed: {_lastState}"); }

Operational guidance

  • Call gameplay network actions when state is Online.
  • Treat Connecting, Handshaking, and Reconnecting as transitional states.
  • If state returns to Offline, reconnect explicitly if your flow requires it.

Error context

Use transport error callback for additional diagnostics:

PlayServ.OnTransportError += error => { Debug.LogError($"Transport error: {error}"); };

Summary

Session lifecycle is represented by PlayServState and should be observed through PlayServ.State plus transport error callbacks.

Last updated on