Hello everyone! We’ve just published a new version of Entities and other ECS-based packages compatible with Unity 2022.2 Tech Stream.
Getting started
If you are just getting started, refer to our installation and setup guide in our documentation to help with project setup. We recommend using these packages with Unity 2022.2.6f1 and above. You can find the changelog for the latest editor version here.
We also have the following samples and documentation available for you to get started quickly:
Megacity: A sample showcasing how you can stream thousands of entities into the game scene at a stable 60 FPS, with thousands of active physics colliders and dynamic vehicles actively performing collision avoidance.
Rival Character Controller: For users looking to quickly jump into building their game, the Rival Character Controller is available and compatible with the pre-release of ECS for Unity, including documentation and implementation samples.
DOTS Guide, ECS Samples, and Learn Content: Resources that are especially useful for new users to learn about fundamental concepts of data-oriented design.
ECS Network Racing: A multiplayer racing sample showcasing the capabilities of Netcode for Entities and how you can easily build a multiplayer game out of the box. This sample exemplifies an implementation of client/server architecture with client-side prediction, interpolation, and lag compensation.
Notable Highlights
Here are some of the notable highlights from this release. For a full list of changes in each package, refer to the changelogs in our documentation (linked below):
Implement ISystem methods (OnCreate/OnUpdate/OnDestroy) are now default interface methods. These no longer need to be defined in the struct implementing the ISystem interface if they are not used.
ISystem now doesn’t need BurstCompile on the struct. Thus bursting a system simply means to put BurstCompile on either OnCreate, OnStartRunning, OnUpdate, OnStopRunning, or OnDestroy.
Added HelpURL linking various Netcode for Entities components to relevant documentation.
EnablePacketLogging component is now public to allow for per-connection debug information.
GhostUpdateSystem now supports Change Filtering, so components on the client will now only be marked as changed when they actually are changed. We strongly recommend implementing change filtering when reading components containing [GhostField]s and [GhostEnabledBit]s on the client.
Exposed NetworkTick value to Entity Inspector
Fixes and improvements to the GhostAuthoringInspectionComponent Inspector.
Sharing feedback
This forum is the best place to open discussions and ask questions.
If you encounter a bug, please use the Unity Bug Reporter in the Unity Editor, accessible via Help > Report a Bug. Include the name of the package (with version number) in the title to help our team triage things appropriately.
To learn more about what we are working on, you can refer to this post and our public roadmap where you can share feedback and submit ideas.
Thank you again to everyone who has continued to take the time to share feedback. We look forward to hearing from you!
Absolutely fantastic changes, especially on the core Entities package. The quality of life changes such as no longer requiring OnCreate/OnDestroy methods have really made my day.
And caught by Tertle on the discord: Unity.Animation → Unity.Motion. Hrmmmmm???
The dots 1.0.0-pre44 packages keeps throwing the following error. Removing the Entities Graphics package causes the error to go away. Experienced on Unity Editor 2022.2.7f1.
Since upgrading from pre.15 I keep getting an error that my aspects don’t implement interface member IAspectCreate.AddComponentRequirements. Its the same thing if I create a brand new 3D URP project in 2022.2.7f1 and add com.unity.graphics. As soon as I create an aspect I get this error.
i had some error about inputsystem inputaction “already register by typemanager”, i tried everything (including remove all entity packages + inputsystem packages) but i had to make a new project and reimport all my scripts to fixe it.
Plus i have a strange bug where every time i place a script on my gameobject it’s added twice, not a serious issue but weird… someone has this issue too?
The best thing is: No more warnings, no more errors. (so far) Neither at build time, nor at run time.
Much, much needed cleanup of a release, I’m very happy with it so far!
I have URP installed. I have since found out that for me this error occurs in 2022.2.6f1 and 2022.2.7f1. If I create a project in 2022.2.5f1 with DOTS 1.0.0.pre-44 then no such error occurs.
Yes, ECS for Unity is supported on VR platforms as well. We’re still working on doing more robust testing, but if you encounter any difficulties, please raise a bug so we can triage and fix them accordingly. Thank you!