You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EntityQuery.TryGetSingletonRW and SystemAPI.TryGetSingletonRW
Workflow for preparing builds for publishing
Workflow for preparing content updates for published builds
Runtime functionality to download and update remote content
Profiler module for the runtime content manager that tracks loading information.
SystemAPI.IsComponentEnabled, SystemAPI.IsBufferEnabled, SystemAPI.ManagedAPI.IsComponentEnabled to get component enabledness from an entity. To do this in jobs, do so in ComponentLookup/BufferLookup.
SystemAPI.SetComponentEnabled, SystemAPI.SetBufferEnabled, SystemAPI.ManagedAPI.SetComponentEnabled to set component enabledness from an entity. To do this in jobs, do so in ComponentLookup/BufferLookup.
RequireForUpdateWithSystemComponent to SystemBase and ISystem to help explain that system components won't normally partake in queries without explicitly mentioning it.
EntityQueryBuilder ChunkComponent calls to SystemAPI.EntityQueryBuilder for better symmetry.
Added EntityCommandBuffer.ParallelWriter.SetEnabled(Entity,bool) method, for parity with the main-thread interface.
A isReadOnly field (with default arg) to TryGetSingletonBuffer so it matches its cousin GetSingletonBuffer
ArchetypeChunk.Has and ArchetypeChunk.HasChunkComponent for ease of checking (useful for IJobEntityChunkBeginEnd)
IJobEntityChunkBeginEnd - allowing you to run code at the start and end of chunk iteration.
SystemAPI.GetXTypeHandle to easily get cached and .Update'd handles :3
The new tag component PropagateLocalToWorld must be added to any entity which needs its children to inherit its full LocalToWorld matrix, instead of the more compact WorldTransform representation. This path is slightly slower, but supports additional features like PostTransformMatrix (for non-uniform scale), and interpolation by the Physics and Netcode packages.
Added No aspects message for Aspects tab in Inspector when no aspect is available for selected entity.
Support for sticky data mode to the Entities Hierarchy window and the Inspector window.
Support for automatic data mode switching to the Entities Hierarchy window and the Inspector window.
Changed
Entities package test components such as EcsTestData are no longer part of the package's public API; they are only intended for internal package testing.
WorldUnmanaged.CurrentTime renamed to WorldUnamanged.Time
WorldUnmanaged.TryGetSystemStateForId is now internal
WorldUnmanaged.IsCreated is now public
SystemState.ShouldRunSystem is now public
Renamed the fields of EntityBlobRefResult to match the C# coding standard.
Renamed the DOTS Hierarchy window to Entities Hierarchy.
Renamed the DOTS sub-menu from the top-level Window menu to Entities.
Renamed the DOTS section in the Preferences window to Entities.
Changed the order of the items under Window>Entities to be deterministic.
Moved the baking options to the DOTS Editor preferences page.
EntityQueries created via EntityManager.CreateEntityQuery or EntityQueryBuilder.Build(EntityManager) will be owned by the EntityManager and be disposed by the EntityManager when it is destroyed.
RuntimeContentManager API for loading and managing Unity engine objects loaded from Content Archives.
WeakObjectReference can be used to manage weak objects at runtime.
Asset bundles are no longer build and loaded for referenced unity objects. AssetBundleManager class has been removed.
Bakers for base component types and decorated with [BakeDerivedTypes] are evaluated before bakers for derived component types.
Renamed EntityCommandBuffer.*ForEntityQuery methods to be their singular overload equivalents EntityCommandBuffer.*. E.g. EntityCommandBuffer.DestroyEntitiesForEntityQuery is now an overload in EntityCommandBuffer.DestroyEntity. EntityCommandBuffer is now more in line with EntityManager!.
Renamed BufferLookup.IsComponentEnabled to BufferLookup.SetBufferEnabled and BufferLookup.SetComponetEnabled to BufferLookup.SetBufferEnabled.
Renamed IJobEntity EntityInQueryIndex to EntityIndexInQuery to match name scheme found in ChunkIndexInQuery and EntityIndexInChunk
Renamed BlobAssetStore.Remove to BlobAssetStore.TryRemove, to better convey its functionality, as it only removes the BlobAsset if it is present.
added some missing xml docs
removed cleanup call from RuntimeContentSystem.OnDestroy as this could be called multiple times when there are multiple worlds
Baked primary entities no longer have an implicit dependency on the Transform component.
Removed the inner TransformData struct from WorldTransform, LocalTransform and ParentTransform (and instead use extension methods and properties). Position/Rotation/Scale can now be accessed directly on the transform type itself.
ComponentTypeHandle, BufferTypeHandle, DynamicComponentTypeHandle, and DynamicSharedComponentTypeHandle arguments to ArchetypeChunk methods are now passed by ref instead of by value. This facilitates a caching optimization that will be implemented in a future release.
Renamed the PostTransformMatrix component to PostTransformScale, and changed its value type to float3x3.
Searching the Entities hierarchy using the component filter now treats multiple entries as AND rather than OR.
Updated transform documentation.
Improved performance of EntityManager.DestroyEntity(EntityQuery)
The build settings are no longer stored in the Assets folder.
It's now a compile error to schedule with managed code (for IJobEntity and IJobChunk)
Blob asset safety verifier rewritten as a Roslyn analyzer (results in domain reload time improvements and IDE support with CodeFixes).
Blob assets now create a compile error if it contains a pointer e.g. fixed byte[16].
Blob assets now warn on new assignments e.g. var test = new MyBlob() and var test = default(MyBlob).
ComponentTypeSet is now a readonly struct, which is passed by in instead of by value
Deprecated
rename EntityManager.CompleteAllJobs to EntityManager.CompleteAllTrackedJobs, to more accuractly describe what it is doing.
SystemState.Time and SystemBase.Time has been deprecated in favor of World.Time and SystemAPI.Time
[WithEntityQueryOptions] for IJobEntity becomes [WithOptions] to be consistent with EntityQueryBuilder and SystemAPI.QueryBuilder
SystemAPI.Query.WithEntityQueryOptions becomes SystemAPI.Query.WithOptions to be consistent with EntityQueryBuilder and SystemAPI.QueryBuilder
ArchetypeChunk.ChunkEntityCount is now deprecated. It is guaranteed to always have the same value as ArchetypeChunk.Count, and the latter should be preferred.
SystemAPI duplicated API in ComponentSystemBase. HasSingleton, GetSingleton, GetSingletonRW, GetSingletonBuffer, TryGetSingleton, TryGetSingletonBuffer, SetSingleton, GetSingletonEntity, TryGetSingletonEntity. Use SystemAPI alternatives instead.
SystemAPI duplicated API in ComponentSystemBaseManagedComponentExtensions. GetSingleton, GetSingletonRW, SetSingleton. Use SystemAPI alternatives instead.
SystemAPI duplicated API in SystemBase. GetComponent, SetComponent, HasComponent, GetBuffer and Exists. Use SystemAPI alternatives instead.
Removed
ISystemBase as the old name for good, use the new name ISystem
Removed the Journaling sub-menu from the DOTS top-level menu. Enable Entities Journaling can be set through the Preferences window or from the Journaling window. Export to CSV can be triggered from the Journaling window.
The "Add missing partials keyword to systems" menu item has been removed. It was intended to help older DOTS projects update to the 0.50.x, and is no longer necessary for 1.0 and beyond.
Removed BufferAccessor constructor from the public API. Use methods like GetBufferAccessor() to create instances of this type.
Removed unit-test helper method ArchetypeChunkArray.CalculateEntityCount(NativeArray<ArchetypeChunk>) from the public API.
LayoutUtilityManaged and LayoutUtility. Component equality comparisons are handled by the TypeManager and FastEquality system internally and no longer require the LayoutUtility.
Removing dependencies on com.unity.jobs package.
Removed the previously-deprecated methods which limited their operation to a caller-provided NativeArray<Entity>. These methods were never particularly efficient, and are increasingly prone to producing incorrect results. If necessary, the functionality can be replicated in user-space using a NativeHashSet<Entity> as an early-out mechanism.
GameObjectSceneSystem and ability to load GameObject scenes from the Entities SceneSystem
Removed the DotsPlayerSettings type.
Removed View All Components label for Aspects tab in Inspector.
Dependencies on com.unity.platformspackage has been removed.
Fixed
Store Allocator in EntityCommandBufferSystem's Singleton.
IJobEntity now gives proper error when trying to add multiple of same type to Execute signature.
Fixed an issue where inspecting an Entity in play mode would mark its chunk as changed every frame.
WorldUnmanaged.GetAllUnmanagedSystems previously returned all systems rather than just unmanaged ones
Missing documentation added or updated for various system and EntityManager API
EntityQueryBuilder.Build(SystemState) made a copy of SystemState which could lead to a NullReferenceException or ObjectDisposedException. It now takes (ref SystemState).
Entity inspector no longer throws index out of range exception when modifying the content of integer fields.
Systems window no longer throws exceptions when encountering invalid worlds.
Using WithChangeFilter on Entities.ForEach or SystemAPI.Query would add the component type as ReadWrite. It now adds ReadOnly.
Subscene entity names are trucated to 64 characters during incremental baking.
Components with long or ulong enum fields will no longer cause an exception when displayed in entity inspector. As temporary measure until 64 bit integers are supported by UnityEngine.UIElements.EnumFlagsField, a text field with the numerical value of the enum will be displayed.
Change API name from SetAllocatorHandle to SetAllocator for entity command buffer allocator.
RectTransform components are no longer skipped when baking transform hierarchies.
Disabled GameObjects are baked and rendered as expected when activated at runtime.
NetCodeClientSetting should not add FRONTEND_PLAYER_BUILD scripting define.
EntityQueryBuilder will correctly emit error when used without constructing with an Allocator.
EntityQuery.ResetFilter() now resets order version filtering to its default value (disabled) as well.
BlobArray.ToArray() throws if the element type T contains nested BlobArray or BlobPtr fields.
IJobEntity scheduling calls no longer ignores calls to JobHandle.CombineDependencies() passed as its dependsOn parameter.
IJobEntity scheduling calls now can contain calls to SystemAPI calls and other JobEntity scheduling
IJobEntity scheduling calls now ensure they only add automatic dependency assignment, when jobhandle is explicitly passed to scheduling functions.
Chunk.GetEnableMask did not update the lookup cache correctly, causing the cache to invalidated and exception thrown in some situation (ex: more than one chunk passed to the job)
Issue where SystemAPI, and JobEntity schedules would not work inside an expression bodied statement.
If changing an entity's Parent would leave the previous parent entity's Child buffer empty, the empty Child component is now automatically removed by ParentSystem.
Differ was missing modified entities under some particular conditions.
Drag n drop issue that can cause the Editor to enter an infinite loop
Disable dragging GameObjects from scene to subscene, and from subscene to scene in playmode
An exception that occurs when opening properties window from the Entities Hierarchy "Properties ..." context menu item.
SystemAPI.GetBuffer to get BufferLookup as ReadWrite (as to be consistent with rest of GetBuffer methods.)
Fixed a performance issue in the Entities Hierarchy when it's docked behind another window while GameObject events happen.
Dynamically loaded subscenes are now correctly displayed in the Entities Hierarchy.
SystemAPI.Query<RefRO<MyTag>> where MyTag is a zero-size component, will now return default(MyTag) instead of throwing.
Entities Hierarchy truncates long node names to fit in 64 bytes instead of throwing errors.
Fixed a bug which could put the "enabled" state of an IEnaleableComponent in an undefined state after removing a different IEnableableComponent.
Ensure Autocomplete popup is triggered when using c= (component search) in Hierarchy and in Systems Window.
Issue where having a local function inside a function using SystemAPI/Entities.ForEach/IJobEntity scheduling would cause build failures with IL2CPP
Styling issue in Entities Hierarchy when switching data modes.
Leaking when using EntityIndexInQuery with IJobEntity or Entities.ForEach.
Searching in Entities Hierarchy is now supported when no world currently exists.
Entities Hierarchy: GameObject change events are now processed over multiple frames and will not accumulate when the hierarchy is sitting docked behind another window.
Fixed an issue where Transform live properties do not work sometimes.
Reverting the baker state of a previous iteration can have unexpected side effects in some cases.
ArchetypeChunk.IsComponentEnabled and ArchetypeChunk.SetComponentEnabled now consistently fail if the provided type handle does not correspond to one of the chunk's component types.
ArchetypeChunk.IsComponentEnabled and ArchetypeChunk.SetComponentEnabled now consistently fail if the provided indexInChunk argument is negative.
Components window now correctly shows all components.
Addressed an exception when streaming in multiple scene sections at once
On rare occasions, streaming scenes in would fail due to a corrupt free list in the reused streaming world. This has been fixed.
Issue causing the Entities Hierarchy to throw errors when entering playmode when the window is docked and not visible.
Remove unnecessary Repaint invocation in the SubSceneInspectorGUI
Entities Hierarchy visibility detection issue that potentially causes the window to not properly initialize.
Under Relationships tab of Entity Inspector, systems with same name will display with added namespace for distinguishment.
blob asset references would infrequently become invalid after a live baking pass.
Entities Hierarchy now properly retrieves subscenes' asset names.
Companion GameObjects (e.g. lights, reflection probes, audio sources, etc.) transforms stopped updating during live baking.