World Components
Components are the engine's built-in interactive objects — 27 of them — that you place, configure and script: TVs, browsers, mirrors, NPCs, particle FX, triggers, projectile launchers and more. This page documents every component that ships with the game.
Overview
Each component is a self-describing package: a name, a type, default properties, and a description you can read in the in-game component palette. Components save with the world and restore exactly as placed.
Placing & Editing
Press M until you reach Component Mode, then place from the palette. Selected components show drag arrows for precise positioning (lights get their own drag anchors), and every property — size, offsets, rotation, colors, URLs, volumes — is editable from the component panel. The Build Camera adds move/scale/rotate gizmos and 50-step undo.
Local vs Networked
Components marked networked sync their state to every player in a multiplayer session over Steam P2P — a networked GIF shows the same frame to everyone, a networked browser shows the same page. Local variants render only for you.
Media & Screens
- TV — the video player. Streams YouTube via the engine's yt-dlp pipeline; screen size, auto-play on world load, and volume are configurable. Control it with the TV Control app or TV code blocks.
- TV Screen — a secondary screen that mirrors a TV elsewhere in the world.
- Video Playlist — plays a list of video links in order on the world's video player.
- YouTube UI — an in-world YouTube search panel: walk up, press E, search, play.
- Camera (networked) — an in-world camera that can broadcast its live view onto a video player.
- GIF (Local) / GIF (Networked) — animated GIFs in the world; the networked version syncs frame and play/pause state to all players.
- Poster — a flat image panel; import any PNG or JPG and size it.
Web & Links
- Web Browser (Local) — an in-world mini browser panel. Walk up and press E to open it and type any link.
- Web Browser (Networked) — the same panel with the page/URL kept in sync across all players.
- Spatial Web Browser (networked) — a web panel on a flat 3D plane you place, size and rotate anywhere; renders by texture capture with aim-to-click.
- Fantalink — a spatial deeplink board: up to 5 titles + hyperlinks rendered in-world.
Audio
- Audio Uploader — plays an uploaded audio clip with spatial falloff by distance.
- Networked Audio — the same, synchronized to all players in a session.
Light & FX
- Dynamic Light — a point light with configurable color, brightness and falloff.
- Spotlight — an emissive beam rendered as an inverted cone.
- Particle FX — an emitter with presets (sparks, fire, smoke, magic, snow, bubbles) and solid or gradient colors.
- Trail FX — a flowing energy ribbon; solid, 2-color or 3-color gradient with adjustable length.
- Mirror — a real-time reflective surface with world/avatar toggles and a resolution cap.
Gameplay
- Trigger — an invisible zone that fires script events when a player enters (shown as a green transparent volume while editing).
- Projectile Launcher — fires projectiles with direction, speed, gravity, lifetime and radius.
- Player Spawn — marks the world spawn point for all players.
- Tokyube NPC — an avatar NPC: pick any free marketplace skin, scale it, and choose its behavior.
- Text — 3D text in the world, set in the game's arcade font.
Building & Import
- Primitive Shape — built-in 3D primitives: cube, sphere, cylinder, cone, pyramid, plane, circle, ring, torus.
- Voxel Building Generator — procedurally generates a voxel building owned by the component: footprint, floor count, and generated materials, with Generate/Place controls.
- Blend Import — import a .blend scene. The engine bakes it with headless Blender (procedural materials, multi-UV and neon emission flattened) into a self-contained model with its materials, textures and lighting — with a live baking progress indicator.
Scripting Components
Components are first-class citizens in Code Blocks: send events to a component (with optional delay), move it, teleport it or teleport players to it, control TVs and lasers, react to trigger-component-enter, and store components in typed variables. The component picker blocks list every instance in the world by name.