Netcode for GameObjects 3.0.0 is now available

Hi everyone! In sync with the Netcode for Entities version 7.0.0 announcement, we wanted to share an update from the Netcode for GameObjects side of things and how it will be delivered starting with Unity 6.7.

What do you need to know

  • Netcode for GameObjects 3.0.0 is now live! It’s the first release built for Unity Netcode, adding Netcode for Entities as a dependency.

  • Netcode for Entities 7.0.0 is now a hard dependency. When you upgrade to Netcode for GameObjects version 3.0.0, Netcode for Entities is added to your project automatically.

  • Support starts with Unity 6.7 LTS. Unity 6000.7.0b1 is the minimum supported Editor version for Netcode for GameObjects 3.0.0. It will be included in the editor manifest from 6000.7.0b3

  • On Unity 6.6 and below, keep using Netcode for GameObjects 2.x. We will continue to support, update, and backport relevant bug fixes and improvements to 2.x for earlier Editor versions until their end of life. As always, we recommend updating to the most recent version of Netcode for GameObjects to get the latest fixes and features.

  • GitHub default branch update. For anyone who uses our public GitHub repository, the default repository branch will change from develop-2.0.0 (representing Netcode for GameObjects 2.x) to develop-3.x.x (representing Netcode for GameObjects 3.x). If you maintain forks of the repository, please update your upstream targets accordingly (we will make the change around the beginning of next week).

As announced at Unite Seoul, our initiative to bring Unity’s netcode solutions together is progressing. Netcode for GameObjects version 3.0.0 takes a hard dependency on Netcode for Entities, laying the groundwork for the unified GameObject layer we’ve been sharing in our devlogs.

Breaking changes in Netcode for GameObjects 3.0.0

The major version bump reflects changes that prepare Netcode for GameObjects for the next generation of Unity Netcode. The upgrade guide has the full details, here’s the summary.

  • Netcode for Entities is now a dependency. When you upgrade, Netcode for Entities is added to your project automatically (although it’s not actively used yet, see FAQ). Netcode for Entities creates a NetcodeConfig settings asset on project open if one isn’t already present and this is expected (we recommend checking this asset into your source control).

  • Assembly and namespace renames. To make room for the shared foundation, some Netcode for GameObjects assemblies and types were renamed (for example, Unity.Netcode.Editor → Unity.Netcode.GameObjects.Editor). Additionally, NetworkTime and NetworkTimeSystem have moved to Unity.Netcode.GameObjects.Timing. These changes carry [MovedFrom] attributes, so the script updater migrates your code automatically on project open.

    • Let the script updater run when it prompts you, it should handle the namespace and assembly-reference changes automatically.
  • Some obsolete APIs are now errors. A handful of long-deprecated APIs (warning for several versions) will now throw errors.

What do you need to do?

  1. Let the script updater run when prompted. It handles the namespace changes.

  2. Replace obsolete APIs that now raise compile errors with supported alternatives.

  3. Read the upgrade guide for the full details of what’s involved in upgrading.

Editor and version support

  • Unity 6.7 LTS is the minimum supported Editor version for Netcode for GameObjects 3.0.0.

  • Unity 6.6 and below continue to use Netcode for GameObjects 2.x. That package version will continue being updated with bug fixes for the duration of those editors support

FAQ

  • Does Netcode for GameObjects 3.0.0 actively use Netcode for Entities? No, the hard dependency has been added to prepare for the future of Unity Netcode.

We appreciate your support as we improve our Netcode solutions. If you have feedback or questions please share in this thread and the team will be happy to respond.

9 Likes