Skip to content

Find an API ​

Choose by the work you want to do. The client draws and sends requests; the server validates actions and changes shared data.

New to the package? Read Understand the SDK first. For exact parameter and return types, open API signatures.

Objects and world content ​

I want to…APIRuns in
Add something to the editoreditorItems + objectRenderersManifest + client
Configure each placed objectpropertySchema + renderer propertiesManifest + client
Configure the mod for a worldconfigSchema, useModConfig(), ctx.configBoth
Find ground heightuseTerrainSampler(), ctx.world.getGroundHeight()Both
Read nearby world entitiesuseWorldEntityQuery(), ctx.world.entities.findNearby()Both; world.entities.read
Read or change my placed objectsctx.objectsServer; object read/write permissions
Spawn temporary shared objectsctx.entitiesServer; world.entities
Draw those entitiesuseModEntityList()Client; world.entities

Gameplay and persistence ​

I want to…APIPermission / behavior
Handle a player requestonMessage + messageSchemasValidate gameplay on the server
Read playersctx.playersplayers.read; detached snapshots
Share a score or phasectx.state + useModState()Replicated; not saved automatically
Save across restartsctx.storagestorage; await and check writes
Send a notification eventctx.messagesNot retained for late joiners
Grant itemsctx.inventoryplayers.inventory; check boolean result
Grant money or XPctx.rewardsplayers.modify; check boolean result
Detect entry into an areactx.zonesworld.zones
Register a validated interactionctx.interactionsworld.interactions
Run a cooperative activityctx.activitiesworld.activities
Run a timerctx.scheduleHost-managed cleanup

Presentation and physics ​

I want to…APIReference
Animate a modeluseModFrame()Frame loop
Load a model or textureuseModGltf(), useModTexture()Assets
Play positioned audiouseModSpatialAudio(), useModAudioBus()Audio
Show a hint, objective, or dialoguseModNotifications(), useModHudSurfaces(), useModDialogs()HUD
Register an input actionuseModInputAction()Input
Render a shared physics bodyReplicatedDynamicBoxPhysics
Apply authoritative forces or jointsctx.physicsServer physics
Release a custom resourceuseModResourceScope(), ctx.resourcesCleanup

How to read the reference ​

  • A Promise<T> must be awaited to obtain the result.
  • null usually means missing or rejected; check before using a returned ID.
  • boolean mutations can fail. Do not show success without checking the result.
  • A client hook runs inside a host-mounted mod component.
  • A permission is declared in vibelands-mod.json. A TypeScript import does not grant it.

Legacy synchronous mutation results in an isolated worker are not necessarily host-confirmed completion. Use the documented return semantics and verify the result in a hosted test. Experimental ctx.operations provides selected host-confirmed operations on matching development builds.

Versions and experimental APIs ​

Use runtime apiVersion: 2 for public mods. ctx.operations, ctx.services, and the v3 migration output are evolving development contracts. Do not infer that a production host supports them from their presence in local SDK types. See Experimental contracts.

VibeLands Creator · Runtime API v2