Building Your Metaverse on This 3D Virtual World Base Layer: Where to Start Writing Layer 5
metaverse development3D virtual world base layerself-hosted metaverseThree.js source code3D editor buildingvirtual showroom development3D training systemmultiplayer online worldfederation interconnectionsource-available
The idea "I want my own metaverse," translated into engineering, becomes one question: what does the base layer give you, and what do you write yourself? This article skips the concepts and talks construction: on top of our open browser-based 3D virtual world base layer (Genesis), where to start on layer 5 — your business layer — which work the editor does for you, which work needs code, and a few directions already proven to land.
The licensing terms first, as always: the source is available (source-available); it is free to run locally; online, commercial, or federated use requires a subscription license. Exact terms live in the repo's LICENSE / EULA.
1. What layer 5 is: one dividing line
This base layer splits a 3D virtual world into five layers; the lower four are business-independent and ship with the source:
| Layer | Owner | What's inside |
|---|---|---|
| 1 Rendering kernel | Base | Three.js r185 / WebGL2, CDN-free, corrected color pipeline |
| 2 Asset pipeline | Base | Three-tier LOD, GLB asset surgery, 3DGS photographic scenes, imports (GLB/GLTF/VRM/OBJ) |
| 3 Multi-client & communication | Base | Capability-tier adaptation, weak-network reconnect self-healing, voice quotas |
| 4 Open interfaces | Base | AI agent access (MCP Server), federation protocol, admin console |
| 5 Business layer | You | What the showroom displays, what training practices, what the community plays, what sells, what the rules are |
"Metaverse," taken apart into engineering, is exactly these five rows. "Can enter, has space, plays together, stays online, crosses worlds" is the base layer's work; "what content, what identity system, what economic rules" is yours. The base layer refuses to decide what happens inside your metaverse — that is a design stance, not a missing feature.
2. The editor's share: the part you do without code

A good part of layer 5 needs no code — it happens in the browser editor. The screenshot shows this editor's daily form: model library on the left (GLB/GLTF direct upload; VRM packaged with textures; OBJ with mtl), scene viewport in the middle, object list and properties panel on the right (this scene contains 373 objects; position, rotation, scale, and animation are all adjusted in the panel).
The editor handles "placing"; code handles "behaving." Placing models, tuning properties, assigning animations, arranging buildings and props — click-driven. "Show a spec panel when the player approaches this machine," "grant a reward after the operation completes," "how characters trade" — rule-bearing interaction logic is the coded part. Sort your work into these two buckets and layer 5's size becomes estimateable.
3. Directions that can land today
Layer 5 is not started from a blank page — these directions already have capability support underneath:
| Direction | Your layer-5 work | Support already in the base |
|---|---|---|
| Product / equipment showroom | Place exhibits, write intros, design the tour | 3D editor, per-object AI descriptions, AI guide access |
| Training & rehearsal | Build the operation scene, define assessment rules | Multiplayer sync, character animation, admin console |
| Community / brand space | Set content themes and event rules | Multiplayer sync, chat, economy panels, federation |
| Digital memorial / collection space | Upload models, arrange a private space | Model imports, asset library, privacy on your own server |
Stated plainly: the paid B2B path for the showroom/training direction is still being validated; we have no citable customer cases. The table describes capability support, not business results.
4. Mobile: the same world, another entrance

The same world in a phone browser (live screenshot): street architecture, a floating-island billboard, virtual joystick and controls. The base layer adapts clients by capability tier — the world you build in the editor is the same one desktop and mobile users see.
The boundary, as always: we have not yet completed full measured testing of mobile frame rate and power draw. Entering and walking around is evidenced by the screenshot; take performance numbers from your own target devices.
5. Where to start: an executable order
A suggested sequence (every step has something concrete to check against):
- Deploy, then run the acceptance scripts — the 54
accept_*.jsfiles are a ready baseline, before and after your changes. - Build a minimal scene in the editor — place one object you care about, set its properties, open it on a phone. No code in this step; what you are verifying is "can this base layer carry my content."
- Add one business rule to the scene — read the existing implementation of the relevant module in
src/, and modify alongside it. The value of source-available lives here: changes with a reference beat blank-page writing, and break less. - Add AI if you want it — three steps per the onboarding docs (discovery file, key-to-token, WebSocket access); a runnable example client sits in
examples/. - Talk licensing when you go online — local verification is free end to end; enter the subscription license only after confirming the base layer fits you.
6. What this base layer does not suit
- If you want "AI generates a whole world from one sentence" — generative world-building is planned and not implemented; do not evaluate it as an existing feature.
- If you want hosting and zero server contact — self-hosting is the stance; there is no hosted edition.
- If your target is heavy game-grade gameplay (large physics engines, console-grade graphics) — this is a Three.js browser stack, bounded by browser performance budgets, not a Unity-class engine substitute.
7. Boundaries and unmeasured items
- Mobile frame rate and power draw are not fully measured (entry and walking are evidenced by screenshots).
- The paid B2B path for showrooms/training is still being validated; no customer cases to cite.
- Roadmap items (AI-assembled worlds, agent store, agent interoperability, cross-world federated AI) are all unimplemented.
- Screenshots reflect the version at writing time; the UI evolves.
FAQ
Q: How far can I get without writing code?
A: Deploy by the docs and build in the editor — neither needs code. Business rules and custom interactions do, or go to someone who codes. A semi-technical team can run the "editor-first, outsourced-code" combination.
Q: How big is layer 5, roughly?
A: No numbers — it depends on your business complexity, and an invented figure means nothing. Use the method from section 2: classify every interaction you want into "placing" vs "behaving"; the "behaving" pile is your development volume.
Q: Can I build commercial projects on it and sell them?
A: Commercial use falls under the subscription license; terms in the repo's LICENSE / EULA. Local verification is free — confirm it fits before entering commercial licensing. That order minimizes your risk.
Q: Can my world connect with others'?
A: The federation protocol layer ships in the base (identity migration and same-name auto-rename both have acceptance runs); cross-world interconnection is one of its design capabilities. For networking specifics, see the federation section of the deployment docs.
Source & Repositories
The three mirrors are identical; the first two are faster inside China. The repos include deployment docs and a set of acceptance scripts you can run yourself to see the measured numbers.
- Gitee (fastest in China): https://gitee.com/miduoxinxijeji/miduo.git
- GitCode (China mirror): https://gitcode.com/qq_35054471/virtual-world
- GitHub: https://github.com/miduo100/3d-virtual-world
About Genesis
Genesis is a self-hosted 3D virtual world system built on Three.js + WebGL, helping individuals and businesses build their own 3D spaces. Accessible directly from a browser, compatible with both PC and mobile, it supports multiplayer online, federated teleportation, a shop system, and Agent integration—where an AI can enter your world as an embodied character. Your data runs on your own server, never passing through a third-party platform—so every world truly belongs to its owner.
Ready to start your layer 5 on this base? Genesis (a.k.a. the Genesis Virtual World CRM) is a Three.js 3D virtual world base layer that runs on your own server — the lower four layers ship with the source. The source is available; run it locally free of charge; online, commercial, and federated use require a subscription license. Layer 5 is yours, starting from one scene in the editor. Search "Genesis Virtual World CRM" to find the site with a walkable demo world.
About the name: Genesis in this article is the same self-hosted 3D virtual world product also called the Genesis Virtual World CRM. If "Genesis" does not find us, search "Genesis Virtual World CRM".