Netcode for Entities 1.7.0 released

:package: Netcode for Entities 1.7.0 is now live! :package:

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 PreparePredictedData was not being called on GhostPlayableBehaviour, breaking GhostAnimationController functionality.
  • Issue where NetCodeConfig.EnableClientServerBootstrap was not visible within the NetCodeConfig.
  • Issue when running a webgl player where you could not connect or receive connections from non-webgl platform players.
Changed
  • Removed ENABLE_HOST_MIGRATION define which hid the host migration feature, it’s now enabled by default. This also enables by default the NetworkStreamIsReconnected component which works without host migration.
  • Refactor host migration API
    • Removed MigrateDataToNewServerWorld/ConfigureClientAndConnect helper functions. They’ll be in the docs and sample instead.
    • Renamed HostMigrationUtilityHostMigrationData and in that class renamed Get/SetHostMigrationData to Get/Set (class only contains data methods) with parameters reflecting directionality of data buffer and world. Removed TryGetHostMigrationData, use Get instead (native list version).
    • Removed DataStorageMethod as it no only has one enum value.
  • 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 Simulate while ignoring enabled state with EntityQueryOptions.IgnoreComponentEnabledState in the prediction loop.
2 Likes