View Culling (Client LOD)
Client-side distance tiers over entity views: full detail near, animator pose-write culling in the mid ring, deactivation beyond. Whatever the game spawns gets culled and the layer never knows what the objects are. No server half and no wire — usable on its own, including by a client that only moves a camera.
Unity seams you implement 1
The client half's sockets. Bind your implementation in the client context and Crossplay's client calls it — this is where your models, animators, UI and controls plug in.
ICullingClient unity SPI
The client culling layer: assigns every world entity view a distance tier from the local player and (by default) applies the built-in actions — full detail near, animator pose-write culling in the mid ring, deactivation beyond. It never knows what a view IS; whatever the game spawns gets culled. Remove the package (or disable it in options) and every view stays full detail.
-
event Action<WorldEntityView, int> TierChangedA view moved to another tier (see CullingTier). Games hook their own LOD reactions here.
-
int CountFullViews currently at full detail.
-
int CountReducedViews currently in the reduced ring.
-
int CountCulledViews currently culled (deactivated).