Netcode for Entities 1.12.0 is now live! ![]()
This release has major changes in the Network Profiler in addition to a few bug fixes.
Key Updates in This Release
Network Profiler Tool now official!
The integrated Network Profiler is now a stable, officially supported feature, ready to help you optimize your multiplayer game!
Dive deep into your network traffic directly within the Unity Profiler (Unity 6+) and:
- Diagnose Network Spikes: Identify performance issues with a frame-by-frame graph of your entire network stream and easily navigate your traffic tick-by-tick.
- Analyze Snapshot Data: Use the Snapshot Overview to get a detailed breakdown of your network traffic by ghost and component type.
Learn more in our official documentation.
Behavior breaking changes
There are a couple of (potential) behaviour breaking changes.
- The
GhostAuthoringComponentbaker no longer adds a transform to their entity, this needs to be added by a user baker explicitly. - The order of
GhostFieldvariables in a component are now taken into account when calculating the component hash (before this would have worked but values would be landing in the wrong variables).
We’re excited to bring you these updates and can’t wait to see how they help with your projects
. Let us know if you have any questions or feedback!
Happy Netcoding!
Added
-
Netcode profiler now supports tick-based navigation through a new title bar that has buttons to jump to the next or previous frame where a snapshot was sent or received. It also allows the selection of the corresponding tick on the client or server side.
-
Search fields for the ghost snapshot tree view and prediction error list view.
-
The Netcode Profiler now shows the values of the client prediction tick and the interpolation tick in the Prediction and Interpolation Tab.
-
Editor analytics for the netcode profiler.
Changed
-
Bumped com.unity.entities dependency from 1.4.2 to 1.4.4
-
The Netcode Profiler is now an officially supported feature. It is accessible via two new modules in the Unity Profiler for Unity 6.0 or newer. For further reading, refer to the documentation here.
-
Internal changes for prefab registration when using the future gameobject layer. Prefabs can now be registered before world creation and thin client worlds will work.
Deprecated
- The browser-based Network Debugger has been deprecated in favor of the new Netcode Profiler.
Removed
- The
NETCODE_PROFILER_ENABLEDscripting define is no longer required and has been removed.
Fixed
-
Several small fixes for the netcode profiler
-
Behaviour Breaking Change:
GhostAuthoringComponentBaker’sTransformUsageFlags.Dynamichave been changed fromTransformUsageFlags.None, as this package does not actually require them. If your ghost does need Transform components, specify that need via your own bakers. -
Issue where the
GhostDistancePartitionSharedchange filtering optimization added in 1.5.0 didn’t apply correctly to theUpdateTileIndexJob, because theWithChangeFilterattribute only works forIJobEntitys, and thus silently failed on theIJobChunk. -
The Netcode Profiler now correctly shows and considers the number of snapshots sent or received per tick.
-
Potential Breaking Change Fixed an issue where it’s possible for a client with a different state serialization schema to connect to a server without triggering a hash check. This can happen if changing the order of ghost fields for example. This might require you forcing an update on your game clients.
-
Newly spawned ghosts on the clients will now correctly apply snapshots when always hitting a full tick on the client, which would happen in cases where you have the server and client world in the same application using the IPC socket, and with the framerate being exactly equal to the simulation tickrate.