Skip to content

Workshop and publish error codes

Search this page by the exact code shown in Checks. Error-level items block publish; warnings and information require an intentional review.

schema.invalid

The project does not match the supported schema. Reopen the last working cloud draft or undo the source edit. Do not hand-edit serialized project JSON unless you are developing the schema itself.

scene.player_missing

The start scene needs exactly one entity with a Player component. Add the curated player asset or restore the template player.

scene.multiple_players

More than one Player exists in the start scene. Keep one controlled player; use ordinary bodies/sprites for non-player characters.

scene.empty

The scene contains no entities. Delete the unused scene or add intentional content before linking to it.

entity.transform_missing

A Sprite or Collider cannot be placed without Transform. Add Transform to the entity; do not compensate with another entity's position.

entity.outside_scene

The entity position is beyond the world dimensions. Pan to it and move it inside, or enlarge the world intentionally in World settings.

sensor.no_behavior

A sensor cannot affect play without controlled logic or a purpose-built trigger component. Add touch logic, Dialogue, Checkpoint, Hazard, Launcher, Pickup, or Portal behavior as appropriate.

pickup.inventory_missing

At least one Pickup exists but the player has no Inventory component. Add Inventory to the player or use a score collectible instead.

logic.score_argument

An add-score command needs one finite numeric value. Recreate the visual action with a bounded number.

logic.effect_argument

An effect command needs one allowlisted effect name. Select an effect from Workshop instead of entering an arbitrary capability.

logic.animation_argument

Animation playback needs one existing creator clip name. Create or rename the clip in the Visual animation editor, then compile the behavior again.

logic.animation_stop_argument

Animation stop accepts no values. Use animation.stop(); to return to the automatic or default clip.

logic.destroy_argument

Destroy-self accepts no values. Remove the attached argument or recreate the action.

logic.launch_argument

Launch needs two finite velocity values between -2000 and 2000, with at least one non-zero axis. Correct the Launcher component or RiftScript arguments.

logic.launch_event

player.launch can run only in a player_touched handler, where the authoritative runtime can identify the touching player. Move the call into that event or use a Launch pad component.

logic.execution_failed

Controlled logic failed or exceeded its instruction, command, stack, or memory budget during headless validation. Workshop test mode reports the exact program/event/instruction and, for RiftScript, the mapped line. Use Open source at line …, correct the typed value or reduce the handler, and test again.

logic.invalid_program

Compiled bytecode failed control-flow, stack, capability-arity, explicit-return, random-range, or handler-size verification. Recompile the Visual behavior or RiftScript source. Do not hand-edit serialized instructions. RiftScript reports the corresponding source location as RS3002 before attachment; source that expands past the fixed limit is stopped earlier as RS0008.

budget.project_bytes

Serialized project data exceeds 2 MiB. Remove duplicated/unreachable content and reuse prefabs.

budget.entities

The project exceeds 20,000 entities. Consolidate decorative geometry and remove unused instances.

budget.instructions

The project exceeds the 100,000-instruction aggregate publish limit. Each individual handler must also fit the fixed 1,000-instruction per-tick VM allowance, reported as logic.invalid_program, RiftScript RS0008 during bounded function expansion, or RS3002 during bytecode verification. Split the design into smaller controlled behaviors and remove repeated branches.

runtime.simulation_failed

The deterministic 120-tick publishing simulation failed. Fix the earlier source-linked error; if none is shown, preserve the draft and report the immutable project/version identifiers through the activated private support channel.

API messages

UNAUTHORIZED means the required signed guest, verified account, or moderator session is missing/expired. CONFLICT means the requested state no longer matches the stored revision, eligibility, or idempotency record. RATE_LIMITED requires waiting rather than retrying rapidly. SERVICE_UNAVAILABLE means a platform kill switch is intentionally closed.

PixelRifts creator documentation · generated reference · protocol 21