Skip to content

Releases: ExtendRealityLtd/Zinnia.Unity

v1.40.0

03 Jan 12:32
Compare
Choose a tag to compare

1.40.0 (2022-01-03)

Features

  • Tracking: provide ability to delay collision stay processing (6006705)

    The CollisionTracker now has an option to set a delay interval for the Collision and Trigger Stay methods to delay processing the next stay state until the delay interval has passed.

    This means it is possible to not have to process the stay state every single fixed update frame as this may be too frequent for certain circumstances and cause too much of a processing overhead.

Bug Fixes

  • Collection: remove custom list editor for Unity 2020.3 or newer (a958938)

    Unity have fixed a bug in Unity 2020.3.24f to do with reorderable lists but that fix has caused the custom observable list editor to no longer display any of the elements of the list and no longer understands if the list is collapsible or not.

    I can't be bothered to put the effort in to find out what Unity have done or where this has broken, it's a constant struggle of chasing after Unity changes so instead the feature of custom list editors is now just disabled for Unity 2020.3 and above.

    It can be added back in with a custom script define symbol of:

    • ZINNIA_USE_CUSTOM_LIST_EDITOR

    This will make the custom list editor appear again, however it will no longer be a collapsible element.

    The custom list editor can also now be completely disabled by using the script define symbol of:

    • ZINNIA_IGNORE_CUSTOM_LIST_EDITOR

    This will completely disable the custom list editor functionality.

v1.39.0

30 Nov 20:54
Compare
Choose a tag to compare

1.39.0 (2021-11-30)

Features

  • package.json: update malimbe to the latest version (55370a5)

    There is an update in malimbe that will allow the weavers to run first time on Unity 2020 and above.

Bug Fixes

  • Data: prevent null exception on deserializing type (733ae17)

    The SerializableType could throw a null exception if the assembly fully qualified name was no longer set.

v1.38.1

21 Jul 12:04
Compare
Choose a tag to compare

1.38.1 (2021-07-21)

Bug Fixes

  • Tracking: ensure right trigger exit happens on kinematic change (19c14ce)

    There was an issue with the 2019 kinematic fix where if a GameObject with multiple child colliders was touched on one collider and then when the kinematic state changed the collider would no longer be touched but another collider in the GameObject was touched then the exit event would not happen for the original collider and the new start event for the new collider would not happen.

    This would mean the collision with the original collider would have ended in the CollisionTracker but the CollisionTracker would not have reported it, and the new collider collision would not have a started event reported. Then when the actual new collider collision ended it would not report it had ended correctly.

    The fix is to hold a dictionary for each collider and their frame interaction timestamp and then this is checked in the fix logic for the Exit/Enter that happens when the kinematic state is changed.

    If the collider has changed then it won't cancel the deferred trigger exit so the exit will happen as expected, but if the collider hasn't changed then the deferred exit will be cancelled in the enter to prevent the enter/exit issue.

    A new test has been added to prove all this logic works.

v1.38.0

19 Jul 19:21
Compare
Choose a tag to compare

1.38.0 (2021-07-19)

Features

  • Extraction: add extractor that can get a child GameObject by name (b161b23)

    The new GameObjectChildByNameExtractor will extract a child GameObject from the Source GameObject by the path name to the child.

  • Tracking: provide optional pivot offset for direction modifier (acfa833)

    A rotational offset for the pivot can now be applied via a GameObject containing the rotational transform data.

Bug Fixes

  • Extraction: rename test class to the correct name (056f7a8)

    The GameObject Extractor test class was named incorrectly so it has now been updated with the correct name.

  • Tracking: ensure collider is not null before checking status (978adfd)

    There was an issue where the collider could be null even though the collider trigger status was being checked which would cause a null exception error. This is handled by just exiting the method early if the collider is now null.

  • Tracking: prevent fatal error if colliders are null in comparison (637411f)

    There can be an issue where the collider transform is null due to it being destroyed during a loop causing the comparison to fail.

    This fix just adds in a null check to make sure no fatal error can cause a crash.

v1.37.0

24 Jun 12:54
Compare
Choose a tag to compare

1.37.0 (2021-06-24)

Features

  • Tracking: publicize collision notifier collision methods (ebdb958)

    The methods responsible for handling collision events in the CollisionNotifier have been made public so they can be called manually if need be.

    This is useful if a manual collision is needed to be raised without an actual physics collision taking place to simulate collisions.

Bug Fixes

  • Visual: prevent fade mesh getting destroyed on disable (bed276e)

    The movement of the mesh overlay seems to cause the component to get disabled and then re-enabled causing the mesh to not be available at some points, which means the fade doesn't work.

    Instead of destroying the mesh when the component is disabled, it now just disables the renderer component and makes the destroy mesh method public so it can be manually destroyed.

  • Visual: prevent null exception when objects don't exist (c3b62c6)

    There was an issue with the CameraColorOverlay where the fadeRenderer would get destroyed but it was still being accessed causing a null exception. This fix just resolves that by exiting from the method early if it is null.

    Co-authored-by: Borck borck@hotmail.de

v1.36.2

19 Jun 09:47
Compare
Choose a tag to compare

1.36.2 (2021-06-19)

Bug Fixes

  • Tracking: prevent kinematic state fix firing multiple times (e457f82)

    The kinematic state change fix that was introduced to fix the PhysX change in Unity 2019.3 was causing an issue with compound colliders because the OnTriggerXXX will fire for every change in a compound collider and not just at the containing Rigidbody.

    This would mean that with compound colliders it would get out of sync with the state changed check when the kinematic state changed.

    This has been fixed now by checking if the given collider in the OnTriggerExit method has already been fired (on the containing Rigidbody) within the same frame, and if it has then this is most likely a compound collider causing the event so they get ignored.

  • Utility: ensure created prefabs are added to selected GameObject (10143bb)

    The prefab creator now adds the newly created prefab to the selected GameObject rather than just putting it in the root.

v1.36.1

10 Jun 19:19
Compare
Choose a tag to compare

1.36.1 (2021-06-10)

Bug Fixes

  • Visual: provide way of fading for universal render pipeline (f3c4791)

    The CameraColorOverlay now supports the URP rendering process by drawing a quad in front of the GameObject with the current rendering camera.

    It requires a particular shader to work well, which will be included in a Tilia package.

Miscellaneous Chores

  • README.md: update title logo to related-media repo (4cf130c)

    The title logo is now located on the related-media repo.

v1.36.0

09 May 14:53
Compare
Choose a tag to compare

1.36.0 (2021-05-09)

Features

  • Tracking: add collider validity rule to collision tracker (e05bbcf)

    The CollisionTracker component now has a Collider Validity rule to determine whether it can emit collisions of the collider that is being collided with passes the validity rule check.

    Headers have been added to the properties for better separation in the Unity editor.

v1.35.0

03 May 13:09
Compare
Choose a tag to compare

1.35.0 (2021-05-03)

Features

  • Cast: add cast converters (802a6c5)

    The new cast converters allow a PhysicsCast based caster to be converted from one cast type or another.

    This allows a component to do a PhysicsCast such as a raycast and then at runtime have that component's caster switched out for a different cast type like a spherecast.

  • Cast: add unit tests for PhysicsCast (3c71497)

    The PhysicsCast class now has unit tests which check the functionality of the custom caster methods.

v1.34.1

03 Apr 18:11
Compare
Choose a tag to compare

1.34.1 (2021-04-03)

Bug Fixes

  • Utility: move prefab creator menu location (34e00d3)

    The Prefab Creator has now been moved to the GameObject main menu so it can also show up in the right click context menu for adding new items to the hierarchy.