image showing hologram overlays

World Locking Tools for Unity provides a stable and reliable world-locked coordinate system, binding the virtual/holographic world to the physical world.

World Locking Tools take the burden of world-locking holograms off of the developer, and enable scenarios that were previously unreachable. It currently supports the HoloLens family of devices via Unity's built-in VR support. Support for HoloLens and other platforms via Unity's new XR SDK plugin system is also available.

World Locking Tools locks the entire holograph space of your application to the physical world. A hologram put in position relative to physical world features will stay fixed relative to those features, and remain fixed relative to other holograms.

World Locking Tools scale naturally with both the size and complexity of the scene. Large models, large collections of models, and multi-room environments are all handled gracefully.

Getting started

Dive into the full documentation, beginning with the organization of the documentation itself, from the Guides section.

Or a quick overview of key concepts behind World Locking Tools is contained in this FAQ.

Or skip straight into introduction of key concepts, leading to further details of concepts and solutions, beginning in the Concepts section.

Samples are also contained in a sibling repo, World Locking Tools Samples. Be sure to have a look there for an instructive example. And if you don't find what you're looking for there, submit a suggestion or even your own sample.

Easy and efficient

World Locking Tools is both powerful and easy to use. Furthermore, it strives to supply only as much as a specific application requires. Any World Locking Tools feature not required by an application will incur no cost in resources or performance.

See also

These ideas are further explored in the conceptual guide. To complement the theoretical description, pragmatic samples are provided, along with how-to articles to walk through the steps involved in building applications using the World Locking Tools' stable and reliable coordinate system.

Further, reference materials for interfacing through script with World Locking Tools is included in the API Documentation.

Build Status

Branch CI Status Docs Status
master CI Status Docs Status

Useful resources on Microsoft Windows Dev Center

Academy Academy Design Design Development Development Community) Community
See code examples. Do a coding tutorial. Watch guest lectures. Get design guides. Build user interface. Learn interactions and input. Get development guides. Learn the technology. Understand the science. Join open source projects. Ask questions on forums. Attend events and meetups.

How to Contribute

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately. Follow the instructions provided by the bot. You'll only need to do fulfill the CLA bot process once across all repos using our CLA.

View the How To Contribute page for the most up-to-date instructions on contributing to World Locking Tools for Unity.

Microsoft Open Source Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct.