What's built,
What's coming?

Complete breakdown of every feature in the sandbox; shipped, in-progress and planned
EngineTop-level engine singleton access for runtime and scene control
85%
Platform: Windows supportCompleted
Platform: Linux supportPlanned
[Shared] API: engine.printCompleted
[Shared] API: engine.iprintCompleted
[Shared] API: engine.inspectCompleted
[Client] API: engine.quitPlanned
[Shared] API: engine.compile_stringCompleted
[Shared] API: engine.load_stringCompleted
[Shared] API: engine.get_tickCompleted
[Shared] API: engine.get_versionCompleted
[Shared] API: engine.get_serialCompleted
[Shared] API: engine.get_entitiesCompleted
[Shared] API: engine.get_resolutionCompleted
DatabaseEmbedded database interface for persistent structured data storage and retrieval
100%
Lifecycle hooksCompleted
MySQL databaseCompleted
ORM-style query with chainable methodsCompleted
Asynchronous query executionCompleted
[Server] API: database.createCompleted
[Shared] API: self<database>:is_typeCompleted
[Shared] API: self<database>:get_typeCompleted
[Shared] API: self<database>:destroyCompleted
[Server] API: self<database>:is_connectedCompleted
[Server] API: self<database>:defineCompleted
[Server] API: self<database>:syncCompleted
[Server] API: self<database>:tableCompleted
[Shared] API: self<db_query>:is_typeCompleted
[Shared] API: self<db_query>:get_typeCompleted
[Shared] API: self<db_query>:destroyCompleted
[Server] API: self<db_query>:fetchCompleted
[Server] API: self<db_query>:alterCompleted
[Server] API: self<db_query>:dropCompleted
[Server] API: self<db_query>:truncateCompleted
[Server] API: self<db_query>:executeCompleted
[Server] API: self<db_query>:selectCompleted
[Server] API: self<db_query>:whereCompleted
[Server] API: self<db_query>:insertCompleted
[Server] API: self<db_query>:deleteCompleted
[Server] API: self<db_query>:updateCompleted
ConsoleBuilt-in runtime console for commands, debug output, and structured logging
75%
Log levels (sbox / info / warn / error)Completed
[Shared] Command: helpCompleted
[Server] Command: infoCompleted
[Shared] Command: versionCompleted
[Shared] Command: clearCompleted
[Server] Command: srun <code>Completed
[Server] Command: kick <id>Planned
[Server] Command: playersPlanned
[Server] Command: refreshCompleted
[Server] Command: start <name>Completed
[Server] Command: stop <name>Completed
[Server] Command: restart <name>Completed
[Server] Command: start_allCompleted
[Server] Command: stop_allCompleted
[Server] Command: restart_allCompleted
[Server] Command: shutdownCompleted
[Client] Command: crun <code>Completed
[Client] Command: connect <ip> <port>Planned
[Client] Command: disconnectPlanned
[Client] Command: statusPlanned
Performance MonitorRead FPS, draw calls, memory, physics step time, and object counts from Lua
Performance.get (FPS / frame time)Planned
Draw calls & verticesPlanned
Static / dynamic memoryPlanned
Physics step timePlanned
Object / node countPlanned
ResourcesRuntime resource loading, caching, unloading, and remote downloading via ResourceLoader
100%
[Server] Resource scannerCompleted
[Shared] Resource cacheCompleted
[Shared] Resource loader / unloaderCompleted
[Shared] Resource asset compressionCompleted
[Shared] Resource asset streaming via HTTP serverCompleted
[Shared] Resource-scoped entity lifetimeCompleted
[Shared] Per-resource isolated Lua environmentsCompleted
[Shared] Main-thread execution enforcement for Lua script callbacksCompleted
[Shared] Runtime cross-resource exportsCompleted
[Client] Manifest-driven asset sync with hash verificationCompleted
[Client] Concurrent threaded downloads with cancellationCompleted
MathLua math library, enriched with sandbox-native utilities and helpers
100%
[Shared] API: math.absCompleted
[Shared] API: math.ceilCompleted
[Shared] API: math.floorCompleted
[Shared] API: math.sqrtCompleted
[Shared] API: math.expCompleted
[Shared] API: math.logCompleted
[Shared] API: math.fmodCompleted
[Shared] API: math.modfCompleted
[Shared] API: math.maxCompleted
[Shared] API: math.minCompleted
[Shared] API: math.sinCompleted
[Shared] API: math.cosCompleted
[Shared] API: math.tanCompleted
[Shared] API: math.asinCompleted
[Shared] API: math.acosCompleted
[Shared] API: math.atanCompleted
[Shared] API: math.degCompleted
[Shared] API: math.radCompleted
[Shared] API: math.randomCompleted
[Shared] API: math.randomseedCompleted
[Shared] API: math.tointegerCompleted
[Shared] API: math.typeCompleted
[Shared] API: math.ultCompleted
[Shared] Constant: math.piCompleted
[Shared] Constant: math.hugeCompleted
[Shared] Constant: math.maxintegerCompleted
[Shared] Constant: math.minintegerCompleted
TimerPrecise one-shot and repeating timer scheduling with millisecond accuracy
100%
Lifecycle hooksCompleted
Customizable intervalCompleted
Customizable executionsCompleted
[Shared] API: timer.createCompleted
[Shared] API: self<timer>:is_typeCompleted
[Shared] API: self<timer>:get_typeCompleted
[Shared] API: self<timer>:destroyCompleted
FileRead, write, and manage files on disk from within Lua scripts
100%
[Shared] API: file.existsCompleted
[Shared] API: file.sizeCompleted
[Shared] API: file.hashCompleted
[Shared] API: file.deleteCompleted
[Shared] API: file.readCompleted
[Shared] API: file.writeCompleted
[Shared] API: file.contentsCompleted
ShrinkerAsset and data compression / decompression to reduce memory footprint and transfer overhead
100%
Data compression via zstd libraryCompleted
[Shared] API: shrinker.compressCompleted
[Shared] API: shrinker.decompressCompleted
EventPublish / subscribe event bus for decoupled, reactive module communication
8%
Priority-ordered listenersPlanned
Auto-unsubscribe listenersPlanned
[Shared] API: event.onWIP
[Shared] API: event.offPlanned
[Shared] API: event.emitPlanned
[Shared] API: event.emit_callbackPlanned
StringLua string library, enriched with sandbox-native utilities and helpers
100%
[Shared] API: string.voidCompleted
[Shared] API: string.parseCompleted
[Shared] API: string.parse_hexCompleted
[Shared] API: string.lenCompleted
[Shared] API: string.byteCompleted
[Shared] API: string.charCompleted
[Shared] API: string.findCompleted
[Shared] API: string.matchCompleted
[Shared] API: string.gmatchCompleted
[Shared] API: string.subCompleted
[Shared] API: string.gsubCompleted
[Shared] API: string.formatCompleted
[Shared] API: string.format_timeCompleted
[Shared] API: string.lowerCompleted
[Shared] API: string.upperCompleted
[Shared] API: string.reverseCompleted
[Shared] API: string.repCompleted
[Shared] API: string.kernCompleted
[Shared] API: string.splitCompleted
[Shared] API: string.packCompleted
[Shared] API: string.packsizeCompleted
[Shared] API: string.unpackCompleted
PromiseDeferred values with full chaining, resolution, rejection, and async/await support
100%
Lifecycle hooksCompleted
[Shared] API: promise.createCompleted
[Shared] API: self<promise>:is_typeCompleted
[Shared] API: self<promise>:get_typeCompleted
[Shared] API: self<promise>:destroyCompleted
[Shared] API: self<promise>:is_pendingCompleted
[Shared] API: self<promise>:resolveCompleted
[Shared] API: self<promise>:rejectCompleted
HTTPFull async HTTP layer for communicating with external REST APIs and asset servers
100%
Customizable headersCompleted
Customizable timeoutCompleted
[Shared] API: http.getCompleted
[Shared] API: http.postCompleted
ExportsCross-resource function registry — expose and consume APIs across resource boundaries
100%
[Shared] API: exports.registerCompleted
[Shared] API: exports.callCompleted
[Shared] API: exports.listCompleted
InputKey state, mouse position and buttons, scroll delta, gamepad axes, and action map from Lua
Input singleton accessPlanned
is_key_pressed / just_pressed / just_releasedPlanned
Mouse position & relative motionPlanned
Mouse button state & scroll deltaPlanned
Mouse capture / visibility modePlanned
Gamepad / joystick axis & buttonsPlanned
InputMap action queriesPlanned
InputEvent pass-through (process_event)Planned
TableLua table library, enriched with sandbox-native utilities and helpers
100%
[Shared] API: table.lenCompleted
[Shared] API: table.packCompleted
[Shared] API: table.unpackCompleted
[Shared] API: table.insertCompleted
[Shared] API: table.removeCompleted
[Shared] API: table.moveCompleted
[Shared] API: table.sortCompleted
[Shared] API: table.cloneCompleted
[Shared] API: table.concatCompleted
[Shared] API: table.encodeCompleted
[Shared] API: table.decodeCompleted
ThreadLow-level thread management, pooling, and lifecycle control from Lua
100%
Lifecycle hooksCompleted
[Shared] API: thread.createCompleted
[Shared] API: thread.currentCompleted
[Shared] API: self<thread>:is_typeCompleted
[Shared] API: self<thread>:get_typeCompleted
[Shared] API: self<thread>:destroyCompleted
[Shared] API: self<thread>:resumeCompleted
[Shared] API: self<thread>:pauseCompleted
[Shared] API: self<thread>:sleepCompleted
[Shared] API: self<thread>:awaitCompleted
CryptoCryptographic primitives for hashing, signing, and securing sensitive payloads
100%
Hash algorithm: SHA1Completed
Hash algorithm: SHA224Completed
Hash algorithm: SHA256Completed
Hash algorithm: SHA384Completed
Hash algorithm: SHA512Completed
Encoding algorithm: Base64Completed
Encryption algorithm: AES128Completed
Encryption algorithm: AES192Completed
Encryption algorithm: AES256Completed
[Shared] API: crypto.hashCompleted
[Shared] API: crypto.encodeCompleted
[Shared] API: crypto.decodeCompleted
[Shared] API: crypto.encryptCompleted
[Shared] API: crypto.decryptCompleted
InspectHardware inspection, device fingerprinting, and runtime environment queries
25%
CPU info (cores, arch)Planned
OS platform detectionPlanned
Memory usage queryPlanned
Device fingerprint generationCompleted
Main MenuDefault client entry point — play, settings, credits, and server browser navigation
Main menu scene & layoutPlanned
Play / browse servers flowPlanned
Settings screenPlanned
Credits screenPlanned
Version & build info displayPlanned
WebviewHTML/CSS/JS renderer with bidirectional Lua - JS messaging
97%
Lifecycle hooksCompleted
Bidirectional Lua - JS messagingCompleted
Serve webview files over HTTP instead of file://Planned
[Client] API: webview.createCompleted
[Client] API: self<webview>:is_typeCompleted
[Client] API: self<webview>:get_typeCompleted
[Client] API: self<webview>:destroyCompleted
[Client] API: self<webview>:is_visibleCompleted
[Client] API: self<webview>:is_fullscreenCompleted
[Client] API: self<webview>:is_transparentCompleted
[Client] API: self<webview>:is_incognitoCompleted
[Client] API: self<webview>:is_autoplayCompleted
[Client] API: self<webview>:is_zoomableCompleted
[Client] API: self<webview>:is_devtools_visibleCompleted
[Client] API: self<webview>:get_positionCompleted
[Client] API: self<webview>:get_sizeCompleted
[Client] API: self<webview>:set_positionCompleted
[Client] API: self<webview>:set_sizeCompleted
[Client] API: self<webview>:set_visibleCompleted
[Client] API: self<webview>:set_devtools_visibleCompleted
[Client] API: self<webview>:set_message_handlerCompleted
[Client] API: self<webview>:load_urlCompleted
[Client] API: self<webview>:load_htmlCompleted
[Client] API: self<webview>:clear_historyCompleted
[Client] API: self<webview>:focusCompleted
[Client] API: self<webview>:reloadCompleted
[Client] API: self<webview>:zoomCompleted
[Client] API: self<webview>:updateCompleted
[Client] API: self<webview>:evalCompleted
[Client] API: self<webview>:emitCompleted
TextureRuntime image texture loading, unloading, and rendering
90%
Lifecycle hooksCompleted
Format: JPG | JPEGCompleted
Format: PNGCompleted
Format: WEBPCompleted
Format: KTX | DDS (compressed)Planned
Implicit texture cache for draw callsCompleted
[Client] API: texture.createCompleted
[Client] API: self<texture>:is_typeCompleted
[Client] API: self<texture>:get_typeCompleted
[Client] API: self<texture>:destroyCompleted
Screenshot CaptureGrab the current viewport frame as a raw image or save directly to disk
Viewport.get_texture snapshotPlanned
Save to PNG / JPGPlanned
Region capture (partial frame)Planned
Game BrowserIn-client server list — query, filter, sort, and join available game servers
Server list fetch & displayPlanned
Filter by name / gamemode / regionPlanned
Sort by player count / ping / namePlanned
Direct connect by IP & portPlanned
Refresh & auto-refresh intervalPlanned
Favorite servers listPlanned
Canvas2D drawing API — shapes, images and text composited into rendertarget each frame
100%
[Client] API: engine.world_to_screenCompleted
[Client] API: engine.screen_to_worldCompleted
[Client] API: engine.draw_lineCompleted
[Client] API: engine.draw_polygonCompleted
[Client] API: engine.draw_rectangleCompleted
[Client] API: engine.draw_circleCompleted
[Client] API: engine.draw_imageCompleted
[Client] API: engine.draw_textCompleted
SVGRuntime vector svg loading, unloading, and rendering
100%
Lifecycle hooksCompleted
Format: SVGCompleted
SVG instantiation and mutation from raw string buffersCompleted
[Client] API: svg.createCompleted
[Client] API: svg.create_from_rawCompleted
[Client] API: self<svg>:is_typeCompleted
[Client] API: self<svg>:get_typeCompleted
[Client] API: self<svg>:destroyCompleted
[Client] API: self<svg>:updateCompleted
Display & WindowDisplayServer — resolution, fullscreen, borderless, DPI, clipboard, and cursor from Lua
window_get / set_sizePlanned
Fullscreen / borderless / maximizedPlanned
Window title & iconPlanned
Clipboard get / setPlanned
Cursor mode (visible / hidden / captured)Planned
DPI / scale factor queryPlanned
Multi-monitor screen infoPlanned
FontRuntime font loading for canvas-level text rendering
100%
Lifecycle hooksCompleted
Format: TTFCompleted
Format: OTFCompleted
Format: WOFFCompleted
Format: WOFF2Completed
[Client] API: font.createCompleted
[Client] API: self<font>:is_typeCompleted
[Client] API: self<font>:get_typeCompleted
[Client] API: self<font>:destroyCompleted
[Client] API: self<font>:get_antialiasingCompleted
[Client] API: self<font>:get_oversamplingCompleted
[Client] API: self<font>:set_antialiasingCompleted
[Client] API: self<font>:set_oversamplingCompleted
RendertargetOff-screen render surfaces — create, bind, and sample as textures in the scene
100%
Lifecycle hooksCompleted
Optional alpha-transparent render surfaceCompleted
Optional immediate-mode per-frame updatesCompleted
[Client] API: rendertarget.createCompleted
[Client] API: rendertarget.get_activeCompleted
[Client] API: rendertarget.set_activeCompleted
[Client] API: self<rendertarget>:is_typeCompleted
[Client] API: self<rendertarget>:get_typeCompleted
[Client] API: self<rendertarget>:destroyCompleted
[Client] API: self<rendertarget>:is_activeCompleted
[Client] API: self<rendertarget>:get_sizeCompleted
[Client] API: self<rendertarget>:set_activeCompleted
EnvironmentPost-process, global illumination, and world environment control from Lua
67%
Adjustment (brightness / contrast / saturation / LUT)Completed
EmissiveCompleted
SSR (Screen-Space Reflections)Completed
SSIL (Screen-Space Indirect Lighting)Completed
SDFGI (Signed Distance Field GI)Completed
SSAO (Screen-Space Ambient Occlusion)Completed
Fog (height & depth)Completed
Volumetric fogCompleted
Sky / panorama backgroundPlanned
Ambient light color & energyPlanned
Exposure & white balancePlanned
Environment resetPlanned
DecalsProject textures onto surfaces at runtime — bullet holes, footprints, and damage overlays
Decal node creation / placementPlanned
Texture assignment per channelPlanned
Size, fade distance, modulatePlanned
LightingRuntime creation and configuration of Directional, Omni, and Spot lights from Lua
DirectionalLight3DPlanned
OmniLight3DPlanned
SpotLight3DPlanned
Shadow mode & bias controlPlanned
Light bake modePlanned
GPU ParticlesGPUParticles3D control — emission, restart, and process material parameters from Lua
GPUParticles3D node accessPlanned
Emit / restart / one-shotPlanned
Amount, lifetime, speed scalePlanned
Process material param overridesPlanned
Trail & sub-emittersPlanned
ShaderRuntime shader compilation and ShaderMaterial parameter/uniform control from Lua
Custom shader authoring and compilation from LuaPlanned
ShaderMaterial.set_shader_parameterPlanned
Texture uniform bindingPlanned
Float / vec2 / vec3 / color uniformsPlanned
Per-instance uniform overridePlanned
Auto-bind model textures to shader uniforms (albedo / normal / ORM)Planned
ShaderMaterial — replace BaseMaterial3D on surface while preserving original texturesPlanned
ModelLoad, instantiate, transform, animate, and manage 3D model assets at runtime
63%
Lifecycle hooksCompleted
Support format: GLBCompleted
Model loader / unloaderCompleted
Server spawn replication with per-peer authorityCompleted
Server transform replicationPlanned
Server blendshape replicationPlanned
Server material override replicationPlanned
Server material flag replicationPlanned
Server animation state replicationPlanned
Transform (position / rotation / scale) controlWIP
Animation playback (play / stop / pause / resume)Completed
Animation speed scaleCompleted
Blendshape (morph target) controlCompleted
Component visibility override per meshCompleted
Material visibility override per componentCompleted
Material feature & flag overridesCompleted
Wildcard component / material targetingCompleted
Skeleton & bone transformsWIP
LOD (Level of Detail) controlPlanned
MeshInstance & PrimitivesCreate primitive meshes (box, sphere, capsule, cylinder) and control MeshInstance3D from Lua
BoxMesh / SphereMesh / CapsuleMeshPlanned
CylinderMesh / PlaneMeshPlanned
MeshInstance3D creationPlanned
Surface material assignmentPlanned
Camera 3DFOV, near/far clip, projection mode, and per-camera environment override from Lua
Camera3D transform (position / rotation)Planned
FOV / orthographic sizePlanned
Near / far clip planePlanned
Projection mode (perspective / ortho)Planned
set_current (make active)Planned
Per-camera environment overridePlanned
Frustum culling maskPlanned
TweenInterpolate any node property smoothly with easing functions, chaining, and parallel playback
Tween.tween_propertyPlanned
Tween.tween_callbackPlanned
Tween.tween_intervalPlanned
Easing & transition typesPlanned
Sequence / parallel / chainedPlanned
Pause / resume / killPlanned
Physics 3DRaycast, shapecast, apply forces and impulses to rigid bodies, and query collision layers from Lua
PhysicsServer3D singleton accessPlanned
RigidBody3D — apply_force / impulsePlanned
RigidBody3D — linear / angular velocityPlanned
Raycast (intersect_ray)Planned
Shapecast (intersect_shape)Planned
Collision layer / mask queriesPlanned
PhysicsDirectBodyState3D accessPlanned
StaticBody3D / CharacterBody3DPlanned
NavigationNavmesh pathfinding, agent steering, and RVO2 avoidance for NPC and AI movement from Lua
NavigationServer3D singleton accessPlanned
NavigationAgent3D (target / velocity)Planned
get_simple_path (point-to-point)Planned
Navmesh region queriesPlanned
Avoidance (RVO2)Planned
Navigation layersPlanned
Audio 2DFlat stereo playback, bus routing, and bus effects from Lua
AudioStreamPlayer (2D flat)Planned
Play / stop / pause / seekPlanned
Volume (linear & dB) controlPlanned
Pitch scale controlPlanned
AudioServer bus routingPlanned
Bus effects (Reverb / EQ / Limiter)Planned
AudioStream format: OGG / WAV / MP3Planned
Audio 3DPositional playback with attenuation and panning from Lua
AudioStreamPlayer3D (positional)Planned
Play / stop / pause / seekPlanned
Volume (linear & dB) controlPlanned
Pitch scale controlPlanned
Attenuation model & max distancePlanned
AudioServer bus routingPlanned
AudioStream format: OGG / WAV / MP3Planned
ENet TransportLow-level ENet UDP transport — reliable, sequenced, and unreliable packet delivery
73%
ENet client connect / disconnectCompleted
ENet server host / closeCompleted
Peer join / leave trackingCompleted
Peer ID managementCompleted
Reliable RPC transportCompleted
Unreliable / sequenced channelsPlanned
Auto-reconnect with configurable attempts and delayCompleted
Bandwidth limitingPlanned
send / broadcast APICompleted
Peer handshake on connectCompleted
Ping & round-trip timePlanned
VoIPIn-game voice communication — capture, encode, transmit, and decode player audio in real time
Microphone capture via AudioEffectCapturePlanned
Opus encoding / decodingPlanned
Voice packet send / receive over ENetPlanned
Per-peer 3D positional playbackPlanned
Mute / unmute (local & remote)Planned
Voice activity detection (VAD)Planned
Volume per speakerPlanned
Multiplayer APIHigh-level RPC, entity spawning, and state synchronization from Lua
83%
MultiplayerAPI setupCompleted
MultiplayerSpawner with custom spawn delegateCompleted
MultiplayerSynchronizer — position & rotation replicationCompleted
Synced model spawn with per-peer authority assignmentCompleted
Spawn queue — deferred spawn until asset is readyCompleted
Lua RPC bindingsPlanned
WebSocketFull-duplex WebSocket client and server for real-time browser and service communication
WebSocketPeer.connect_to_urlPlanned
send / receive (text & binary)Planned
WebSocketServer (listen / accept)Planned
TLS / WSS supportPlanned
Discord SDKNative Discord Rich Presence — dynamic state, player count, images, and invite links
100%
Rich Presence state & detailsCompleted
Large / small image keysCompleted
Player count placeholdersCompleted
Discord invite link integrationCompleted
Dynamic updates at runtimeCompleted