0.5.0-preview.17
Pre-release[0.5.0] - 2020-01-16
Added
- Added AndroidHybrid.buildpipeline with RunStepAndroid
- EntityManager.MoveEntitiesFrom now has the full method overload combination of output, filter, remapping parameters.
Changed
Entities.WithReadOnly
,Entities.WithNativeDisableParallelForRestriction
,Entities.WithDeallocateOnJobCompletion
,Entities.WithNativeDisableSafetyRestriction
andEntities.WithNativeDisableUnsafePtrRestriction
now check their argument types for the proper attributes ([NativeContainer]
,[NativeContainerSupportsDeallocateOnJobCompletion]
) at compile time and throw an error when used on a field of a user defined type.- Log entries emitted during subscene conversion without a context object are now displayed in the subscene inspector instead of discarded
Deprecated
- Adding removal dates to the API that have been deprecated but did not have the date set.
BlobAssetReference<T>
:Release()
was deprecated, useDispose()
instead.
Removed
EntityQuery.cs
: Removed expired APICalculateLength()
,SetFilter()
andSetFilterChanged()
.
Fixed
- Fixed an issue where trying to perform EntityRemapping on Managed Components could throw if a component field was null.
- EntityManager.MoveEntitiesFrom with query was not bumping shared component versions, order versions or dirty versions correctly. Now it does.
- Fixed that adding a Sub Scene component from the Add Components dropdown was not reflected in the Hierarchy.
- Fixed so that Undo/Redo of changes to SceneAsset objectfield in the Sub Scene Inspector is reflected in the Hierarchy.
- Make it clear when Sub Scene duplicates are present: shown in Hierarchy and by showing a warning box in the Inspector.
- Support Undo for 'Create Sub Scene From Selection' context menu item.
- Better file name error handling for the 'New Sub Scene From Selection' context menu item.
- Keep sibling order for new Sub Scene when created using 'New Sub Scene From Selection' (prevents the new Sub Scene from ending as the last sibling).
- Handle if selection contains part of a Prefab instance when creating Sub Scene from Selection.
- Fix dangling loaded Sub Scenes not visualized in the Hierarchy when removing Scene Asset reference in Sub Scene component.
- Fixed an issue with invalid IL generated by Entities.ForEach when structs are captured as locals from two different scopes and their fields are accessed.
- Make it clear in the Hierarchy and Sub Scene Inspector that nesting Sub Scenes is not yet supported.
- Fixed an issue with BinaryWriter where serializing a System.String[] with a single element would throw an exception.
- Fixed an issue with
ComponentSystem.GetEntityQuery
andJobComponentSystem.GetEntityQuery
which caused improper caching of queries when using "None" or "Any" fields.
[0.4.0] - 2019-12-16
This version requires Unity 2019.3.0f1+
New Features
- Two new methods added to the public API:
void EntityCommandBuffer.AddComponent<T>(EntityQuery entityQuery)
void EntityCommandBuffer.RemoveComponent<T>(EntityQuery entityQuery)
- BlobArray, BlobString & BlobPtr are not allowed to be copied by value since they carry offset pointers that aree relative to the location of the memory. This could easily result in programming mistakes. The compiler now prevents incorrect usage by enforcing any type attributed with [MayOnlyLiveInBlobStorage] to never be copied by value.
Upgrade guide
Changes
-
Deprecates
TypeManager.CreateTypeIndexForComponent
and it's other component type variants. Types can be dynamically added (in Editor builds) by instead passing the new unregistered types toTypeManager.AddNewComponentTypes
instead. -
RequireForUpdate(EntityQuery)
andRequireSingletonForUpdate
on a system with[AlwaysUpdate]
will now throw an exception instead of being ignored. -
ChangeVersionUtility.IncrementGlobalSystemVersion & ChangeVersionUtility.InitialGlobalSystemVersion is now internal. They were accidentally public previously.
-
Entity inspector now shows entity names and allows to rename the selected entity
-
Improved entity debugger UI
-
Create WorldRenderBounds for prefabs and disabled entities with renderers during conversion, this make instantiation of those entities significantly faster.
-
Reduced stack depth of System.Update / OnUpdate method (So it looks better in debugger)
-
Assert when using EntityQuery from another world
-
Using an EntityQuery created in one world on another world was resulting in memory corruption. We now detect it in the EntityManager API and throw an argument exception
-
Structural changes now go through a bursted codepath and are significantly faster
-
DynamicBuffer.Capacity is now settable
Fixes
- Remove unnecessary & incorrect warning in DeclareReferencedPrefab when the referenced game object is a scene object
- GameObjects with ConvertAndInject won't get detached from a non-converted parent (fixes regression)
- Fixed a crash that could occur when destroying an entity with an empty LinkedEntityGroup.
- Updated performance package dependency to 1.3.2 which fixes an obsoletion warning
- The
EntityCommandBuffer
can be replayed repeatedly. - Fixed exception in entity binary scene serialization when referencing a null UnityEngine.Object from a shared component
- Moving scripts between assemblies now triggers asset bundle rebuilds where necessary for live link
- Fixed LiveLink on Android