As we announced previously, the Netcode for Entities package became part of the editor (core package) from 6000.5 and now we wanted to make an announcement as this editor went out of beta phase.
To provide a recap, what we initially included in the editor was in parity with the 1.12.0 version of the standalone package and those have diverged since then. As N4E is now part of the editor in order to see Netcode changes refer to editor release notes but we also updated our Changelog in 6000.5 editor (6000.5.2f1 to be precise) to give you an easily accessible Netcode-focused summary
To help you get started with the core package version, we have updated our public NetcodeSamples repository. Please refer to the NetcodeSamples/6000.5 branch for compatible examples and updated implementation.
Note that if you use 6000.5 editor then you HAVE TO use the core package version but we remain committed to support our previously available N4E package for lower editors until the end of their official support period.
This means that we will backport any needed quality of life improvements and bug fixes (for example we just released 1.14.0 package version!) but if you want access to our latest features then we recommend to use latest editor as itâs often quite difficult if impossible to backport some stuff
Below please find a summary of what landed in 6000.5 editor that is not present in standalone package version (same list as we included in the Changelog I mentioned but without changes present in the standalone package):
Feature
- Integrated the Netcode for Entities package as a core package which starts in parity with 1.12.0 version of standalone package.
Changes/Improvements
MaxSendRate is now bypassed when ArchetypeChunk structural changes (i.e. order changes) occur, so that ghost spawns and deletions are not delayed or rate-limited. Note that bandwidth consumption may increase marginally.
- Improved the readability of byte values in the Ghost Snapshot Tab of the Netcode Profiler.
- Removed the âmust be a serialized componentâ limitation from the
GhostComponentVariation dropdown selection in the GhostAuthoringInspectionComponent, as non-serialized components already support things like PrefabType stripping, just not explicitly. Handling of invalid ComponentOverrides has also been improved.
Fixes
GhostRelevancyMode.SetIsIrrelevant now respects false values being written to PrioChunk.isRelevant from the batched importance function, which enables use of this relevancy fast-path when in this mode.
- Fixed an issue in the netcode profiler where tick navigation was inconsistent when capturing more than two sessions without clearing the profiler.
- Fixed an issue in the Netcode Profiler where an incorrect prediction tick value was displayed in the Prediction and Interpolation Tab.
Ultimately for Netcode case this editor works more as a transition so it shouldnât be much different to previous standalone package (main difference being that itâs now a core package). Stay tuned for more features and improvements in future editors and as always let us know your thoughts 
Current future ideas
We are also exploring the creation of a âmirror repoâ in a similar style as Netcode for Gameobjects repo to provide developers with continued visibility into development (especially Netcode unification) while allowing for more direct discussions/contributions options. Please let us know what you think about this and stay tuned for more updates on this initiative!
4 Likes
Hey, thanks for the update.
Could you please explain why some packages become part of the editor? Whatâs the idea behind it?
Mostly itâs to make it easier to evolve the packageâs code along with the core engine code. For example right now thereâs a lot of work ongoing to more tightly integrate Entities into the rest of the engine (âEntities for Allâ). With Entities as a separate package, weâd need to coordinate package releases with engine releases when doing large changes or moving APIs.
It doesnât look like it, but coordinating releases like that can really kill velocity. As a core package, the package is automatically updated with new editor releases instead. We can make a single PR that changes both the engine and the package and not have to worry about what happens if say you install a version of the package in an editor that doesnât have the corresponding core engine change.
For Netcode for Entities specifically, the reason was that Entities itself moved to a core package. Makes it easier to keep up with changes happening there.
11 Likes
Does it mean that source code of a package wonât be available for public once itâs a part of the Editor?
The C# source code for the core engine is available for reference online: GitHub - Unity-Technologies/UnityCsReference: Unity C# reference source code. ¡ GitHub
It went without updates for a long while though looks like itâs finally been updated to show Unity 6.6.
3 Likes
If the keyword is built-in package then itâs still available inside the installation directory. For example:
6000.5.0f1/Editor/Data/Resources/PackageManager/BuiltInPackages
When a built-in package is installed into your project, you can look for its source code inside Library/PackageCache.
On the other hand, if itâs built-in module then you can only look for reference source code at the UnityCsReference repository.
3 Likes
Exactly as @Laicasaane mentioned. Since weâre currently a core package, you can still view and modify the code for your specific needs.
The mirror repo idea came from our positive experience with community collaboration in the Netcode for GameObjects repo (which is public). Since most of our GameObject layer changes land in the latest alpha/beta editors, we donât expect a large user base on those versions yet, so weâre still figuring out the best way to gather early feedback.
That said, this is just an idea at this stage, not a promise or commitment. Weâre simply gauging whether the community would find it valuable!
6 Likes
Hi everyone,
I want to apologize for a mix-up in terminology in my original post (I updated it). I mistakenly used the term âbuilt-in packageâ when describing how Netcode for Entities is distributed starting in Unity 6000.5. To clarify:
- Netcode for Entities is a Core Package starting in 6000.5. As per the Unity Core Packages Documentation, its version is locked to your Editor installation and cannot be updated via the Package Manager registry. However, because it is a source-code-based Core Package, you can absolutely still modify it. It will automatically be imported into your projectâs
Library/PackageCache/ folder, and you can pull it directly from there into your local Packages/ folder to override it and edit the code.
- It is NOT a âBuilt-in Package.â According to the Unity Built-in Packages Documentation, those are just toggles for native engine modules and cannot be pulled locally or edited.
Sorry for the confusion this caused. Let me know if you have any further questions.
7 Likes