Manage your cookie settings. You can enable or disable different types of cookies below. For more details, see our Privacy Policy.

Wonderbricks is now Open Source

Wonderbricks started as a production project: a complete WebXR experience we could ship and point to when people asked “what does a large Wonderland Engine project look like in practice?”.

Today we are releasing the full source and assets on GitHub together with our partners Novelab.

Repository: https://github.com/WonderlandEngine/wonderbricks

What you get 

  • Full project source code (MIT)
  • Creative assets (CC-BY)
  • A working reference for VR and MR projects (including hand tracking support on supported headsets)

The goal is to make it easier for developers to reverse engineer how a large project be structured and how various features of Wonderland Engine fit together.

Repository layout 

Wonderbricks is a standard Wonderland Engine project with a few conventions that scale well when a prototype grows into a shipped app.

  • js/ — application code (gameplay, UI, audio, utilities)
  • models/ — 3D models
  • textures/ — textures and atlases
  • shaders/ — custom shaders
  • static/ — runtime-served assets (fonts, music, sound effects)
  • raw/ — source audio assets (before processing)
  • WonderBricks.wlp — the Wonderland Editor project file

Entry point 

js/index.js is the generated entry point used by Wonderland Engine projects. It’s worth opening first because it makes the composition of the app obvious:

  • component import and registration (generated from what’s used in the editor)
  • runtime options (generated from the settings in the editor)
  • loading of the main scene

If you’re trying to understand “where does the app start?”, this is the file.

Gameplay, UI, audio 

The code under js/ is split by responsibility:

  • js/gameplay/ contains the build loop (block placement, grid / snapping, interactions, prefabs, particles)
  • js/ui/ contains the in-world UI (arm-mounted panels, selectors, buttons)
  • js/sound/ contains a small sound system and action-specific emitters
  • js/utils/ contains small helpers (tags, material helpers, etc.)

This separation is not a rule, but it keeps the project readable when multiple systems evolve in parallel.

Shaders 

shaders/ contains custom fragment shaders that demonstrate a few editor-facing features:

  • shader feature toggles
  • requesting only the inputs you need
  • declaring a Material struct so the editor can generate UI for material properties in custom shaders

If you’re building custom rendering on top of Wonderland Engine, this is a useful reference.

Building the project 

Wonderbricks is fully built through the editor. Start by checking out the project (or downloading the ZIP from GitHub):

1git clone https://github.com/WonderlandEngine/wonderbricks.git

And then hit the green arrow button at the top to launch it in the browser.

To run it on a Meta Quest:

  1. Enable developer mode on your Meta Quest
  2. Connect it via USB cable
  3. In Wonderland Editor select the Meta Quest in the device dropdown at the top
  4. Hit the green arrow to launch the browser on the quest (Port forwarding is set up for you.)

Why open source it 

A polished reference project answers questions that documentation can’t fully cover:

  • how to structure a bigger project
  • how to keep gameplay logic, UI, and assets from turning into a single blob
  • what a “ship-ready” Wonderland Engine setup looks like end to end
  • how to learn the engine without looking reading through the documentation (after all, that’s the most fun way to learn.)

If you’re evaluating Wonderland Engine, this gives you something concrete to inspect. If you’re already using it, it’s a set of patterns you can copy (or ignore) based on what fits your project.

Notes 

If you build something based on this repository and want to share it, drop it in our Discord community:

https://discord.wonderlandengine.com

Last Update: February 9, 2026

Stay up to date.