Welcome to ExeudVR, a toolkit to help you to build, host and share immersive experiences on the Internet Computer.
This repository contains modules that add dynamic physics, easy configuration for object interaction, a rigged body, and WebRTC multiplayer functionality to a Unity scene. Once built, it can be used with the exeudvr-canister template, to self-host these interactive experience on the blockchain.
Make sure that Unity 2020 LTS is installed on your system.
-
Open Unity Hub and start a new project using the '3D Sample Scene (URP)' template.
-
Import the ExeudVR package, which can be downloaded from the releases page.
Assets → Import Package → Custom Package
-
Open the ExeudVR Setup window (pictured).
Window → WebXR → ExeudVR Setup -
Use the interface to complete the setup process:
- Switch build target to WebGL.
- Add dependencies, using the relevant buttons.
- Tap
Enable ExeudVR
to add enable the toolkit. - Apply settings. Note: 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 starter scenes, and press
▶️ to try it out.
Assets/ExeudVR/Scenes -
When ready, open the Build Settings window,
add the current scene, and pressBuild
.
- Unity 2020 LTS: Immersive 3D development platform.
- Universal Render Pipeline: A multiplatform render pipeline, suitable for WebXR.
- WebXR Export: Core pipeline for rendering WebGL builds on the web.
- 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 exeudvr-canister, which allows Unity WebGL builds to be self-hosted on the Internet Computer blockchain. See that repository's README for more information and a step-by-step guide to putting your experience on-chain.
Visit our homepage for more information, featured experiences built with ExeuδVR, details of the services we offer, and contact information. We are open to collaborations of all kinds, and welcome suggestions, ideas and opinions that can help us improve the tools we make.
If you would like to become a contributor to this repository, or the canister template, please reach out and we will share contribution guidelines and other useful information.
The code in this repository is released under the Mozilla Public License 2.0 unless explicitly stated otherwise. As a file-level copyleft license, MPL 2.0 requires that modifications to specific MPL-licensed files be open-sourced under the same license. However, when combining this code with your own project, you're free to choose any license for your own code and other files. MPL 2.0 code can also be combined with code under other licenses, including proprietary ones.
It's important to note that simply using or running the code doesn't trigger the distribution clause of MPL 2.0. The license obligations only apply when distributing the covered software or modifications to it. Each MPL 2.0 licensed file should contain a license notice, and the license includes a patent grant for added protection. Additionally, MPL 2.0 is compatible with GNU GPL licenses, facilitating easier integration with GPL projects.