vircadia-web
vircadia-web copied to clipboard
Vircadia open source metaverse web interface for virtual worlds.
⚠️ Early Developer Alpha ⚠️
The Vircadia web client is in Early Developer Alpha! There will be unimplemented features and bugs.
Please take a moment to check the list of issues and file an issue if one does not exist already. If you are able, please try to implement a feature or fix a bug yourself! The metaverse appreciates your assistance. 🙏
Vircadia Web (codename Aether) is an open source metaverse web client for accessing virtual worlds.
Compatibility
This interface is tested and validated for the following browser platforms:
- Mobile, Tablet, Desktop
- Chromium (Chrome, Brave, Edge etc.)
- Webkit (Safari)
- Gecko (Firefox)
- Native
- Windows 10+
- MacOS Monterey
- Linux (Ubuntu 20+)
- XR on Android (COMING SOON!)
- Quest 2/Quest Pro
- Pico 4
- Vive Focus 3
Project Setup
Prerequisites
Vircadia Web has been tested to work with:
- Node versions
16
-20
- NPM versions
8.19
-10.1
(Use of Node versions other than stated is untested and may not work correctly.)
Clone the Repo
First, clone the repository to your machine with Git. Then, open a terminal in that directory.
Vircadia Web relies on the Vircadia Assets submodule, so you must pull recursively.
git clone --recursive https://github.com/vircadia/vircadia-web.git
Install the dependencies
npm i
or
yarn
If you want to use a local copy of the Vircadia Web SDK, from a directory beside the web app's:
npm run install-local-web-sdk
Run, Compile, and Test
Customization Options
The web client's settings such as branding, default servers, and more, can be customized directly from environment variables which you must set at or prior to build/compile time.
See Configuring quasar.conf.js for a full set of customization options.
Start the app in development mode
Development mode benefits from features like hot-code reloading, error reporting, etc.
npm run dev
or
yarn run dev
Lint the files
npm run lint
And fix lint issues automatically with
npm run lint -- --fix
Run tests
npm run test
Build the app for production
npm run build
Desktop
The web client can also be compiled to a standalone desktop app. When doing so, the VRCA_DESKTOP_MODE
environment variable must be set to either dev
or build
.
After installing the base Node dependencies with npm i
, you will also need to install Tauri's Rust dependencies.
To run the desktop wrapper in development mode:
npm run dev-desktop
To build the desktop executable:
npm run build-desktop
To Update Contributors
npm run update-contributors
Local Assets
To enable faster loading, you may put local models into the public/local-assets
folder, then reference them in your entity tree like so /local-assets/yourModel.glb
. The asset should now be available to you in-world.