CoherenceLiveQuery

CoherenceLiveQuery is a component used to create an area of interest, that is, an area of the world that the Client is interested in for the purpose of network traffic.

Adding a LiveQuery to the scene

A LiveQuery defines the area of interest. It is defined by its Transform's position, its extent (half the side of the cube) and also a buffer to the extent (see Hysteresis).

CoherenceLiveQuery component

There can be multiple LiveQueries in a single scene.

Working with multiple LiveQueries is an additive operation and not a subtractive one.

Moving a LiveQuery

A common approach is to place a CoherenceLiveQuery component on the camera and adjust the extent to reach as far as the far clipping plane or visibility distance.

Moving the GameObject containing the LiveQuery notifies the Replication Server that the query for that particular client has moved.

Hysteresis

When an entity moves near the edge of a LiveQuery extent, it might rapidly enter and exit the query. This can cause frequent create and destroy events, which may lead to performance degradation.

To avoid this, you can increase the buffer field on the LiveQuery. An entity is only removed from the query after it moves outside the query's extent plus the buffer. But to be added to the LiveQuery, it must enter the query's extent without the buffer.

The buffer field can also be changed during the runtime, and the Replication Server will be notified of it changing.

Limits

The Replication Server imposes limits on number of queries a Client can create. Read more about it in the Replication Server section.

Last updated

Was this helpful?