Skip to main content

Movement

Movement tools teleport or tween transforms for the active character.

All movement tools target the active character. Use select_character first when working with multiple characters.

move_character

Teleport the active character to a viewport position instantly. (0, 0) is the top-left corner of the primary monitor.

ParameterTypeDefaultDescription
xnumberrequiredViewport X coordinate (pixels)
ynumberrequiredViewport Y coordinate (pixels)

tween_position

Smoothly animate the active character's position to a viewport position. Coordinates are in viewport pixels (0,0 = top-left of primary monitor), matching move_character.

ParameterTypeDefaultDescription
xnumberrequiredViewport X coordinate (pixels)
ynumberrequiredViewport Y coordinate (pixels)
durationMsnumberrequiredAnimation duration in milliseconds
easingstring"linear"Easing function (see Easing Functions)
waitbooleanfalseWait for animation to finish before returning

tween_rotation

Smoothly animate the active character's rotation to a target quaternion.

ParameterTypeDefaultDescription
targetXnumberrequiredTarget quaternion X
targetYnumberrequiredTarget quaternion Y
targetZnumberrequiredTarget quaternion Z
targetWnumberrequiredTarget quaternion W
durationMsnumberrequiredAnimation duration in milliseconds
easingstring"linear"Easing function (see Easing Functions)
waitbooleanfalseWait for animation to finish before returning

Example — 180° Y-axis rotation over 1 second:

{
"targetX": 0,
"targetY": 1,
"targetZ": 0,
"targetW": 0,
"durationMs": 1000,
"easing": "cubicInOut"
}

spin_character

Spin the active character around a world-space axis by a given angle. Supports full rotations (360°+). The rotation is additive — it preserves the character's current orientation. Use this instead of tween_rotation when you need full spins.

ParameterTypeDefaultDescription
axisstringrequiredRotation axis: "x", "y", or "z" (world-space)
angleDegreesnumberrequiredRotation angle in degrees (supports 360, 720, etc.)
durationMsnumberrequiredAnimation duration in milliseconds
easingstring"linear"Easing function (see Easing Functions)
waitbooleanfalseWait for animation to finish before returning

Example — full 360° Y-axis spin over 3 seconds:

{
"axis": "y",
"angleDegrees": 360,
"durationMs": 3000
}

tween_scale

Smoothly animate the active character's scale. 1.0 is normal size on each axis.

ParameterTypeDefaultDescription
targetXnumber ≥ 0requiredTarget X scale factor
targetYnumber ≥ 0requiredTarget Y scale factor
targetZnumber ≥ 0requiredTarget Z scale factor
durationMsnumberrequiredAnimation duration in milliseconds
easingstring"linear"Easing function (see Easing Functions)
waitbooleanfalseWait for animation to finish before returning

Easing Functions

All tween tools (tween_position, tween_rotation, tween_scale, spin_character) accept the same easing values:

linear, quadraticIn, quadraticOut, quadraticInOut, cubicIn, cubicOut, cubicInOut, quarticIn, quarticOut, quarticInOut, quinticIn, quinticOut, quinticInOut, sineIn, sineOut, sineInOut, circularIn, circularOut, circularInOut, exponentialIn, exponentialOut, exponentialInOut, elasticIn, elasticOut, elasticInOut, backIn, backOut, backInOut, bounceIn, bounceOut, bounceInOut, smoothStepIn, smoothStepOut, smoothStep, smootherStepIn, smootherStepOut, smootherStep