Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

io.extendreality.tilia.interactions.controllables.unity

ExtendRealityLtd1.6kMIT2.10.31

Mechanisms that provide physics based and non-physics based linear and angular interactable controls for the Unity software.

interactions, interactors, interactables, controls, controllable

readme

Tilia logo

Interactions -> Controllables for the Unity Software

Mechanisms that provide physics based and non-physics based linear and angular interactable controls for the Unity software.

Release License Backlog

Introduction

The controllable prefabs provide a way of creating an Interactable that is restricted to either a linear or angular motion and can either use Unity joints to work within the physics system or by simply updating the Interactable transform properties to not use any Unity physics at all. The four prefabs that are provided are:

  • Physics Joint - Uses Unity joints for physics based interactions
    • Linear Joint Drive - Moves in a single axis direction along a configured Unity joint for a limited distance.
    • Angular Joint Drive - Rotates around a single axis around a Unity hinge joint for a limited angular distance.
  • Transform - Directly manipulates the Transform position of the drive to move or rotate without being part of the Unity physics system.
    • Linear Transform Drive - Moves in a single axis direction for a limited distance.
    • Angular Transform Drive - Rotates around a single axis for a limited angular distance.

Requires the Unity software version 2018.3.10f1 (or above).

Getting Started

Please refer to the installation guide to install this package.

Documentation

Please refer to the How To Guides for usage of this package.

Further documentation can be found within the Documentation directory and at https://academy.vrtk.io

Contributing

Please refer to the Extend Reality Contributing guidelines and the project coding conventions.

Code of Conduct

Please refer to the Extend Reality Code of Conduct.

License

Code released under the MIT License.

changelog

Changelog

2.10.31 (2024-09-28)

Miscellaneous Chores

2.10.30 (2024-09-28)

Miscellaneous Chores

2.10.29 (2024-09-28)

Miscellaneous Chores

2.10.28 (2024-06-15)

Miscellaneous Chores

2.10.27 (2024-05-11)

Miscellaneous Chores

2.10.26 (2024-05-11)

Miscellaneous Chores

2.10.25 (2024-05-11)

Miscellaneous Chores

2.10.24 (2024-05-11)

Bug Fixes

  • Editor: disable custom inspector if ignore custom editor is set (63e6de0)

    If the ZINNIA_IGNORE_CUSTOM_INSPECTOR_EDITOR ifdef is set then the custom editor must also be disabled otherwise an error will occur.

2.10.23 (2024-04-17)

Miscellaneous Chores

2.10.22 (2024-04-17)

Miscellaneous Chores

2.10.21 (2023-07-10)

Miscellaneous Chores

2.10.20 (2023-07-10)

Miscellaneous Chores

2.10.19 (2023-07-08)

Miscellaneous Chores

2.10.18 (2023-07-08)

Miscellaneous Chores

2.10.17 (2023-07-05)

Miscellaneous Chores

2.10.16 (2023-07-05)

Miscellaneous Chores

2.10.15 (2023-06-06)

Miscellaneous Chores

2.10.14 (2023-05-06)

Miscellaneous Chores

2.10.13 (2023-05-06)

Miscellaneous Chores

2.10.12 (2023-05-06)

Miscellaneous Chores

2.10.11 (2023-05-02)

Miscellaneous Chores

2.10.10 (2023-05-02)

Miscellaneous Chores

2.10.9 (2023-05-02)

Miscellaneous Chores

2.10.8 (2023-04-23)

Miscellaneous Chores

2.10.7 (2023-04-17)

Miscellaneous Chores

2.10.6 (2023-04-16)

Miscellaneous Chores

2.10.5 (2023-04-16)

Miscellaneous Chores

2.10.4 (2023-04-16)

Miscellaneous Chores

2.10.3 (2023-04-04)

Miscellaneous Chores

2.10.2 (2023-04-03)

Miscellaneous Chores

2.10.1 (2023-04-03)

Miscellaneous Chores

2.10.0 (2023-03-28)

