Welcome to the ICVR repository, a Unity-based toolkit for designing immersive experiences on the Internet Computer.
Make sure that Unity 2020 LTS is installed on your system.
- Start a new URP project using Unity Hub.
-
Import the ICVR_Core and, if desired, the ICVR_DLC unity packages.
Assets → Import Package → Custom Package -
Open the ICVR Setup window.
Window → WebXR → ICVR Setup -
Use the interface to complete the ICVR setup:
- Switch build target to WebGL
- Add dependencies: Newtonsoft Json and WebXR Export (as scoped UPM package)
- Click on Enable ICVR Settings to add the
ICVR
Scripting Define Symbol. - Apply relevant settings. Note that this will override your current settings.
-
Check that WebXR Export is enabled for the WebGL target.
Project Settings → XR Plug-in Management
-
Open one of the test scenes
Bare bones: Assets/ICVR/Scenes
Templates: Assets/ICVR_Scenes, using DLC Content -
Open the Build Settings window, add the current scene and click Build
-
For compatibility with the ICVR-React template, place the build in a folder called
unity_build
.
- Unity 2020 LTS: Immersive 3D development platform.
- Universal Render Pipeline: A multiplatform render pipeline, suitable for WebXR.
- WebXR Export: Turns WebGL builds into immersive experiences.
- C#: A modern, object-oriented programming language.
Each class is documented in a corresponding markdown file, and linked in the class definition summary. The top level contains instructions on how to add documentation to any contributions.
This repository is intended to be used with icvr-canister, which allows the Unity WebGL builds to be self-hosted on the Internet Computer blockchain. See that repository's README for more information.
The framework is open-source and was initially funded by non-dilutive grants from the Internet Computer. I welcome sponsorship in all forms and look forward to scaling this project as more resources become available. Please visit my sponsorship page for more information.
Code and documentation copyright 2023 Will Guest. Code released under the Mozilla Public License 2.0.