🌐 Project Vision — The 3D Web for Everyone
This project isn't just about technology—it’s about redefining the internet.
We envision a free, open-source metaverse where:
- Anyone can host their own public or private space
- Anyone can join a shared 3D world simply by entering a link
- Entire environments are loaded on-demand using open standards like JSON and glTF
- Users, artists, developers, and organizations can build experiences that are interconnected, decentralized, and persistently accessible
This is the natural evolution of the internet:
→ The WWW in 3D — or as we call it, W3D
Like web pages, every virtual space can be:
- Public (open to all)
- Private (joinable only with a key)
- Self-hosted (your server, your rules)
- Portable (linkable, shareable, remixable)
No central company. No gatekeepers.
Just an ecosystem of people and worlds—linked together like websites.
Our long-term goal is to create a 3D browsing experience that works like the web:
Click a link → load the scene → explore → interact → move on.
🧱 How It Works
1. Scene JSON Manifest
Scenes are defined using a JSON file that includes:
- Object name and transform
- Public URL to the associated
.gltf
or.glb
model - A list of whitelisted behaviors/scripts to attach
- Optional event-action bindings for interactions
{
"objects": [
{
"name": "MagicChair",
"model": "https://example.com/models/chair1.gltf",
"position": [0, 0, 0],
"rotation": [0, 180, 0],
"scripts": ["SitOnInteract"],
"events": {
"onInteract": [
{ "action": "PlaySound", "params": { "clip": "chair_squeak" } }
]
}
}
],
"formatVersion": 1
}
🚦 Runtime Flow
- The client fetches the JSON manifest from a public URL.
- For each object defined:
- If the model URL is not cached, it is downloaded.
- The
.gltf
or.glb
is parsed and instantiated. - Object transform is applied.
- Whitelisted behaviors are attached.
- Optional events are registered and bound.
All scene objects are composed in real-time with modular, safe logic.
🌐 Model Hosting & Caching
- Open Hosting: Models can be served from any URL—GitHub Pages, IPFS, S3, or your own domain.
- Caching: Cached by URL and version using Unity’s persistent storage.
- Versioning: The manifest can include version tags for smarter updates.
🔐 Security Design
- ✅ No custom scripts are executed from downloaded files
- ✅ Only predefined, whitelisted Unity behaviors are attachable
- ✅ Events limited to safe actions like
PlaySound
,SetActive
, etc. - ✅ glTF parsed as data, not logic
- ✅ Strict validation and sandboxing
📀 Exporting From Unity (WIP)
- 🔧 Unity Editor tool for exporting JSON + transforms
- 🧩 Auto-generation of behaviors and event bindings
- 📦 Export
.gltf
using GLTFUtility or UnityGLTF - 💾 Metadata tagging in the Inspector
🧚 Planned Features
- ✅ JSON + glTF scene system
- ✅ Model caching & versioning
- ✅ Secure behavior system
- ✅ Modular event-action bus
- ⏳ Unity-to-JSON export tool
- ⏳ Visual editor for events
- ⏳ Multi-scene portal navigation
- ⏳ Auth for private spaces
- ⏳ Portal links between spaces
🔞 Handling 18+ Content
- Decentralized Responsibility: Space owners host and control their own content.
- Tagging: Scenes may include metadata like
"nsfw": true
- Client Filtering: Loader implementations may opt-in or out of NSFW content
- Private Only: Explicit content allowed only in key-locked spaces
- No Default Indexing: 18+ spaces are not indexed by default
📄 License
This project is open-source and MIT licensed.
💬 Contact
Interested in collaborating, using this system, or deploying your own metaverse node?
- GitHub Discussions (Coming Soon)
- Community Discord (Coming Soon)
- Email: [email protected]
🧠 Inspiration
Inspired by:
- The open architecture of the World Wide Web
- 3D game engines and event-driven programming
- glTF and open 3D standards
- The promise of a decentralized metaverse anyone can build on
Let’s build W3D — the 3D web that belongs to everyone.