Features

  • Drive: replace isActiveAndEnabled (8dbe70b)

    The isActiveAndEnabled call has been replaced with CheckIsActiveAndEnabled as this is more consistent.

2.9.8 (2023-03-28)

Miscellaneous Chores

2.9.7 (2023-03-28)

Miscellaneous Chores

2.9.6 (2023-03-22)

Miscellaneous Chores

2.9.5 (2023-03-21)

Miscellaneous Chores

2.9.4 (2023-03-21)

Miscellaneous Chores

2.9.3 (2023-03-18)

Miscellaneous Chores

2.9.2 (2023-03-16)

Miscellaneous Chores

2.9.1 (2023-03-16)

Miscellaneous Chores

2.9.0 (2023-03-16)

Features

  • AngularDriver: auto set up twist axis settings (9f4f3aa)

    The AngularTransformDrive can have the FollowRotateAroundAngularVelocity Follow Tracking setting but it never automatically set up the axis the drive was set on.

    This now allows for it to automatically set up the axis based on what axis is selected on the Drive Facade.

2.8.0 (2023-03-14)

Features

  • Drive: add grabbed target threshold (b24b3fe)

    The Target Value Reached threshold is usually larger for an auto moving drive so it cannot overshoot, but for a grabbed drive the target threshold can tend to be too large causing a jitter when the grabbed drive is moved to the extremes.

    This adds a new threshold value for when the drive is grabbed so it can be even more refined for a better experience.

2.7.2 (2023-03-13)

Bug Fixes

  • Prefabs: ensure prefabs are built for Unity 2018 (969c4bc)

    The previous commit updated the prefabs for Unity 2021 which struggle to be backward compatible. The prefabs should always be in the 2018 format as this is the earliest version of Unity that is supported.

2.7.1 (2023-03-13)

Miscellaneous Chores

2.7.0 (2023-03-13)

Features

  • AngularDrive: allow multiple rotation modifiers (957a720)

    The AngularTransformDrive now can take multiple rotation modifiers in case the actions are both follow and need to both affect the rotation modifiers inside the actions.

  • Drive: add initial target value reached threshold (5d3aff2)

    The target value reached threshold has been extended to have another property for the initial target value, so if the drive is moving to the initial target position then a different threshold can be provided as the initial drive speed is generally much higher so a higher threshold may be required.

2.6.8 (2023-03-13)

Miscellaneous Chores

2.6.7 (2023-03-13)

Miscellaneous Chores

2.6.6 (2023-03-11)

Miscellaneous Chores

2.6.5 (2023-03-11)

Bug Fixes

  • Drive: decrease initial drive speed each frame for accuracy (03ea2af)

    There was an issue where a high initial drive speed would mean a drive (specifically a joint drive) would never reach the initial target value as it would just keep overshooting and a small threshold was never enough to ensure it could reach the target. A larger threshold would just cause drive issues.

    The solution is to ensure the initial drive speed starts high, but over each frame reduces by a certain amount (e.g. by half each frame) and therefore the fidelity of the drive will get tighter with each frame meaning it slows down but will have an increasing higher chance of reaching its initial target.

2.6.4 (2023-03-11)

Miscellaneous Chores

2.6.3 (2023-03-11)

Miscellaneous Chores

2.6.2 (2023-03-02)

Bug Fixes

  • Drive: prevent applying velocies to a kinematic rigidbody (f917fc5)

    There is no point in applying a velocity to a kinematic rigidbody as it can accept no forces anyway, so these checks just make sure the rigidbody is not kinematic before applying velocities to it.

2.6.1 (2023-02-28)

Bug Fixes

  • Prefabs: provide better angular joint drive drag settings (6673d15)

    The drag settings for the Angular Joint Drive prefab have been updated so they are firstly more inline with the transform drive and so the grabbed drag is not so high as this will just refuse to work on certain refresh rate settings as physics is tied to the headset refresh rate.

2.6.0 (2023-02-28)

