com.unity.netcode 1.8.0

com.unity.netcode

Source docs
Notes: processedReleased August 19, 2025

Browse versions

PreviousNext

Unity Compatibility

Minimum Unity: 2022.3 (20f1)

Package Dependencies

Features

  • The Playmode Tool's Importance Visualizer drawer that helps visualize Importance Scaling outcomes.
  • The `GhostDistancePartitioningSystem.AutomaticallyAddGhostDistancePartitionSharedComponent`, which allows you to opt-out of the default behaviour (of always adding a `GhostDistancePartitionShared` to all valid ghost instances), enabling you to filter your importance scaling on the existence of this shared component (without having to rip out the entire implementation).
  • Test coverage of `GhostImportance.BatchScaleImportanceFunction` and `GhostImportance.ScaleImportanceFunction` has been improved (via NetcodeSamples tests), particularly in cases where the `GhostDistancePartitionShared` (or user-code equivalent) is only added to a subset of all ghosts (i.e. used as a filter).
  • Support for Forced Input Latency via `ClientTickRate.ForcedInputLatencyTicks`, with new fields `NetworkTime.InputTargetTick` and `NetworkTime.EffectiveInputLatencyTicks`, and new input system `ApplyCurrentInputBufferElementToInputDataForGatherSystem` (which was needed to correctly handle `IInputComponentData` incremental values).
  • `NetworkTime.NumPredictedTicksExpected` denotes the (un-batched) number of predicted ticks that the client is expected to run within this prediction loop update.
  • [Experimental] Server and Client Profiler Modules for the Unity Profiler Window as an alternative to the web profiler. Adds new stats and includes per-component stats. Requires Unity 6 or newer. Set the script define NETCODE\_PROFILER\_ENABLED to enable this feature.

📈 Improvements

  • **Behaviour Breaking Change:** `GhostDistanceImportance` scale functions no longer multiply the `baseImportance` by 1000, as that is now performed automatically by the `GhostSendSystem` (see new `GhostSystemConstants.ImportanceScalingMultiplier` constant), removing the final importance 1000x discrepancy between ghost chunks that use importance scaling, and ones that don't.
  • Input systems that write the `NetworkTime.ServerTick` into `AddCommandData` calls should instead use `InputTargetTick` for correctness. This value only differs from `ServerTick` when input latency is encountered (see `ForcedInputLatencyTicks` and `MaxPredictAheadTimeMS`).
  • `NetworkTime.ToFixedString` output has been extended to reflect the new Forced Input Latency data.
  • Updated com.unity.transport dependency to 2.5.3 from 2.4.0

🔧 Bug Fixes

  • Instead of constantly mispredicting, `MaxPredictAheadTimeMS` will now correctly add forced input latency to the client when said clients RTT is higher than this value.
  • A potential crash with buffers and prediction switching stripping when your prefab contained a non-zero sized IBufferElementData that was marked for prediction/interpolation only. When restoring any buffer to their prefab value, the wrong length was used, potentially leading to a memcpy overwriting memory.