Welcome to the XR-Starter-Guide
made by GTXR
(Georgia Tech Extended Reality) – Your Gateway to Immersive Worlds!
Unlock the magic of Extended Reality with our comprehensive XR Starter Guide. In this repository, you'll find expertly crafted starter templates tailored to specific XR technologies, meticulously configured for various platforms, complete with essential functionality and ready-to-use assets. Our projects are all powered by Unity for seamless cross-platform compatibility, and we harness the power of C# for scripting.
- Starter templates for diverse XR Technologies
- Platform-specific configurations
- Essential functionality pre-implemented
- A treasure trove of assets
Our guide not only provides step-by-step instructions and tutorials on building XR projects but also empowers you with templates that will expedite the development process. Join GTXR on an exhilarating journey into the world of Extended Reality.
Last Updated: Feb 7, 2022
Unity Version: 2021.3.1f1
- Virtual Reality
- Augmented Reality
- Mixed Reality
- Recommended XR Tutorials
- Assets
- Version Control
- Contributing
- License
Virtual Reality (VR) is a computer-generated simulation of a three-dimensional environment that can be interacted with in a seemingly real or physical way through the use of special electronic equipment, such as a headset.
The current starter template uses Unity and OpenXR. It comes with all the necessary settings and plugins installed and configured for the project. It also has premade prefabs that can be used along with locomotion, Input Manager, and XR Ray Interactor. OpenXR is an open standard for XR platform interoperability, allowing developers to create a single application that works across multiple XR systems.
All projects in this repository are built for devices with the largest consumer base and this template is built for the Meta Quest 2 headset and can be used for any Meta headset released after it.
Using the following steps, you can set up the project on your machine and run it on your headset.
- Clone/Download the Project Repository.
- Install Unity Hub for your machine from the official Unity Site.
- Choose Unity Version - 2021.3.1f1 and add “Android Build Support” (You can skip this step as well and do it in next to next step)
- Now, click on Open under Projects and navigate to the downloaded project repository. Open the “OpenXR_Oculus” directory under VR. Unity might prompt you by saying that you do not have the correct version of Unity. Make sure you download the required version with “Android Build Support”.
- Now once you are in Unity, from the top bar, navigate to File> Build Settings > Android
- Make sure, under “Scenes in Build”, “Scene/main” is selected, and click on Switch Platform.
- That’s it, now we need to prepare our headset to run the project.
- Follow the instructions on Oculus Device Setup Page to put your device in Developer Mode
- Now go back to Unity and under Android Build Settings, click “Refresh” and make sure you can discover your headset in the drop-down. If you can’t see it, please complete the previous step. Select your headset and click “Build and Run”
Augmented Reality (AR) is a technology that superimposes digital information onto the real world, often through the use of a camera and display, such as a smartphone or tablet screen.
This repository has templates for both Android and IOS devices. The templates just have a rotating cube. They are built on AR Foundation and use ARCore and ARKit respectively for Android and IOS. These are the most popular plugins for building AR apps for smartphones. However, you can also build them natively, for example, for IOS you can also use SwiftUI and RealityKit
All projects in this repository are built for devices with the largest consumer base and this template is built for Android and IOS smartphones which still dominate the AR world.
Make Sure your Android smartphone has USB Debugging enabled. You can refer to Android Documentation for more info.
- Clone/Download the Project Repository.
- Install Unity Hub for your machine from the official Unity Site.
- Choose Unity Version - 2021.3.1f1 and add “Android Build Support” (You can skip this step as well and do it in to next step)
- Now, click on Open under Projects and navigate to the downloaded project repository. Open the “Android” directory under AR. Unity might prompt you by saying that you do not have the correct version of Unity. Make sure you download the required version with “Android Build Support”.
- Now once you are in Unity, from the top bar, navigate to File> Build Settings > Android
- Make sure, under “Scenes in Build”, “Scene/main” is selected, and click on Switch Platform.
- Connect your Android device and click “Refresh” and make sure you can discover your phone in the drop-down.
- Select your phone and click “Build and Run”.
Make Sure your Android smartphone has USB Debugging enabled. You can refer to Android Documentation for more info.
- Clone/Download the Project Repository.
- Install Unity Hub for your machine from the official Unity Site.
- You will also need to install XCode for IOS app, which you can install here with Command Line Tools and add them to path (Very Important). You must also have an Apple Developer Account.
- Choose Unity Version - 2021.3.1f1 and add “IOS Build Support” (You can skip this step as well and do it in to next step)
- Now, click on open under Projects and navigate to the downloaded project repository. Open the “Android” directory under AR. Unity might prompt you by saying that you do not have the correct version of Unity. Make sure you download the required version with “IOS Build Support”.
- Now once you are in Unity, from the top bar, navigate to File> Build Settings > IOS
- Make sure, under “Scenes in Build”, “Scene/Main” is selected, and click on Switch Platform.
- Open XCode on your device.
- Connect your IOS Device and make sure it's unlocked.
- Click “Build and Run”.
- If you run into issues, look for debugging tips here
Mixed Reality (MR) is a hybrid of virtual reality (VR) and augmented reality (AR) in which physical and digital objects coexist and interact in a real-time environment. MR combines the real and virtual worlds to produce new environments and visualizations where physical and digital objects can co-exist and interact.
The template is built for Passthrough Mixed Reality for Meta Quest Pro. This contains the main scene that has been configured to use Passthrough and Hand Tracking. You can also easily add other features from the Meta Presence Platform to this Project. This project is fully configured to be published on Quest App Lab.
All projects in this repository are built for devices with the largest consumer base and this template is built for the Meta Quest Pro (or Quest 2) headset and can be used for any Meta headset released after it.
Using the following steps, you can set up the project on your machine and run it on your headset.
- Clone/Download the Project Repository.
- Install Unity Hub for your machine from the official Unity Site.
- Choose Unity Version - 2021.3.1f1 and add “Android Build Support” (You can skip this step as well and do it in to next step)
- Now, click on Open under Projects and navigate to the downloaded project repository. Open the “MetaPassthrough” directory under MR. Unity might prompt you by saying that you do not have the correct version of Unity. Make sure you download the required version with “Android Build Support”.
- Now once you are in Unity, from the top bar, navigate to File> Build Settings > Android
- Make sure, under “Scenes in Build”, “Scene/main” is selected, and click on Switch Platform.
- Click player settings, navigate to Publishing settings, and under keystore enter temporary code 123456 for keystore and alias. You can change this as well.
- That’s it, now we need to prepare our headset to run the project.
- Follow the instructions on Oculus Device Setup Page to put your device in Developer Mode
- Now go back to Unity and under Android Build Settings, click “Refresh” and make sure you can discover your headset in the drop-down. If you can’t see it, please complete the previous step. Select your headset and click “Build and Run”
These are some recommended XR Tutorials which we suggest going through in order if you are not sure what you want to do.
- Programming
- C# (Similar to Java and not needed if you know Java) : W3Schools
- Unity
- 3D Game Development : Brackeys Youtube Playlist
- AR
- AR Enviornment Setup : Unity Getting Started with AR
- AR Application : Unity AR Marker & Planes
- VR
- VR Projects :Unity Create with VR
- Blender : Blender Guru Youtube
- Multiplayer : Photon
- Input System : VR With Andrew Youtube
- Animations : iHeartGameDev Youtube
- Avatars : Ready Player Me
- Meta Exclusive : Passthrough , Hand Tracking , Hand Gestures
- 360 Video System : Valem Youtube
- Any Other General XR Tutorials : Dilmerv Youtube Channel
All projects might have some assets imported with them. These are free to use subject to the licenses attached in the folders. Please abide by the licenses before using specific assets. Additionally, feel free to import free Assets from Unity Asset Store. Tip: When you might add assets, they might have a purple material. This might be because they are using standard material shaders, and we are using URP for our projects. You can upgrade the materials using the steps here.
If you are using any Unity project like this and using version control like git, make sure you only add specific folder to you commit. "Assets", "Packages" and "Project Settings" are the three folders that you must add. Folders like "Library" are extremely heavily and are generated by Unity the first time you open the project. Additonally you might wanna add specefic folders that might have been added externally like "Builds" or "Keystore". If any of the asset files is larger than 100MB, it is also suggested using github lfs.
Users are encouraged to suggest changes to the repository, esspecially for such an ever-growing field, and they can do so by suggesting changes to the author using the contact information updated on the profile page.
This repository is protected under the MIT License.
Copyright (c) 2023 XR-Templates
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.