Features

  • Drive: add helper events for move to target value (02ee092)

    Two new helper events have been added to the internal drive component that will emit when the Facade.MoveToTargetValue property is changed so extra processing can be done on that event occurring if needed.

    These events will also be processed on enable of the drive so initial values will be taken into consideration.

  • DriveFacade: expose Interactable IsVisible property on Facade (faa2bf1)

    The InteractableFacade has an IsVisible property that can be used to get the visibility status of the Interactable or set whether the Interactable is visible or not.

    This is now bubbled up and exposed on the Controllable DriveFacade so it is easier to access.

  • LinearTransformDrive: add reference to artificial velocity (9554dd5)

    The LinearTransformDrive now has a reference to the Artificial Velocity Applier component that is used when the Interactable Object is ungrabbed. This is to keep it inline with the AngularTransformDrive which also has a reference to the same component.

    The ungrabbed/grabbed drag options on both Linear drives has also been set to 5/5 for consistency.

Bug Fixes

  • AngularDrive: ensure target value threshold is normalized value (bd69659)

    The targetValueReachedThreshold property should be a normalized value as both InitialTargetValue and TargetValue are normalized properties.

    But on the AngularDrive it was being treated as the actual rotation value threshold, which caused confusion as it was different between drive types and also caused certain events to break as they were expecting to check off the normalized value.

    All prefabs have had their default targetValueReachedThreshold set to 0.0075 as this is a decent default normalized threshold to consider the drive is at the target value.

  • AngularJointDrive: stop motor process every frame if not needed (5260849)

    The ProcessAutoDrive method is called in the MomentProcess every frame and this would cause the motor to be set every frame even if nothing had changed, which would cause the rigidbodies to be affected every frame causing potential issues with collisions.

    This has been fixed by only updating the motor if the drive speed has changed from the existing velocity.

  • AngularTransformDrive: process drive speed correctly on auto drive (32f7257)

    The drive speed on the auto drive function on the transform drive is twice as fast as the joint drive. This fix just halves the drive speed when setting the rotation as it should be half of the speed to set the actual speed like the joint motor does.

  • DriveFacade: set tooltip to correct text (5f7944f)

    The SnapToStepOnRelease property had the wrong tooltip text and this has now been updated to match the property documentation summary.

2.5.18 (2023-02-26)

Miscellaneous Chores

2.5.17 (2023-02-22)

Miscellaneous Chores

2.5.16 (2023-02-22)

Miscellaneous Chores

2.5.15 (2023-02-19)

Miscellaneous Chores

2.5.14 (2023-02-19)

Miscellaneous Chores

2.5.13 (2023-02-16)

Miscellaneous Chores

2.5.12 (2023-02-16)

Miscellaneous Chores

2.5.11 (2023-02-15)

Miscellaneous Chores

2.5.10 (2023-02-15)

Miscellaneous Chores

2.5.9 (2023-02-13)

Miscellaneous Chores

2.5.8 (2023-02-08)

Miscellaneous Chores

2.5.7 (2023-02-08)

Miscellaneous Chores

2.5.6 (2022-07-08)

Bug Fixes

  • Drive: ensure the grabbed/ungrabbed drag values are set on enable (3a9688c)

    The GrabbedDrag and UngrabbedDrag values were not being propagated to the relevant Float event proxy when the controllable was enabled as the code to set their values was not being called until the property was changed.

    This fix ensures the data is propagated in the OnEnable call.

2.5.5 (2022-07-05)

Miscellaneous Chores

2.5.4 (2022-06-25)

Miscellaneous Chores

2.5.3 (2022-06-16)

Miscellaneous Chores

2.5.2 (2022-06-16)

Miscellaneous Chores

2.5.1 (2022-06-16)

Miscellaneous Chores

2.5.0 (2022-06-16)

Features

  • Editor: use string constants for text labels (ddb4d60)

    The text labels are now string constants to make it clear at the top of the file what the text is.

2.4.0 (2022-05-30)

