A prototype client demonstrating a multi-user experience in WebVR. Built with A-Frame
Getting Started
To run the social client, run:
git clone https://github.com/mozilla/hubs.git
yarn install
yarn start
Building Static Files
To bundle javascript and generate the html templates, run:
yarn build
hubs.local Host Entry
When running the full stack for Hubs (which includes Reticulum)
locally it is necessary to add a hosts
entry pointing hubs.local
to your local server's IP.
This will allow the CSP checks to pass that are served up by Reticulum so you can test the whole app.
Query Params
-
room
- Id of the room (an integer) that you want to join -
allow_multi
- Allow multiple instances off the app in the same browser session -
enable_screen_sharing
- Enable screen sharing -
accept_screen_shares
- Display screens shared by other users -
avatar_scale
- Scale your self! -
quality
- Either "low" or "high". Force assets to a certain quality level -
mobile
- Force mobile mode -
no_stats
- Disable performance stats -
vr_entry_type
- Either "2d", "vr", or "daydream". Used internally to force a VR entry type. Add "_now" to the end of the value to skip the audio check. -
disable_telemetry
- Iftrue
disables Sentry telemetry. -
log_filter
- Adebug
style filter for setting the logging level. -
debug
- Iftrue
performs verbose logging of Janus and NAF traffic.
Additional Resources
- Reticulum - Phoenix-based backend for managing state and presence.
- NAF Janus Adapter - A Networked A-Frame adapter for the Janus SFU service.
- Janus Gateway - A WebRTC proxy used for centralizing network traffic in this client.
- Janus SFU Plugin - Plugins for Janus which enables it to act as a SFU.
- Hubs-Ops - Infrastructure as code + management tools for running necessary backend services on AWS.