ObserverManager

The ObserverManager assists in controlling what network objects each client may see.

Description

ObserverManager is used to globally customize the observer system. Observer conditions within the ObserverManager will be automatically added to NetworkObjects, unless the NetworkObserver component is set to ignore the manager.

circle-check

Settings

Default settings

⚙️ Update Host Visibility

This will hide renderers on networked objects which are hidden to host client. When true, all networked objects will be visible to the host client even if these objects would normally be despawned for the client.

⚙️ Maximum Timed Observers Duration

The maximum duration that the server will take to update timed observer conditions as server load increases. Lower values will result in timed conditions being checked quicker at the cost of performance.

⚙️ Default Conditions

These are Observer Conditions which will be added to all NetworkObjects by default.

Almost all games should utilize at least the Scene Observer Condition.

⚙️ Use Level of Detail

This will enable the LOD system and show the options for configuring it. It requires FishNet Pro.

⚙️ Maximum Send Interval

The upper limit for how long (in seconds) the system will wait between updates for objects in the furthest LOD bracket. If set to 5, the most distant objects will only receive updates once every 5 seconds.

⚙️ Recalculation Duration

This determines how quickly (in seconds) the server cycles through objects to update their current LOD status.

This value scales automatically if the server's frame rate is capped. Lower values are generally more ideal to ensure objects transition between LOD brackets responsively.

Use SetLevelOfDetailRecalculationDuration(float duration) if you want to adjust this value at run-time.

⚙️ Level of Detail Distances

This is a list of distance thresholds. Each entry defines a "bracket" for synchronization frequency.

Example: If you have two distances set to 5 and 15, FishNet will run with the following setup:

  • Near (< 5 units): Objects sync at the standard, full-speed interval.

  • Mid (5 to 14.9 units): Objects sync at a reduced "mid-tier" frequency.

  • Far (≥ 15 units): Objects sync at the maximum allowed delay.

The system uses an exponential scaling method to determine how often updates are sent for each distance bracket. This ensures a smooth transition between high-frequency updates for nearby objects and low-frequency updates for distant ones.

Last updated