Features

  • Drive: add IsGrabbable option (66df056)

    The IsGrabbable option on the Drive derivatives allows the toggle of whether the Interactable Object is grabbable or not, which can easily simulate locking the drive mechanism.

    The Interactable reference is now part of Drive so all inherited drives can access the InteractabeFacade as well as the MeshContainer if required.

    The Gizmo color option has also been moved to the Drive as it isn't something that is needed on the Facade and it can then be shared across all drive types.

Bug Fixes

  • Facade: ensure gizmos draw correct length with parent scale (71b5234)

    There was an issue where the gizmo was not drawing the correct length if the parent GameObject was scaled as this is affecting the world scale and therefore the gizmo would be affected also.

    As drive limits are world scale, then the gizmo should represent this by drawing to world scale, which this commit fixes.

    The gizmo colour is now also an option on the Facade to allow the color to be customised if required.

2.3.2 (2022-05-28)

Miscellaneous Chores

2.3.1 (2022-05-20)

Bug Fixes

  • Documentation: add missing API docs (c4aa830)

    The new grabbed/ungrabbed drag values were missing from the docs. They have now been auto generated to include them.

2.3.0 (2022-05-20)

Features

  • Facade: add grabbed/ungrabbed drag options (70c7045)

    The Facade now has the option to provide a grabbed and ungrabbed drag value on the control. This sets the amount of drag/friction applied to the control when it is grabbed and moved or released and moving under its own inertia.

2.2.4 (2022-05-20)

Miscellaneous Chores

2.2.3 (2022-05-20)

Miscellaneous Chores

2.2.2 (2022-05-16)

Miscellaneous Chores

2.2.1 (2022-05-13)

Miscellaneous Chores

2.2.0 (2022-05-09)

Features

  • prefabs: add selection base component to facade (3b08688)

    The new Zinnia BaseGameObjectSelector when added to a GameObject will cause the GameObject to be selected when the mesh is clicked in the Unity scene view. This has been added to the facade to ensure the facade is selected when the mesh is clicked.

2.1.4 (2022-05-09)

Miscellaneous Chores

2.1.3 (2022-05-09)

Miscellaneous Chores

2.1.2 (2022-05-09)

Miscellaneous Chores

2.1.1 (2022-05-05)

Miscellaneous Chores

2.1.0 (2022-04-29)

Features

  • LinearDriveFacade: editor button to align to initial target value (6efd2c8)

    A new custom editor for the LinearDriveFacade has been added that just adds a button to the bottom of the component inspector that when clicked will align the linear drive component in the editor scene to the position that the initial target value is set to.

    This makes it easier to line up the drive object in the editor as it can be shown at the various stages of its travel.

2.0.4 (2022-04-28)

Bug Fixes

  • DriveFacade: ensure ObjectReference fields render correctly (38d711b)

    The ObjectReference fields cannot be marked as Restricted otherwise they won't render using the correct custom property drawer as they will attempt to just render using the Restricted attribute instead.

2.0.3 (2022-04-28)

Miscellaneous Chores

2.0.2 (2022-04-28)

Miscellaneous Chores

2.0.1 (2022-04-28)

Miscellaneous Chores

2.0.0 (2022-04-28)

:warning: BREAKING CHANGES :warning:

  • Malimbe: This removes the last remaining elements of Malimbe and whilst it does not cause any breaking changes within this package, it removes Malimbe as a dependency which other projects that rely on this package may piggy back off this Malimbe dependency so it will break any project like that.

All of the previous functionality from Malimbe has been replicated in standard code without the need for it to be weaved by the Malimbe helper tags. (b2ffd78)

Features

  • Malimbe: remove malimbe dependency (b2ffd78)

1.16.4 (2022-03-15)

Miscellaneous Chores

1.16.3 (2022-03-15)

Miscellaneous Chores

1.16.2 (2022-03-15)

Miscellaneous Chores

1.16.1 (2022-03-15)

Miscellaneous Chores

