WorldKit
The developer toolchain for building, testing, and deploying worlds.
What is WorldKit?
WorldKit is the umbrella name for Five Squared's developer tools. It includes a visual world builder, a server runtime (WorldOS), a real-time sync service (WorldSync), starter templates (Git Worlds), editor plugins, and adapters for connecting external applications.
Each piece works independently — use WorldOS without the builder, or WorldSync without WorldOS. Together they form a complete authoring and deployment pipeline.
Visual editor for VEML worlds — place entities, edit properties, preview in real time.
Modular server runtime with plugin architecture and MQTT message bus.
Real-time state synchronization for multiplayer worlds.
Forkable world templates — clone, customize, deploy.
VS Code extension, Blender exporter, and adapters for external apps.
WorldOS
A modular server runtime that manages execution and coordination between applications inside and across worlds.
Architecture
WorldOS uses a six-tier plugin hierarchy built on an MQTT message bus. Plugins communicate via topics — no direct dependencies between them. The runtime manages lifecycle, configuration, and inter-plugin messaging.
- Service Registry — plugin discovery and lifecycle
- Core Services — MQTT bus, config, logging
- Platform Services — persistence, auth, scheduling
- Domain Services — entity management, spatial indexing
- Integration Services — external adapters (ROS2, game engines)
- Application Services — end-user plugin logic
Core Plugins
CRUD operations for world entities with spatial awareness.
Save and load world state. Supports file and database backends.
Tracks connected clients, manages presence and ownership.
Bidirectional adapter between MQTT topics and ROS2 nodes.
Quick Start
# Clone and run WorldOS git clone https://github.com/Five-Squared-Interactive/WorldOS.git cd WorldOS npm install npm start # The MQTT bus starts on port 1883 # Plugin API available on port 3000
WorldSync
Real-time state synchronization for multiplayer worlds over MQTT.
How It Works
WorldSync uses MQTT publish/subscribe to replicate entity state across connected clients in real time. It handles position tracking, property changes, entity ownership, and transform interpolation.
To make an entity multiplayer in VEML, add a <synchronizer> child element pointing to a sync address. WorldSync handles the rest — no networking code required.
The topic hierarchy follows: worldsync/{sessionId}/{entityId}/{property}. Transport runs over MQTT and WebSocket. WorldSync can run standalone or as a WorldOS plugin.
VEML Example
<entity xsi:type="cubemesh"
tag="shared-block">
<transform xsi:type="scaletransform">
<position x="0" y="1" z="0" />
<rotation x="0" y="0" z="0" w="1" />
<scale x="1" y="1" z="1" />
</transform>
<synchronizer>main</synchronizer>
</entity>Topic Structure
worldsync/{sessionId}/{entityId}/position
worldsync/{sessionId}/{entityId}/rotation
worldsync/{sessionId}/{entityId}/scale
worldsync/{sessionId}/{entityId}/visibility
worldsync/user/positionWorld Builder
A visual editor for creating and editing VEML worlds.
WorldKit World Builder is a desktop application (Electron + React + Three.js) that provides a visual environment for placing entities, editing properties, and previewing worlds in real time.
It reads and writes standard VEML files — the same format served to world browsers. No lock-in to a proprietary project format.
- Drag-and-drop entity placement
- Property inspector with live preview
- VEML source view with syntax highlighting (coming soon)
- Asset import (glTF, images, scripts)
Features
Drag-and-drop 3D objects into your scene with transform gizmos.
See changes in real time as you edit properties and transforms.
Switch between visual and code editing — both stay in sync.
Plugins & Connectors
Editor extensions and adapters that connect external tools to the Web Wide Worlds ecosystem.
Editor Plugins
VEML syntax highlighting, autocomplete, and validation in VS Code.
Export scenes directly to VEML format from Blender.
View on GitHubConnectors
Bridges Cities: Skylines 2 data into a synchronized world.
Mirrors Minecraft world chunks into VEML mesh entities.
Git Worlds
Template repositories for common world types. Fork one, customize it, and deploy — version-controlled with standard Git workflows.
- Fork a template on GitHub
- Edit
world.vemlin any text editor - Push to
main— GitHub Actions deploys to Pages - Visit your world at
username.github.io/repo
# 1. Use the template on GitHub # 2. Enable GitHub Pages (source: GitHub Actions) # 3. Edit world.veml # 4. Push git add -A git commit -m "My first world" git push