Basis Philosophy <- read our Philosophy here!
We are an MIT-Licensed Open-Source project with a focus on open development and full access to any optional modification desired or required.
Our goal is to help equip VR Creators, so we can accelerate the growth of VR.
We are actively working on Basis. If you like what you see, please consider contributing in any way you can.
Do you have a suggestion for improving Basis? Please fork the repo and create a pull request! You can also open an issue with the tag “improvement”. Not sure how to contribute, but still wanting to help out? Consider donating! We appreciate any help possible.
Please help shape the future of Basis and leave your mark on its foundation.
- Fork the Project
- Optionally, Setup CI Secrets.
- Create your Feature Branch (
git checkout -b feature/ACrazyNewFeature) - Commit your Changes (
git commit -m 'Add some ACrazyNewFeature') - Push to the Branch (
git push origin feature/ACrazyNewFeature) - Open a Pull Request
This project is currently using Unity 6 (open the project through Unity Hub to see the version) Other Unity versions may work, but will require changes and adaptations. Currently, OPENXR and SteamVR are supported, as well as OPENXR Quest.
As a note, command line args for basis are:
to disable booting a VR mode. --disable-OpenVRLoader --disable-OpenXRLoader
to force a VR mode from boot. --force-OpenXRLoader --force-OpenVRLoader
- Make sure you have the correct Unity version installed.
- Clone the repository
git clone https://github.com/BasisVR/Basis.git
- Open the project and make sure to load the scene Initialisation
- Enter play!
Basis can also be built as a Web player that runs in the browser on WebAssembly and WebGPU.
- Install Unity's Web build support module for the project's editor version.
- Build with
Basis/Build/Web Player, or from the command line with-buildTarget WebGL -executeMethod BasisWebBuild.BuildWeb -customBuildPath <folder>. The build targets WebGPU only and 64-bit WebAssembly (up to 16 GB of memory), so players need a browser with WebGPU and WebAssembly Memory64, such as current Chrome or Edge. Safari does not support Memory64 yet. - Serve the output folder over HTTPS (localhost works for testing). Serving the
.unitywebfiles withContent-Encoding: brmakes loading faster. - Browsers cannot use UDP, so web builds connect over WebSocket, which is a separate package (
com.basis.transport.websocket) that Basis does not include. Install it into the Unity project before building for the web, and into every server web players should join. See "Web Clients (WebSocket)" inBasis Server/Docker/README.md. - Browsers download avatars, worlds and props themselves, so the host serving them must send
Access-Control-Allow-Originheaders (for example the CORS option of a CDN pull zone), and content must be built for the Web target. - A link can join a server on load:
?connection=wss://example.com:4296&password=...&name=...(connectionalso acceptshost:port).
Not available in the Web player yet: voice chat, VR, Steam Audio, MediaPipe tracking, lip sync, the media player, and Basis global illumination and ray traced AO.
basis enquiries - developerbasis@gmail.com Luke Dooly - @lukedooly - doolanl208@gmail.com
Discord:
Our Discord Community
Doolys Discord Account
Thank you to everyone who has helped Basis become something remarkable.
Distributed under the MIT License. See MIT License for more information.
This would not be possible without the following:
- ULipSync
- UnityJigglePhysics
- opussharp
- opus
- Steam Audio
- Unity Starter Assets - ThirdPerson
- RNNoise
- RNNoise.Net
- unity
- ionic icons
- LiteNetLib
- K4os.Compression.LZ4
- cilbox
This project includes third-party software under the following licenses:
- Steam Audio - See
Basis/Packages/com.steam.steamaudio/LICENSE.md - OpenLipSync ONNX Runtime (MIT) - See
Basis/Packages/com.basisvr.openlipsync/THIRD_PARTY_NOTICES.md - SQLitePCLRaw - Copyright Eric Sink and contributors. NuGet dependency of the standalone server's sqlite player storage.
- OpenVR - (C) Valve Corporation. See
Basis/Packages/com.valvesoftware.unity.openvr/LICENSE.md - SteamVR - (C) Valve Corporation. See
Basis/Packages/com.steam.steamvr/LICENSE
- Opus Codec - Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic, Jean-Marc Valin, Timothy B. Terriberry, CSIRO, Gregory Maxwell, Mark Borgerding, Erik de Castro Lopo. See
Basis/Packages/com.avionblock.opussharp/Opus_LICENSE_PLEASE_READ.txt
- uLipSync - Copyright 2021 hecomi. See
Basis/Packages/com.hecomi.ulipsync/LICENSE.md - OpusSharp - Copyright 2026 AvionBlock. See
Basis/Packages/com.avionblock.opussharp/LICENSE.txt - URP Volumetric Fog - Copyright 2025 Cristian Qiu Felez. See
Basis/Packages/com.cqf.urpvolumetricfog/LICENSE.md - RNNoise.Net - Copyright 2023 Yellow Dog Man Studios. See
Basis/Packages/com.xiph.rnnoise/LICENSE - HVR Basis Comms - Copyright 2025 Hai~ and MR LUKE B DOOLAN. See
Basis/Packages/dev.hai-vr.basis.comms/LICENSE - HVR Basis NDMF - Copyright (c) 2025 Haï~. See
Basis/Packages/dev.hai-vr.basis.ndmf/LICENSE - MeaMod.DNS - Copyright 2021 James Weston. See
Basis/Packages/nuget.meamod.dns/LICENSE - Newtonsoft.Json - Copyright 2007 James Newton-King. See
Basis/Packages/org.basisvr.newtonsoft.json/LICENSE - BouncyCastle - Copyright 2000-2024 The Legion of the Bouncy Castle Inc. See
Basis/Packages/org.basisvr.bouncycastle/LICENSE - Base128 - See
Basis/Packages/org.basisvr.base128/LICENSE - Generator.Equals - Copyright Diego Frata. See
Basis/Packages/org.basisvr.generator.equals/LICENSE - SimpleBase - Copyright Sedat Kapanoglu. See
Basis/Packages/org.basisvr.simplebase/LICENSE - ZeroMessenger - Copyright 2024 Annulus Games. See
Basis/Packages/com.basis.zeromessenger/LICENSE.md - K4os.Compression.LZ4 - Copyright 2017 Milosz Krajewski. See
Basis/Packages/org.basisvr.k4os.compression.lz4/LICENSE - Microsoft.Data.Sqlite - Copyright .NET Foundation and Contributors. NuGet dependency of the standalone server's sqlite player storage.
- UnityJigglePhysics - MIT licensed upstream
- AudioLink - MIT licensed upstream
- cilbox - MIT licensed upstream
- SQLite - Bundled through SQLitePCLRaw for the standalone server's sqlite player storage.
- Inter - Copyright 2020 The Inter Project Authors. See
Basis/Packages/com.basis.sdk/LICENSE-Inter-OFL.txt. - Poppins - Copyright 2020 The Poppins Project Authors. See
Basis/Packages/com.basis.sdk/LICENSE-Poppins-OFL.txt. - Noto Sans JP - Copyright 2014-2021 Adobe, with Reserved Font Name 'Source'. See
Basis/Packages/com.basis.sdk/LICENSE-NotoSansJP-OFL.txt.
"Valve", "Steam", and the associated figurative images are trademarks and/or registered trademarks of Valve Corporation in the US and in various other jurisdictions. All rights reserved. Use of these trademarks must comply with the guidelines outlined in Basis/Packages/com.steam.steamaudio/TRADEMARK_RIGHTS.md.
"Basis", "BasisVR", "Basis Framework", and the Basis logo are marks representing the Basis Project. Please see TRADEMARK.md for our policies on their usage.
Basis is developed with the assistance of AI coding tools, for code only and never for creative assets, and every change is directed, reviewed, and owned by humans. The product itself embeds no generative AI, and generative image or video AI will never be added. The only ML that ships is small on-device models (noise suppression, lip sync, optional webcam tracking) that upload nothing. See AI.md for the full disclosure and our policy on AI-assisted contributions.