1.16.0 (2022-03-08)

Features

  • Driver: provide snap to step on release option (b02837a)

    A new option on the DriveFacade now makes it easier to have the controllable snap to the step value upon the interactable's release by implementing simple logic that can be toggled on and off by the new boolean option.

1.15.1 (2022-03-07)

Bug Fixes

  • Editor: only apply position when auto creating controllable (3a1ec30)

    The Controllable Creator now only applies the original mesh position to the new controllable prefab and the rotation, scale of the mesh stay on the original mesh. This is because controllables that have external rotations and scales will warp the object inside so the mesh is the thing that needs rotating and scaling.

1.15.0 (2022-03-03)

Features

  • Editor: add controllable creator window (90b78aa)

    The new Controllable Creator window makes it easier to turn an existing scene mesh into a controllable by automatically adding the selected prefab and nesting the mesh in the appropriate location.

1.14.2 (2022-03-03)

Miscellaneous Chores

1.14.1 (2022-03-02)

Miscellaneous Chores

1.14.0 (2022-03-02)

Features

  • package.json: add information urls to package (f03f594)

    The changelog, documentation and license url has been added to the package.json as these are used within the Unity package manager.

1.13.23 (2022-02-14)

Miscellaneous Chores

1.13.22 (2022-02-14)

Miscellaneous Chores

1.13.21 (2022-02-14)

Miscellaneous Chores

1.13.20 (2022-02-05)

Miscellaneous Chores

1.13.19 (2022-02-05)

Miscellaneous Chores

1.13.18 (2022-01-17)

Miscellaneous Chores

1.13.17 (2022-01-17)

Miscellaneous Chores

1.13.16 (2022-01-13)

Miscellaneous Chores

1.13.15 (2022-01-13)

Miscellaneous Chores

1.13.14 (2022-01-13)

Miscellaneous Chores

1.13.13 (2022-01-13)

Miscellaneous Chores

1.13.12 (2022-01-12)

Miscellaneous Chores

1.13.11 (2022-01-12)

Miscellaneous Chores

1.13.10 (2022-01-03)

Miscellaneous Chores

1.13.9 (2022-01-03)

Miscellaneous Chores

1.13.8 (2021-12-03)

Miscellaneous Chores

1.13.7 (2021-12-03)

Miscellaneous Chores

1.13.6 (2021-07-23)

Miscellaneous Chores

1.13.5 (2021-07-21)

Miscellaneous Chores

1.13.4 (2021-07-21)

Miscellaneous Chores

1.13.3 (2021-07-19)

Miscellaneous Chores

1.13.2 (2021-07-19)

Miscellaneous Chores

1.13.1 (2021-07-19)

Miscellaneous Chores

1.13.0 (2021-06-26)

Features

  • prefab: add tag and string identifiers to drive elements (24c99fb)

    The drive elements have had a couple of tags and string identifiers added to the parts of the drive that are reported upon collisions such as the joint drives will report the joint GameObject and maybe the Interactable GameObject, whereas the transform drives will only report the Interactable GameObject.

    These additional elements make it easy to identify the drive and type based on the tag and string of the found colliding object.

1.12.16 (2021-06-24)

Miscellaneous Chores

1.12.15 (2021-06-24)

Miscellaneous Chores

1.12.14 (2021-06-24)

Miscellaneous Chores

1.12.13 (2021-06-24)

Miscellaneous Chores

1.12.12 (2021-06-19)

Miscellaneous Chores

1.12.11 (2021-06-19)

Miscellaneous Chores

1.12.10 (2021-06-10)

Miscellaneous Chores

1.12.9 (2021-06-10)

Miscellaneous Chores

1.12.8 (2021-06-01)

Miscellaneous Chores

1.12.7 (2021-05-14)

Miscellaneous Chores

1.12.6 (2021-05-10)

Miscellaneous Chores

1.12.5 (2021-05-09)

Miscellaneous Chores

1.12.4 (2021-05-09)

Miscellaneous Chores

