Dev Log 11: Entities preview 0.8.0

One of the most difficult parts of working on this project has been the use of Unity DOTS. Unity DOTS is very much in is early infancy stages being that is a preview package. This being a solo developed project is is mildly insane of me to use DOTS. The documentation is highly technical. Tutorial available are either extremely based or outdated from the initial announcement of Unity ECS. Unity’s over examples going from rotating a cube  to an advance Boids system. In fact, if you are reading this, most likely you are looking for help with some unclear console error message.

2020-03-22 11_56_42-ECS IAUS sytstem - Influence Map work area - PC, Mac & Linux Standalone - Unity

Vague Error Message

On March 13, Unity release Entities package Preview 0.8.0. And with it have disrupted my entire knowledge and work flow moving forward.  The 2 big changes in preview 0.8.0 are as follows:

Deprecated

  • Types that implement IJobForEach interfaces have been deprecated. Use IJobChunk and Entities.ForEach for these jobs.

Fixed

  • Allow usage of Entities.WithReadOnlyEntities.WithDeallocateOnJobCompletionEntities.WithNativeDisableContainerSafetyRestriction, and Entities.WithNativeDisableParallelForRestriction on types that contain valid NativeContainers.

This means any one who write JobComponentSystem using the IjobForEach system should either remain on preview 0.8.0 or older or refactor their project as IJobForEach will be removed on 6-20-2020 per the warning in Visual Studio. If you chose to remain on thie version of Entities, you can stop the warning from showing in the console by using [System.Obsolete] Attribute tag.

While the refactoring can be done quite easily, the ForEach Lamba operator Job system add a lot of boiler plate code and takes away from the principles of Clean Code.

2020-03-22 12_15_55-ECS IAUS sytstem - Microsoft Visual Studio

From This

2020-03-22 12_16_38-ECS IAUS sytstem - Microsoft Visual Studio

To This

While I love the boost in performance I get from using DOTS, each update makes its harder and harder to recommend anyone use the full DOTS system. Overall the documentation is far too technical for the average unity user. ECS implementation has changed majorly since its launch. Too many of the major system Unity, developer depend on can’t not be easily accessed using DOTS, IE NavMesh.

 

This entry was posted in Dev Log, Development, Information, Lessons Learned, Unity, Updates and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s