Convert Figma logo to code with AI

Hubs-Foundation logohubs

Duck-themed multi-user virtual spaces in WebVR. Built with A-Frame.

2,151
1,408
2,151
1,210

Top Related Projects

2,151

Duck-themed multi-user virtual spaces in WebVR. Built with A-Frame.

Quick Overview

Hubs is an open-source virtual reality platform developed by Mozilla. It allows users to create and share 3D spaces for collaboration, socializing, and events in web browsers or VR headsets. Hubs emphasizes accessibility and cross-platform compatibility.

Pros

  • Browser-based, requiring no downloads or installations
  • Cross-platform compatibility (works on desktop, mobile, and VR devices)
  • Customizable environments and avatars
  • Open-source, allowing for community contributions and modifications

Cons

  • Limited built-in creation tools compared to some dedicated 3D modeling software
  • Performance can vary depending on device capabilities and network conditions
  • Learning curve for creating custom content and scenes
  • Relies on WebRTC, which can sometimes cause connection issues

Code Examples

As Hubs is primarily a platform for creating and experiencing virtual spaces rather than a code library, there are no specific code examples to provide. However, developers can extend Hubs functionality using its API and create custom components.

Getting Started

To get started with Hubs:

  1. Visit https://hubs.mozilla.com/
  2. Click "Create a Room" to generate a new virtual space
  3. Customize your avatar and enter the room
  4. Share the room link with others to invite them to join
  5. Explore features like object spawning, drawing, and screen sharing

For developers interested in extending Hubs:

  1. Clone the repository: git clone https://github.com/mozilla/hubs.git
  2. Follow the setup instructions in the repository's README.md file
  3. Explore the documentation and API reference to learn about custom component creation and integration

Competitor Comparisons

2,151

Duck-themed multi-user virtual spaces in WebVR. Built with A-Frame.

Pros of hubs

  • More active development and frequent updates
  • Larger community and contributor base
  • Better documentation and support resources

Cons of hubs

  • Potentially more complex codebase due to additional features
  • May require more resources to run and maintain

Code Comparison

hubs:

import { getReticulumFetchUrl } from "./utils/phoenix-utils";
import { handleExitTo2DInterstitial } from "./utils/vr-interstitial";
import { ObjectContentOrigins } from "./object-types";
import { getAvatarSrc } from "./utils/avatar-utils";
import { getHubIdFromUrl, isLocalHubsUrl } from "./utils/url-utils";

hubs>:

import { getReticulumFetchUrl } from "./utils/phoenix-utils";
import { handleExitTo2DInterstitial } from "./utils/vr-interstitial";
import { ObjectContentOrigins } from "./object-types";
import { getAvatarSrc } from "./utils/avatar-utils";

Note: The code comparison shows that both repositories share similar core imports, but hubs has an additional import for URL utilities, suggesting it might have more advanced URL handling capabilities.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Hubs

License: MPL 2.0

The client-side code for Hubs, an online 3D collaboration platform that works for desktop, mobile, and VR platforms.

Getting Started

If you would like to run Hubs on your own servers, check out Hubs Community Edition.

If you would like to deploy a custom client to your existing Hubs Cloud instance please refer to this guide.

If you would like to contribute to the main fork of the Hubs client please see the contributor guide.

If you just want to check out how Hubs works and make your own modifications continue on to our Quick Start Guide.

Quick Start

Install NodeJS if you haven't already. We use 16.16.0 on our build servers. If you work on multiple javascript projects it may be useful to use something like NVM to manage multiple versions of node for you.

Run the following commands:

git clone https://github.com/Hubs-Foundation/hubs.git
cd hubs
# nvm use v16.16.0 # if using NVM
npm ci
npm run dev

The backend dev server is configured with CORS to only accept connections from "hubs.local:8080", so you will need to access it from that host. To do this, you likely want to add "hubs.local" and "hubs-proxy.local" to the local "hosts" file on your computer:

127.0.0.1	hubs.local
127.0.0.1	hubs-proxy.local

Then visit https://hubs.local:8080 (note: HTTPS is required, you'll need to accept the warning for the self-signed SSL certificate)

Note: When running the Hubs client locally, you will still connect to the development versions of the reticulum server. This server does not allow being accessed outside of localhost. If you want to host your own Hubs servers, please check out Hubs Community Edition.

Contributing

Read our contributor guide to learn how you can submit bug reports, feature requests, and pull requests.

We're also looking for help with localization. The Hubs redesign has a lot of new text and we need help from people like you to translate it. Follow the localization docs to get started.

Contributors are expected to abide by the project's Code of Conduct and to be respectful of the project and people working on it.

Additional Resources

  • Reticulum - Phoenix-based backend for managing state and presence.
  • Networked A-Frame.
  • Hubs-Ops - Infrastructure as code + management tools for running necessary backend services on AWS.

License

Hubs is licensed with the Mozilla Public License 2.0