1.12.3 (2021-05-03)

Miscellaneous Chores

1.12.2 (2021-05-03)

Miscellaneous Chores

1.12.1 (2021-04-07)

Miscellaneous Chores

1.12.0 (2021-04-07)

Features

  • Utility: add prefab creator (13cdc05)

    The latest version of Zinnia has the basis of a prefab creator that can be used to enable easy adding of prefabs to a scene without needing to drag and drop from directories. Instead a new menu item is added for quickly adding prefabs. The guide has been updated to accommodate this and the FodyWeavers.xml is now located in the root to serve both the Runtime and Editor scripts.

Bug Fixes

  • package.json: add missing reference to Editor directory (ccf7106)

    The build will fail without referencing this new Editor directory so it has now been added to the package.

1.11.22 (2021-04-01)

Miscellaneous Chores

1.11.21 (2021-03-29)

Miscellaneous Chores

1.11.20 (2021-03-29)

Miscellaneous Chores

1.11.19 (2021-03-29)

Miscellaneous Chores

1.11.18 (2021-03-29)

Miscellaneous Chores

1.11.17 (2021-03-04)

Miscellaneous Chores

1.11.16 (2021-03-03)

Miscellaneous Chores

1.11.15 (2021-03-03)

Miscellaneous Chores

1.11.14 (2021-02-27)

Miscellaneous Chores

1.11.13 (2021-02-27)

Miscellaneous Chores

1.11.12 (2021-02-04)

Miscellaneous Chores

1.11.11 (2021-02-04)

Miscellaneous Chores

1.11.10 (2021-01-07)

Miscellaneous Chores

1.11.9 (2021-01-07)

Miscellaneous Chores

1.11.8 (2021-01-07)

Miscellaneous Chores

1.11.7 (2021-01-04)

Miscellaneous Chores

1.11.6 (2020-12-26)

Miscellaneous Chores

1.11.5 (2020-12-21)

Miscellaneous Chores

1.11.4 (2020-12-21)

Miscellaneous Chores

1.11.3 (2020-12-17)

Miscellaneous Chores

1.11.2 (2020-12-17)

Miscellaneous Chores

1.11.1 (2020-12-13)

Miscellaneous Chores

1.11.0 (2020-12-13)

Features

  • DriveFacade: add object reference links to common nested objects (7eea534)

    The new ObjectReference property type has been added to the DriveFacade to highlight some common nested object references on the facade inspector, making it easier to find some of the nested required prefabs for easier customisation.

1.10.18 (2020-12-12)

Miscellaneous Chores

1.10.17 (2020-12-12)

Miscellaneous Chores

1.10.16 (2020-12-11)

Miscellaneous Chores

1.10.15 (2020-12-11)

Bug Fixes

  • HowToGuides: apply document styling guidelines (be7249c)

    The document style guidelines have been updated and now have been applied to the guides in this repo.

1.10.14 (2020-11-21)

Miscellaneous Chores

1.10.13 (2020-11-10)

Bug Fixes

  • Drive: process the drive correctly after disable and re-enable (a7654a6)

    There was an issue where the drive would not correctly run the process code after it was disabled and re-enabled because the process code relied on the fact that the drive would start in a central position and move to a different location which would allow the process mechanism to operate because the value delta has changed.

    But upon disabling and re-enabling, the value of the button location would be the same causing no process to occur which would then in turn prevent the events from being emitted.

    This fix just ensures that upon disable and re-enable the process at least happens once to ensure the correct set up occurs.

1.10.12 (2020-11-01)

Miscellaneous Chores

1.10.11 (2020-11-01)

Miscellaneous Chores

1.10.10 (2020-10-02)

Miscellaneous Chores

1.10.9 (2020-10-02)

Miscellaneous Chores

1.10.8 (2020-08-29)

Miscellaneous Chores

1.10.7 (2020-08-29)

Miscellaneous Chores

1.10.6 (2020-08-26)

