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

Package detail

io.extendreality.vrtk.prefabs

ExtendRealityLtd1.4kMIT1.1.11

A collection of productive prefabs for rapidly building spatial computing solutions in the Unity software.

pattern, spatial, xr, vr, ar, mr

readme

VRTK logo

VRTK Prefabs v4-beta

A collection of productive prefabs for rapidly building spatial computing solutions in the Unity software.

Release License Backlog Documentation

Slack Videos Twitter

Beta Disclaimer

The VRTK Prefabs have not yet been released fully are still in a beta phase meaning there may still be undiscovered bugs, missing features and a lack of usable documentation. All of these things are being worked on but progress is slow as there is only one person actively working on these VRTK Prefabs in their spare time so please be patient and respectful. You are free to use the VRTK Prefabs in any way you wish, but if you feel you will struggle figuring stuff out for yourself without detailed documentation then it may be better off if you wait until the full release of the VRTK Prefabs.

The prefabs contained in this repository will eventually be separated out into their own repositories and packages.

Introduction

The VRTK Prefabs aim to make building spatial computing solutions in the Unity software fast and easy for beginners as well as experienced developers.

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

Getting Started

Setting up the project

  • Create a new project in the Unity software version 2018.3.10f1 (or above) using 3D Template or open an existing project.
  • Ensure Virtual Reality Supported is checked:
    • In the Unity software select Main Menu -> Edit -> Project Settings to open the Project Settings window.
    • Select Player from the left hand menu in the Project Settings window.
    • In the Player settings panel expand XR Settings.
    • In XR Settings ensure the Virtual Reality Supported option is checked.
  • Ensure the project Scripting Runtime Version is set to .NET 4.x Equivalent:
    • In the Unity software select Main Menu -> Edit -> Project Settings to open the Project Settings inspector.
    • Select Player from the left hand menu in the Project Settings window.
    • In the Player settings panel expand Other Settings.
    • Ensure the Scripting Runtime Version is set to .NET 4.x Equivalent.

Note: Unity 2019.1 (or above) requires additional project setup before importing the VRTK Prefabs.

  • Download and install the XR Legacy Input Helpers from the Unity Package Manager.
    • In the Unity software select Main Menu -> Window -> Package Manager to open the Package Manager window.
    • Select XR Legacy Input Helpers from the Packages tab in the Package Manager window.
    • Click the Install button located in the bottom right of the Package Manager window.
    • The XR Legacy Input Helpers package will now download and install into the project.

Adding the package to the Unity project manifest

  • Navigate to the Packages directory of your project.
  • Adjust the project manifest file manifest.json in a text editor.

    • Ensure https://registry.npmjs.org/ is part of scopedRegistries.
      • Ensure io.extendreality is part of scopes.
    • Add io.extendreality.vrtk.prefabs to dependencies, stating the latest version.

    A minimal example ends up looking like this. Please note that the version X.Y.Z stated here is to be replaced with the latest released version which is currently Release.

    {
      "scopedRegistries": [
        {
          "name": "npmjs",
          "url": "https://registry.npmjs.org/",
          "scopes": [
            "io.extendreality"
          ]
        }
      ],
      "dependencies": {
        "io.extendreality.vrtk.prefabs": "X.Y.Z",
        ...
      }
    }
  • Switch back to the Unity software and wait for it to finish importing the added package.

Updating to the latest version

The package will show up in the Unity Package Manager UI once the above steps have been carried out. From then on the package can be updated by selecting the package in the Unity Package Manager and clicking on the Update button or using the version selection UI.

Documentation

Visit the Academy for a collection of educational content to help you get the most out of building spatial computing solutions with the VRTK Prefabs.

Contributing

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

Code of Conduct

Please refer to the Extend Reality Code of Conduct.

License

Code released under the MIT License.

Disclaimer

These materials are not sponsored by or affiliated with Unity Technologies or its affiliates. "Unity" is a trademark or registered trademark of Unity Technologies or its affiliates in the U.S. and elsewhere.

changelog

Changelog

1.1.11 (2020-04-03)

Miscellaneous Chores

1.1.10 (2020-03-05)

Miscellaneous Chores

1.1.9 (2020-02-24)

Miscellaneous Chores

1.1.8 (2020-01-02)

Miscellaneous Chores

