Skip to content

Releases: needle-mirror/com.unity.entities

1.3.8

03 Dec 10:09
Compare
Choose a tag to compare

[1.3.8] - 2024-11-08

Removed

  • removing various material assets within entities (Test.mat and TestMaterial.mat).

Fixed

  • Disable "new empty subscene" menu item on default untitled scene.
  • Fix invalid queries generated for IJobEntity with [WithPresent(typeof(T))] and EnabledRef<T> and/or in T in the same job.

1.3.5

14 Oct 17:10
Compare
Choose a tag to compare

[1.3.5] - 2024-10-04

Changed

  • Local optimization in EntityManager.CopyEntitiesFrom
  • Updated Mathematics dependency to version 1.3.2
  • Updated Burst dependency to version 1.8.18

Fixed

  • Fixed misleading documentation for Baker.IsActiveAndEnabled
  • Improved build determinism by sorting inputs to build methods.
  • Exception thrown under certain circumstances when a system was destroyed could break various DOTS editor windows.

1.3.2

17 Sep 00:09
Compare
Choose a tag to compare

[1.3.2] - 2024-09-06

Added

  • Overloads for ComponentLookup.HasComponent, ComponentLookup.TryGetComponent, BufferLookup.HasBuffer, and BufferLookup.TryGetBuffer adding parameter out bool entityExists, as well as dedicated ComponentLookup.EntityExists and BufferLookup.EntityExists APIs, to allow user-code to distinguish entity non-existence from component non-existence without additional boilerplate, inside jobs.
  • adding missing dependencies com.unity.modules.physics, com.unity.modules.uielements.

Changed

  • Updated Burst dependency to version 1.8.17
  • Add API docs discouraging the use of the ExclusiveEntityTransaction.EntityManager property. Many EntityManager operations are not safe to use within the context of an ExclusiveEntityTransaction; only the methods directly exposed by ExclusiveEntityTransaction are guaranteed to work correctly.
  • Add API docs discouraging the creation of EntityQuery objects with multiple query descriptions. This feature works in narrow contexts, but is known to cause errors and incompatibilities with other DOTS features.
  • Add API docs to note that enabling and disabling components inside IJobEntityChunkBeginEnd.OnChunkBegin() does not affect the entities iterated in the current chunk, as its chunkEnabledMask has already been computed.
  • Zero-size IBufferElementData and ISharedComponentData structs no longer cause the TypeManager to throw during initialization. Zero-size buffer and shared components are usually a sign of pointless waste (especially buffer components, which have a significant chunk-memory cost even if the actual elements are empty), but they shouldn't cause a fatal error.

Fixed

  • Various SGICE002 errors that happen if you type invalid C# code
  • Various SGICE003 errors that happen if you type invalid C# code
  • NullReferenceException on UnityObjectRef after Asset Garbage Collection (This fix requires editor versions 2022.3.43f1 and 6000.0.16f1 and beyond)

1.2.4

15 Aug 12:08
Compare
Choose a tag to compare

[1.2.4] - 2024-08-14

  • Debug proxies (used by external debuggers) were sometimes using invalid field offsets when inspecting structs in blob assets. This led to incorrect values being reported in debugger watch windows. In particular, this would be triggered by the use of bool fields in blob asset structs.
  • Entity version numbers could go back to 1 after reallocation in some edge cases.
  • When building a content update, a temporary path was getting created in the drive root instead of the Library folder. This would also cause content update builds to grow in size every time they were built. The folder is now created in the Library correctly.
  • Error in build when sprites are contained in subscenes has been removed.
  • Regression in compilation time with assemblies with lots of system methods.
  • EntityComponentStore leaked memory during domain reload.

1.3.0-pre.4

18 Jul 12:09
Compare
Choose a tag to compare

[1.3.0-pre.4] - 2024-07-17

Changed

  • Updated Burst dependency to version 1.8.16

Deprecated

  • The ENABLE_SIMPLE_SYSTEM_DEPENDENCIES feature will be removed in a future package release, as it no longer provides significant benefit for expected DOTS workloads.
  • The EntityQueryCaptureMode.AtRecord enum value in EntityCommandBuffer is now deprecated. All users should migrate to EntityQueryCaptureMode.AtPlayback. Capture-at-record mode can be several hundred times slower than capture-at-playback. If capture-at-record semantics are required and performance isn't a concern, the array of entities matching the query can be captured manually and passed to the corresponding EntityCommandBuffer command.

Fixed

  • Usage of SystemAPI.GetComponentRW and SystemAPI.GetComponentRO in Entities.ForEach.
  • Regression in compilation time with assemblies with lots of system methods.
  • EntityComponentStore leaked memory during domain reload.