Bug Fixes

  • Drive: calculate correct step value for increments other than 1 (cbc9d7f)

    The Step Value calculation was only working if the Step Increment value was 1 because the final value should be multiplied by the Step Increment value but it wasn't. It is now being multiplied correctly.

1.10.5 (2020-08-26)

Miscellaneous Chores

1.10.4 (2020-08-15)

Miscellaneous Chores

1.10.3 (2020-08-15)

Miscellaneous Chores

1.10.2 (2020-08-14)

Miscellaneous Chores

1.10.1 (2020-08-14)

Miscellaneous Chores

1.10.0 (2020-08-05)

Features

  • HowToGuides: add guide on creating artificial button (7c55c25)

    The guide shows how to create an artificial button using the Linear Transform Drive.

Bug Fixes

  • HowToGuides: apply style guidelines to Creating A Physics Button (0d8e5dd)

    The Creating A Physics Button guide has been updated to be more inline with the style guidelines.

1.9.9 (2020-08-04)

Bug Fixes

  • Documentation: apply style guidelines (3efe08d)

    The guide has had the style guidelines applied to it to make it more consistent.

1.9.8 (2020-07-30)

Bug Fixes

  • Drive: expose initial drive value speed as public property (da2c338)

    The IntialDriveValueSpeed is now a public changable property rather than a protected constant field so it can be adapted to suit different requirements.

    The AngularTransformDrive did not work well at such a high speed so it has now been reduced to make it work correctly using this new ability to publicly set the initial speed of the drive.

1.9.7 (2020-07-28)

Miscellaneous Chores

1.9.6 (2020-07-28)

Miscellaneous Chores

1.9.5 (2020-07-22)

Miscellaneous Chores

1.9.4 (2020-07-11)

Bug Fixes

  • Facade: use extension method to set enum value (02ad5b9)

    The SetDriveAxis method now uses the Zinnia EnumExtensions helper method to set the value of the enum by the index instead of repeating the same logic.

1.9.3 (2020-07-11)

Miscellaneous Chores

1.9.2 (2020-07-11)

Miscellaneous Chores

1.9.1 (2020-07-08)

Bug Fixes

  • Drive: rework the drive reset functionality (e6a7aa8)

    The AngularDrive ResetRotations was causing the MoveToTargetValue functionality to break because it was always resetting the drive everytime the target value changed. This has been fixed by reworking the Reset concept into the core Drive class and having the ability of only calling ResetDrive the first time SetUp is called and then it won't call Reset again until a manual intervention occurs.

1.9.0 (2020-07-07)

Features

  • Driver: add methods for properties in UnityEvents (7a93c4e)

    A number of properties cannot be changed via UnityEvents because they are non-standard data types, so methods have been added that allow for these data types to be changed.

    A small fix for the DriveLimits not being updated has been added and the Setup code has been refactored so the individual setup elements can now be run individually if need be.

    Also, now when the DriveAxis is changed, it will reset the rotation on the axis as otherwise the rotations cause adverse effects. It needs looking into further in the future to see if the rotational data can be kept when switching axes as this would be a nice feature.

Bug Fixes

  • dependabot: remove bddckr from default reviewer (7c7a812)

    Only need one reviewer in the dependabot config.

1.8.2 (2020-07-07)

Miscellaneous Chores

1.8.1 (2020-07-05)

Miscellaneous Chores

1.8.0 (2020-07-03)

Features

  • API: add auto-generated API documentation (40e4e9a)

    The API documentation is auto generated with docfx and converted to markdown via turndown in a custom nodejs script.

Bug Fixes

  • package.json: add docfx.json file (6ebcd16)

    The docfx.json file was missing from the package.json causing the build process to fail. It has now been added.

Miscellaneous Chores

1.7.14 (2020-06-27)

Bug Fixes

  • Interactables: update Interactables namespace to latest (4eb88fa)

    The Interactables namespace changed in version 1.9.0 of the Interactables package, so it has been updated accordingly.

1.7.13 (2020-06-08)

