A Unity-based XR/VR educational platform that enables students to create interactive 3D experiences through visual block-based programming in virtual reality.
๐ Note: I am continuing the development of this project, building upon the foundation laid by previous developers.
XR Education Editor combines the accessibility of visual programming with immersive VR experiences. Students can build interactive 3D worlds using a drag-and-drop block coding interface (similar to Scratch), then experience their creations in VR using Google Cardboard.
| Feature | Description |
|---|---|
| ๐งฉ Visual Block Programming | Intuitive drag-and-drop coding with BlocksEngine2 |
| ๐ฅฝ VR Experience | View and interact with creations in Google Cardboard VR |
| โ๏ธ Cloud Save | Projects automatically sync via PlayFab backend |
| ๐ Cross-Platform | Supports Android (VR) and WebGL (Desktop) |
| ๐๏ธ Gaze Interaction | Look at objects to trigger block code in VR |
| ๐ World Sharing | Share creations with others via Azure Blob Storage |
| Technology | Purpose |
|---|---|
| Unity 2022.3.62f2 | Game engine (LTS) |
| Google Cardboard XR | VR support |
| BlocksEngine2 v2.12.1 | Visual programming |
| PlayFab SDK | Authentication & cloud data |
| Azure Blob Storage | Screenshots & shared worlds |
| Unity Addressables | Dynamic asset loading |
| Universal Render Pipeline | Rendering |
Students create logic using visual blocks:
| Block Type | Examples |
|---|---|
| Event Blocks | "When Play Clicked", "When Looked At" |
| Motion Blocks | Move forward, turn, rotate |
| Control Blocks | Loops, conditionals, delays |
In VR mode, looking at objects can trigger their block code:
- Reticle follows gaze direction
- Reticle expands when hovering interactive objects
- Gaze triggers "When Looked At" blocks
- Cardboard button triggers click events
All world data automatically syncs to PlayFab:
- World metadata and settings
- Object positions, rotations, scales
- Block code (serialized as XML)
- Spawn point locations
| Platform | Mode | Controls |
|---|---|---|
| Android | VR Experience | Gyroscope, Cardboard button |
| WebGL | Desktop | Mouse, full UI canvas |
- Log in or create an account
- Click "Create New World"
- Name your world and enter
- Open the object library
- Drag objects into the scene
- Use transform handles to position
- Select an object
- Click "Code Blocks" in properties
- Drag blocks to create logic
- Click Save
- Click the VR button
- Place phone in Cardboard headset
- Look around to explore
- Gaze at objects to interact
- BlocksEngine2 - Visual programming framework
- Google Cardboard XR Plugin - VR support
- PlayFab - Backend services
- Previous developers who laid the foundation for this project
Built for education, powered by imagination. ๐โจ




