0.8.0-preview.8
Pre-release
Pre-release
[0.8.0] - 2020-03-13
Added
- Added missing dynamic component version API:
ArchetypeChunk.GetComponentVersion(ArchetypeChunkComponentTypeDynamic)
- Added missing dynamic component has API:
ArchetypeChunk.Has(ArchetypeChunkComponentTypeDynamic)
EntityArchetype
didn't expose whether it was Prefab or not. Added boolEntityArchetype.Prefab
. This is needed for meta entity queries, because meta entity queries don't avoid Prefabs.- Added Build Configurations and Build Pipelines for Linux
- LiveLink now gives an error if a LiveLink player attempts to connect to the wrong Editor, and advises the user on how to correct this.
Changed
- Optimized
ArchetypeChunkComponentTypeDynamic
memory layout. 48->40 bytes. - LiveLink: Editor no longer freezes when sending LiveLink assets to a LiveLinked player.
- LiveLink: No longer includes every Asset from builtin_extra to depend on a single Asset, and sends only what is used. This massively speeds up the first-time LiveLink to a Player.
- Upgraded Burst to fix multiple issues and introduced native debugging feature.
Deprecated
- Types that implement
IJobForEach
interfaces have been deprecated. UseIJobChunk
andEntities.ForEach
for these jobs.
Fixed
- Fixed LiveLinking with SubScene Sections indices that were not contiguous (0, 1, 2..). Now works with whatever index you use.
- Fixed warning when live converting disabled GameObjects.
- Allow usage of
Entities.WithReadOnly
,Entities.WithDeallocateOnJobCompletion
,Entities.WithNativeDisableContainerSafetyRestriction
, andEntities.WithNativeDisableParallelForRestriction
on types that contain valid NativeContainers.
[0.7.0] - 2020-03-03
Added
- Added
HasComponent
/GetComponent
/SetComponent
methods that streamline access to components through entities when using theSystemBase
class. These methods call through toEntityManager
methods when in OnUpdate code and codegen access throughComponentDataFromEntity
when inside ofEntities.ForEach
. SubScene
support for hybrid components, allowing Editor LiveLink (Player LiveLink is not supported yet).- Added
GameObjectConversionSettings.Systems
to allow users to explicitly specify what systems should be included in the conversion
Changed
- Fixed an issue where shared component filtering could be broken until the shared component data is manually set/added when using a deserialized world.
- Users can control the update behaviour of a
ComponentSystemGroup
via an update callback. See the documentation forComponentSystemGroup.UpdateCallback
, as well as examples inFixedRateUtils
. IDisposable
andICloneable
are now supported on managed components.World
now exposes aFlags
field allowing the editor to improve how it filters world to show in various tooling windows.World.Systems
is now a read only collection that does not allocate managed memory while being iterated over.- Updated package
com.unity.platforms
to version0.2.1-preview.4
.
Deprecated
- Property
World.AllWorlds
is now replaced byWorld.All
which now returns a read only collection that does not allocate managed memory while being iterated over.
Removed
- Removed expired API
implicit operator GameObjectConversionSettings(World)
- Removed expired API
implicit operator GameObjectConversionSettings(Hash128)
- Removed expired API
implicit operator GameObjectConversionSettings(UnityEditor.GUID)
- Removed expired API
TimeData.deltaTime
- Removed expired API
TimeData.time
- Removed expired API
TimeData.timeSinceLevelLoad
- Removed expired API
TimeData.captureFramerate
- Removed expired API
TimeData.fixedTime
- Removed expired API
TimeData.frameCount
- Removed expired API
TimeData.timeScale
- Removed expired API
TimeData.unscaledTime
- Removed expired API
TimeData.captureDeltaTime
- Removed expired API
TimeData.fixedUnscaledTime
- Removed expired API
TimeData.maximumDeltaTime
- Removed expired API
TimeData.realtimeSinceStartup
- Removed expired API
TimeData.renderedFrameCount
- Removed expired API
TimeData.smoothDeltaTime
- Removed expired API
TimeData.unscaledDeltaTime
- Removed expired API
TimeData.fixedUnscaledDeltaTime
- Removed expired API
TimeData.maximumParticleDeltaTime
- Removed expired API
TimeData.inFixedTimeStep
- Removed expired API
ComponentSystemBase.OnCreateManager()
- Removed expired API
ComponentSystemBase.OnDestroyManager()
- Removed expired API
ConverterVersionAttribute(int)
Fixed
- Non-moving children in transform hierarchies no longer trigger transform system updates.
- Fixed a bug where dynamic buffer components would sometimes leak during live link.
- Fixed crash that would occur if only method in a module was generated from a
[GenerateAuthoringComponent]
type. Entities.ForEach
now throws a correct error message when it is used with a delegate stored in a variable, field or returned from a method.- Fix IL2CPP compilation error with
Entities.ForEach
that uses a tag component andWithStructuralChanges
. Entities.ForEach
now marshals lambda parameters for DOTS Runtime when the lambda is burst compiled and has collection checks enabled. Previously usingEntityCommandBuffer
or other types with aDisposeSentinel
field as part of your lambda function (when using DOTS Runtime) may have resulted in memory access violation..Run()
onIJobChunk
may have dereferenced null or invalid chunk on filtered queries.
Security
- Throw correct error message if accessing
ToComponentDataArrayAsync
CopyFromComponentDataArray
orCopyFromComponentDataArrayAsync
from an unrelated query.