Netcode for Entities 1.7.0 is now live! ![]()
With this version the host migration feature is now no longer hidden behind a define and is enabled by default. There is a big performance improvement related to gathering ghost data for the host migration data buffer and we’ll continue to improve this part of the feature further. There was a refactor of the public API so expect breakages if you use this feature, but it should all be trivial to fix (mostly renames). Two functions MigrateDataToNewServerWorld and ConfigureClientAndConnect were removed as these are mostly helper functions and can be project specific (they were added to the docs and samples).
This version also fixes a regression related to GhostPlayerBehaviour and GhostAnimationController in addition to other fixes and quality of life improvements.
Fixed
- Issue where
PreparePredictedDatawas not being called onGhostPlayableBehaviour, breakingGhostAnimationControllerfunctionality. - Issue where
NetCodeConfig.EnableClientServerBootstrapwas not visible within theNetCodeConfig. - Issue when running a webgl player where you could not connect or receive connections from non-webgl platform players.
Changed
- Removed
ENABLE_HOST_MIGRATIONdefine which hid the host migration feature, it’s now enabled by default. This also enables by default theNetworkStreamIsReconnectedcomponent which works without host migration. - Refactor host migration API
- Removed
MigrateDataToNewServerWorld/ConfigureClientAndConnecthelper functions. They’ll be in the docs and sample instead. - Renamed
HostMigrationUtility→HostMigrationDataand in that class renamedGet/SetHostMigrationDatatoGet/Set(class only contains data methods) with parameters reflecting directionality of data buffer and world. RemovedTryGetHostMigrationData, useGetinstead (native list version). - Removed
DataStorageMethodas it no only has one enum value.
- Removed
- The ghost component serialization method in the host migration feature changed to a much better performing one.
Added
- A warning will now appear if you have a query involving
Simulatewhile ignoring enabled state withEntityQueryOptions.IgnoreComponentEnabledStatein the prediction loop.