Manifest your dreams on the open social spatial web.
Universal.Volumetric.Video.Web.Player.mp4
We (Ethereal Engine) believe that the Metaverse, Web AR, VR, and XR should be easy.
We want a Star Trek future where participating in immersive communication technology and shared simulations should be as easy and natural as making a website.
- Includes a self-deployable platform, UI, worlds, avatars, and games
- Fully customizable for any kind of game, social experience, event or spatial web app
- User management, avatars and inventory with optional blockchain integration (see our Blockchain-in-a-Box repo)
- Social features like chat, groups, friends, blocking and moderation
- Complete world editing and administration
- 2D, 3D and XR Avatars with full inverse kinematics and facial expressions
- Fully networked physics using Rapier Physics
- Voice and video over WebRTC
- Instant login and location sharing with phone number or email
- Modular- Use the engine, server, client, editor and scalable devops infrastructure as needed
- OAuth login with Facebook, Google, Steam, Github or instant login with email or phone
- WebGL client deployable to iOS, Android and desktop
- Free, open source, MIT and Apache 2.0-licensed
Guest Demos
- Apartment - CCO from Sketchfab
- Star Station - our dev coommunity hangout
- Globe Concert Hall - collab with WildCapture.io
Host Demos
- Admin Console - Demo Cluster - Request Demo Access on our Discord
- XRModule Asset Editor - Demo Cluster - Request Demo Access on our Discord
Create composable plug-ins for Ethereal Engine scenes with XRModule Projects
XRModules are folders that contain all your custom code, assets and scenes. They are version controlled using git & github, and can be installed to any deployment with a single click. (more on that in the next chapter)
Pictured below is an example of 4 projects installed. By default, only the default-project is installed, which in a production environment is read only. You can find the default project under /packages/projects/default-project/
In a production environment, the builder process will install all projects according to the project database table and will download files from the storage provider. In a local development environment, the local file system is always the source of truth. Any project folders added or removed from the file system will be automatically added or removed from the database. This is to ensure there is no accidental loss of data, as these project folders are all git repositories.
Best for simple self hosting, advanced editor content creation, and XRProject Pack Project development.
To install Ethereal Engine locally, the following pre-reqs are required.
- Linux (many of us develop on Ubuntu), Mac OS X, or Windows (we recommend WSL2)
- Node.js v16 or later (we recommend installing via
nvm
orasdf
.) - C++ (for
node-gyp
), Python >=3.6 + PIP,make
and other build tools, for compiling Mediasoup. Although most of Ethereal Engine is written in TypeScript, it uses a Mediasoup engine for WebRTC conferencing. See the Mediasoup install instructions for more details. - Docker. (Although Docker is technically optional, running Ethereal Engine requires starting up half a dozen different services, and using Docker Compose will make your life dramatically easier.)
- MariaDB and Redis. (If you're using Docker, containers for MariaDB and Redis will automatically be started up.)
See the Installation instructions for more details.
- General Ethereal Engine documentation
- Auto-generated (tsdoc) API reference
- Avatar, Scene & Asset Pipeline
- Why are we building Ethereal Engine?
- We expect contributors and community members to follow our Code of Conduct.
- See the Contributing Guide and corresponding wiki entry for more details.
- Version numbering of the Ethereal Engine monorepo follows the Semantic versioning approach.
- We use the Prettier.io formatter for our code style.
- Standard Readme for the README structure.
We believe that projects like this are extremely complex and difficult, and can only be built when large groups of people work together, out in the open. If you believe that your calling is to build a free, open network that everyone, everywhere can get value from, then you are welcome in our community, and we'll do our best to get you set up.
We are always hiring talented people who want to be leaders in what is to come. Inquire with anyone who seems like they know what's going on and they'll help you find who you need to talk to.
MIT - Copyright (c) 2020-2022 Ethereal Engine team, formerly known as XREngine by XR Foundation