1.3.0-exp.1

17 Jun 10:11
Compare
Choose a tag to compare

[1.3.0-exp.1] - 2024-06-11

Added

  • ArchetypeChunk.GetEnabledMask() now allows creating masks from BufferTypeHandle and DynamicComponentTypeHandle, in addition to ComponentTypeHandle.
  • EnabledRefRW<T> and EnabledRefROcan now be created fromIBufferElementData, either from an EnabledMaskor aBufferLookup`.
  • Added a new variant of EntityManager.GetComponentOrderVersion() that targets a runtime ComponentType value, instead of a compile-time type parameter.
  • EntityQuery.GetEntityQueryDescs() returns the target query's full list of query descriptions.
  • Added new EntityManager.SetSharedComponent<T>(ArchetypeChunk, T) and EntityManager.SetSharedComponentManaged<T>(ArchetypeChunk, T) methods to efficiently set shared component values for all entities in a chunk. This is generally more efficient that setting the value on each individual entity.

Changed

  • The internal capacity of Child buffer components is reduced from 8 to 0, improving the chunk utilization of parent entities.
  • The internal capacity of LinkedEntityGroup buffer components is reduced from 1 to 0, improving the chunk utilization of prefabs and prefab instances.
  • EnabledMask.GetOptionalEnabledRef*() were renamed to EnabledMask.GetEnabledRef*Optional() for consistency.
  • EntityQuery.GetCombinedComponentOrderVersion() now takes a bool parameter to indicate whether the Entity component type should be included. The existing variant of this method is now marked as deprecated.
  • Improved performance of the LocalToWorldSystem when processing entity transform hierarchies, by distributing work more evenly across worker threads.

Deprecated

  • EntityQuery.GetEntityQueryDesc() should no longer be used; it only returns the target query's first query description element. Use the new .GetEntityQueryDescs() method instead to retrieve the full list. If only the first element is needed, use query.GetEntityQueryDescs()[0].

Removed

  • The EnabledMask constructor was removed from the public API. Its inclusion was an error, and it is impossible to call safely from user code. The correct way to create these objects is through ArchetypeChunk.GetEnabledMask().

Fixed

  • EnabledRefRW<T> now throws when attempting to write through an invalid or uninitialized instance.
  • Creating an EntityQuery with multiple EntityQueryDesc (or by using EntityQueryBuilder.AddAdditionalQuery()) now correctly matches archetypes that match one of the query's descriptions other than the first.
  • Entities windows do not throw exceptions anymore when installing or removing packages from package manager.
  • Debug proxies (used by external debuggers) were sometimes using invalid field offsets when inspecting structs in blob assets. This led to incorrect values being reported in debugger watch windows. In particular, this would be triggered by the use of bool fields in blob asset structs.
  • Entity version numbers could go back to 1 after reallocation in some edge cases.
  • When building a content update, a temporary path was getting created in the drive root instead of the Library folder. This would also cause content update builds to grow in size every time they were built. The folder is now created in the Library correctly.
  • IL2CPP compilation errors in patched methods (using codegen features) that also contain local functions.
  • Removed a potential source of non-determinism in the chunk header when serializing entities scenes.
  • the content of the archive_dependencies.bin and archive_dependencies.txt files in builds is now deterministic.
  • SystemAPI.GetSingletonBuffer(readOnly: ...) now correctly passes the argument (aka, you can now correctly get a readonly DynamicBuffer)
  • Error in build when sprites are contained in subscenes has been removed.

Security

Known Issues

1.2.3

05 Jun 20:55
Compare
Choose a tag to compare

[1.2.3] - 2024-05-30

Fixed

  • Queries are now correctly constructed using EntityQueryBuilder when using [WithDisabled(T)] on IJobEntity with EnabledRefRW<T> and/or RefRW<T>.
  • Cross-world selection in Entities Hierarchy
  • Entities windows do not throw exceptions anymore when installing or removing packages from package manager.
  • Fixed crash on quit in players due to incorrect RuntimeContentManager cleanup timing.
  • respond to much docs feedback
  • Fixed a regression which caused subscene section bounding volumes to be computed incorrectly.
  • EntityCommandBuffer.AddComponentForLinkedEntityGroup() and EntityCommandBuffer.SetComponentForLinkedEntityGroup() now correctly process all entities that match the provided EntityQueryMask, even if new archetypes matching the query were added earlier during command buffer playback.
  • Creating a cycle with [UpdateInGroup] attributes now throws an exception instead of crashing the Editor.

1.2.1

02 May 10:08
Compare
Choose a tag to compare

[1.2.1] - 2024-04-26

Changed

  • Updated Burst dependency to version 1.8.13
  • Updated entities packages dependencies

Fixed

  • The entities hierarchy view would sometimes throw exceptions when entities were destroyed.
  • remove use of UNITY_64 define, as is can not be reliably used to determine 64 bit nature of platforms. Fixes crashes related to pointer truncation.
  • The inspector no longer shows stale content when exiting play mode while locked in Authoring mode on a GameObject outside of a subscene.
  • Systems now correctly track the implicit read dependency on enableable components in their queries' Any lists. These components are optional, but evaluating a query with optional enableable components requires reading these components' enabled state, which requires a read dependency even if nothing else in the system directly manipulates these types.
  • EntityManager.SetComponentEnabled<T>(EntityQuery,bool) now sets the change version for the target type T on all affected chunks.
  • CompanionGameObjectUpdateTransformSystem expected entities to have the LocalToWorld and CompanionLinkTransform components, but did not explicitly require them in its query.

Security

Known Issues

1.2.0

26 Mar 14:10
Compare
Choose a tag to compare

[1.2.0] - 2024-03-22

Added

  • Document counterintuitive behavior when an EntityQueryMask is created from an EntityQuery that includes a WithNone<T>() constraint, where T is an IEnableableComponent.

Changed

  • Performance improvements in LocalToWorldSystem when processing entities with non-dirty hierarchies and no children.

Deprecated

  • EntityManager.CopyEntities() is now deprecated, and will be removed from the public API in a future package release. We're not aware of any use cases for this function outside of the Entities package itself; EntityManager.Instantiate() is the correct way for higher-level code to instantiate copies of existing entities.

Fixed

  • BakingAnalytics no longer initializes TypeManager [InitializeOnLoad]
  • Fixed issue where breakpoints in jobs defined after systems with SystemAPI usage are not hit.
  • Fixed an error where the Entities Hierarchy window was accessing a destroyed world during UI bindings.
  • Using SystemAPI.GetComponentRO/RW with "using static SystemAPI" within an Entities.ForEach used to confuse the code generator and failed to compile.
  • Replace HierarchyNodeMap's indexer setter with explicit add/update logic.
  • an issue with hybrid entity baking regarding scales with different signs
  • Entities Hierarchy now removes all nodes of a scene and subscenes when the scene is unloaded.
  • Exception thrown when entering a prefab from the Entities Hierarchy
  • Fixed: Memory leak in certain circumstances in Entity Scene Streaming
  • Improved error message for when SystemAPI.QueryBuilder users forget to call .Build().
  • An assert when using AddMultipleComponentsDuringStructuralChange with more than 10 entities in some cases
  • Add filter button was not showing filters in Archetypes and Journaling windows.
  • An invalid range check caused the removal of entities from the hierarchy view to sometimes fail in perfectly valid cases.

1.2.0-pre.12

28 Feb 11:11
Compare
Choose a tag to compare

[1.2.0-pre.12] - 2024-02-13

Added

  • A file with the code for both snippets in the custom transforms documentation was added to the "DocCodeSamples.Tests" folder.
  • The Create Menu now offers ScriptTemplates for the IComponentData, ISystem, IJobEntity and Baker types under Assets/Create/Entities

Changed

  • Fixed infinite loop that could occur due to concurrent use of non-concurrent Dictionary in Aspect Generator.
  • Reduce the set/restore frequency of the fixed rate system group allocator.
  • Various performance improvements in baking. Baking mesh-heavy scenes now takes 70% of what it did before.
  • Significant performance improvements when creating archetypes and entity queries in Worlds with a large number of existing archetypes/queries.
  • Updated Burst dependency to version 1.8.12

Fixed

  • EntityQuery singleton methods now correctly handle cases where the query contains enableable components. Note that GetSingletonEntity() and TryGetSingletonEntity() still can not be used on queries with enableable components, and that the singleton component itself can not be enableable. Both constraints may be lifted in a future release.
  • A broken link to a code snippet in the documentation for custom transforms was fixed.
  • Archetype window and Entity Memory Profiler module UI initialization.
  • Making a player build with define UNITY_DOTS_DEBUG, while using an IJobEntity using RefRO/RefRW no longer compile errors!
  • Clarified documentation for cleanup components
  • Fixed minor memory leak in content delivery system.
  • AABB.Contains.
  • The entities hierarchy view would sometimes throw exceptions when entities were destroyed.
  • remove use of UNITY_64 define, as is can not be reliably used to determine 64 bit nature of platforms. Fixes crashes related to pointer truncation.