1.1.7 (2019-12-02)

Miscellaneous Chores

1.1.6 (2019-11-27)

Miscellaneous Chores

1.1.5 (2019-11-10)

Miscellaneous Chores

1.1.4 (2019-11-05)

Miscellaneous Chores

1.1.3 (2019-10-29)

Miscellaneous Chores

1.1.2 (2019-10-29)

Bug Fixes

  • Locomotion: disable snap to floor during teleport action (7193f18)

    There was an issue where the Snap To Floor logic would run every update frame utilizing the HMD as the origin of the surface location cast, but when the PlayArea was teleported, the HMD position would not be updated until the next frame due to the underlying SDK positional update needing a frame and then for the headset alias needing to catch up.

    This caused the Snap To Floor calculation to use the previous headset position as the origin to look for the nearest floor because the Headset alias was still at the old position at that point in the moment process.

    The fix is to utilize the new EventProcess and when the Teleporting event is emitted to disable the SnapToFloor and the SurfaceLocator within the SnapToFloor so no floor snapping can occur whilst the teleport is in progress. Then upon the Teleported event being emitted to just turn on the SnapToFloor process but to leave the SurfaceLocator still disabled. This means the SnapToFloor MomentProcessor will do a complete run of all the moments to process and the last moment is now set to emit an event which turns on the SurfaceLocator so it is available the next time the moment processor runs.

1.1.1 (2019-10-28)

Bug Fixes

  • README.md: provide more concise release data and update info (e3dc1a2)

    The Releases section has been removed and is now just a simple badge at the top of the README. There has been an additional section in Getting Started on how to update the package via the Unity Package Manager.

    The links have also been ordered in the order of appearance in the document.

1.1.0 (2019-10-27)

Features

  • .github: use organization .github repository (76597fb)

    GitHub provides a mechanism where a global organization .github repo can be used as a fallback to provide default community health files instead of repeating the same files across multiple repos.

    ExtendRealityLtd now has a .github repo which should be used as it provides the correct details for this repo.

    The README.md has been updated to provide definitive links to the relevant files.

1.0.7 (2019-10-22)

Bug Fixes

  • Interactions: interactor to emit collision stopped on disable (34d4f2f)

    There was an issue where an Interactor would not emit the CollisionStopped event if the Interactor was disabled. This was due to the internal Interactor Rule becoming disabled and rules would always be rejected on disabled components.

    A recent change in Zinnia now means the Rule can still be queried even if the component is on a deactivated GameObject. This fix simply allows the Rule within the Interactor to still be queried when the Interactor is disabled and therefore the CollisionStopped event still correctly emits.

1.0.6 (2019-10-22)

Miscellaneous Chores

1.0.5 (2019-10-20)

Miscellaneous Chores

1.0.4 (2019-10-20)

Miscellaneous Chores

1.0.3 (2019-10-20)

Documentation

Miscellaneous Chores

  • deps: use latest pipeline templates (371ace3)

1.0.2 (2019-10-15)

Bug Fixes

  • README.md: provide correct link for package releases (1027f04)

    The package release link was incorrect and pointing to VRTK. This has now been updated and references specific to VRTK have been removed.

    The README.md now reads as if it is specific to the VRTK prefabs.

1.0.1 (2019-10-15)

Bug Fixes

  • CHANGELOG.md: add meta file for Unity to consume (c9b51f0)

    Unity would complain if the package was included in another project due to packages being read only and therefore not being able to generate the .meta file for the CHANGELOG.md file.

    This fix simply adds a meta file in manually.

1.0.0 (2019-10-15)

Features

  • ci: add configuration for ci+cd pipeline (1a546ea)

    The .devops directory contains the configuration for the azure ci+cd pipeline build process.

  • README.md: add content to readme (a3f25f3)

    The README.md file is now populated with useful content about the repo and how to use it in other projects.

  • structure: add prefab collection (cf8198b)

    The prefabs from the VRTK repo have been copied over and Zinnia has been added as a dependency to the package.json file.

Documentation

  • support: add supporting .github files (24bc9c5)

    The .github files provide a way for GitHub to display useful information when performing certain tasks such as raising issues or pull requests.

    This commit also renames the LICENSE file to add the .md extension and modifies the default .gitignore to be inline with other projects.