Miscellaneous Chores

1.7.12 (2020-06-08)

Miscellaneous Chores

1.7.11 (2020-05-31)

Miscellaneous Chores

1.7.10 (2020-05-31)

Miscellaneous Chores

1.7.9 (2020-05-31)

Miscellaneous Chores

1.7.8 (2020-05-22)

Miscellaneous Chores

1.7.7 (2020-05-22)

Miscellaneous Chores

1.7.6 (2020-05-22)

Miscellaneous Chores

1.7.5 (2020-05-22)

Miscellaneous Chores

1.7.4 (2020-04-21)

Miscellaneous Chores

1.7.3 (2020-04-21)

Miscellaneous Chores

1.7.2 (2020-04-14)

Miscellaneous Chores

1.7.1 (2020-04-14)

Miscellaneous Chores

1.7.0 (2020-04-09)

Features

  • HowToGuides: add guide showing how to create a wheel (61e9d1e)

    Added a guide demonstrating how to create a wheel.

1.6.0 (2020-04-09)

Features

  • HowToGuides: add guide showing how to create a lever (f48649c)

    Added guide showing how to create a lever.

1.5.3 (2020-04-08)

Miscellaneous Chores

1.5.2 (2020-04-07)

Miscellaneous Chores

1.5.1 (2020-04-06)

Bug Fixes

  • HowToGuides: move page links to bottom of page (7eecd84)

    The page links on the Creating A Slider guide were in the wrong place and have now been moved to the bottom.

  • HowToGuides: remove erroneous image (64e8602)

    There was an image for the Creating A Physics Button guide that was not being used. It has now been deleted.

1.5.0 (2020-04-06)

Features

  • HowToGuides: add guide to show how to create a physics button (1c75c02)

    Added a guide demonstrating how to make a physics button.

1.4.1 (2020-04-05)

Bug Fixes

  • Drive: use actual value for initial start drive speed (f317c95)

    Using a drive speed that is too high causes problems with Unity joints and can cause them to break their restrictions.

    Instead of using a float max value, it now uses just a high value that is fast enough to not notice but not fast enough to break the Unity joints system.

    Whilst 5000f seems like a magic number, it's just a number that was decided that fell into the category of not breaking things but being fast enough to not notice.

1.4.0 (2020-04-03)

Features

  • HowToGuides: add guide on how to create a door (9e450ef)

    The Angular Drive has been used to create an interactable door.

Miscellaneous Chores

1.3.1 (2020-04-03)

Miscellaneous Chores

1.3.0 (2020-03-19)

Features

  • HowToGuides: add documentation for creating a slider (bbd9e21)

    A guide that shows how to create a slider utilizing the linear drive from the controllables.

  • HowToGuides: add guide for creating interactable drawer (4c813e3)

    Added a guide to show how to make an interactable drawer.

1.2.0 (2020-03-16)

Features

  • Drive: emit event when the initial target value is reached (3975153)

    The new InitialTargetValueReached event is emitted when the initial target value is reached and is useful for setting up initial configuration as by default the initial target value process will not emit any events even when the target value is reached so this new InitialTargetValueReached event can be used to set up any initial state required by the control.

1.1.0 (2020-03-15)

Features

  • Drive: provide initial target value for drive to start at (fd6ef0d)

    The Initial Target Value allows a drive to be given an initial normalized value to drive the control to when it is first enabled without any events being triggered.

    This is useful for starting controls at a certain point as by default they all start in their central position due to the way Unity works out drive extends for joints.

Miscellaneous Chores

1.0.2 (2020-03-05)

Miscellaneous Chores

1.0.1 (2020-03-05)

Miscellaneous Chores

1.0.0 (2020-02-26)

Features

  • structure: port controllable prefabs (4ce8318)

    The controllable prefabs from VRTK.Prefabs have been ported over to their own Tilia repo and changed slightly to make new prefabs based on the new Tilia Interactable prefab.

    The basic installation guide has been added as well.