com.unity.entities 1.2.0-exp.3
Source docsNotes: processedReleased November 14, 2023
Unity Compatibility
Minimum Unity: 2022.3 (11f1)
Package Dependencies
- com.unity.burst (1.8.8)
- com.unity.collections (2.4.0-exp.2)
- com.unity.mathematics (1.3.1)
- com.unity.modules.assetbundle (1.0.0)
- com.unity.modules.audio (1.0.0)
- com.unity.modules.unityanalytics (1.0.0)
- com.unity.modules.unitywebrequest (1.0.0)
- com.unity.nuget.mono-cecil (1.11.4)
- com.unity.profiling.core (1.0.2)
- com.unity.scriptablebuildpipeline (1.20.2)
- com.unity.serialization (3.1.1)
- com.unity.test-framework.performance (3.0.3)
✨ Features
- Baking user-errors now include additional Authoring GameObject context, to help you diagnose them.
- Analyzer and code fix for missing "ref" keyword before SystemState
- Serialization support for UnityObjectRef<> which works with the build system. This means an unmanaged IComponentData can reference Unity assets and it works in a build or from a loaded SubScene the same as with Managed components.
- IEntitySceneBuildAdditions Interface to force the addition of unreferenced SubScenes into a build.
- `ArchetypeChunk.SetComponentEnabledForAll()` method to enable or disable a component on all entities in the chunk. This is more efficient than calling `SetComponentEnabled()` on each entity individually.
📈 Improvements
- Update package `com.unity.mathematics` from `1.2.6` to `1.3.1` version.
- Error message when attempting to schedule an IJobChunk while an exclusive entity transaction is active.
- obsolete `EventBase.PreventDefault()` removed or changed for `StopPropagation` in `2023.2` or higher.
- obsolete `FindObjectsOfType()` changed for `FindObjectsByType()` in `2023.2` or higher.
- Shortened file names for source generator projects and test verification results.
- Several `EntityCommandBuffer` commands will now correctly fix up Entity references within component values in recorded commands, to replace temporary entities created at record-time with the corresponding "final" entities created at playback time. These include commands that add/set unmanaged shared components, commands targeting an entity's `LinkedEntityGroup`, and `AddComponent(NativeArray, T)`.
- The minimum supported editor version is now 2022.3.11f1
- ### Deprecated
- `CopyAndReplaceEntitiesFrom` is unreliable and should be avoided. Entities are not the same across worlds anymore, so an optional remapping table can be passed to the function in order to look up which entity in the destination world corresponds a given entity in the source world.
🔧 Bug Fixes
- Fixed issue where Entities IL post-processors were causing output assemblies to be non-deterministic between compilations.
- Ensure consistency in how the `==`/`!=` operators and the `Equals()`/`GetHashCode()` methods in `ComponentType` are implemented.
- UnityException: Calls to "AssetDatabase.RegisterCustomDependency" are restricted during importing when saving the EntitiesClientSettings assets.
- Minor performance optimization to EntityQuery.ToComponentArray when used with a managed component type.
- Issue where Burst would fail to compile an Entities.ForEach or Job.WithCode, resulting in a runtime casting error.
- Journaling can now be enabled even if no default world initialization is used.
- You can now exit playmode while having an Entity with a buffer selected in the Entities Hierarchy, without getting any errors.
- Streaming hitches when using a lot of Companion Components (e.g. Lights) in a SubScene
- Fixed false-positive error check in `EntityCommandBuffer.AddComponent(NativeArray, T)`.
- Validation for world's existence before accessing within `EntitySelectionProxy`.
- `ArchetypeChunk.SetComponentEnabled(DynamicComponentTypeHandle)` will now throw an exception if the provided component type does not implement `IEnableableComponent`.
- An exception thrown during world deserialization could cause a memory leak.
- ### Security
