Skip to content

0.8.0-preview.8

Pre-release
Pre-release
Compare
Choose a tag to compare
@marwie marwie released this 26 May 02:43

[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 bool EntityArchetype.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. Use IJobChunk and Entities.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, and Entities.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 the SystemBase class. These methods call through to EntityManager methods when in OnUpdate code and codegen access through ComponentDataFromEntity when inside of Entities.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 for ComponentSystemGroup.UpdateCallback, as well as examples in FixedRateUtils.
  • IDisposable and ICloneable are now supported on managed components.
  • World now exposes a Flags 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 version 0.2.1-preview.4.

Deprecated

  • Property World.AllWorlds is now replaced by World.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 and WithStructuralChanges.
  • Entities.ForEach now marshals lambda parameters for DOTS Runtime when the lambda is burst compiled and has collection checks enabled. Previously using EntityCommandBuffer or other types with a DisposeSentinel field as part of your lambda function (when using DOTS Runtime) may have resulted in memory access violation.
  • .Run() on IJobChunk may have dereferenced null or invalid chunk on filtered queries.

Security

  • Throw correct error message if accessing ToComponentDataArrayAsync CopyFromComponentDataArray or CopyFromComponentDataArrayAsync from an unrelated query.