Component reference
Every component an object can carry, and every setting inside it. What these settings mean — and the ones that are easy to misread — is covered in Components.
39 components are available.
| Type | Schema | Fields | Field names |
|---|---|---|---|
AnchorComponent | variant on type | 2 | type, …per variant |
AudioComponent | object | 7 | audio, volume, play, loop, muted, positional, … |
BoneComponent | object | 2 | index, inverse |
CameraComponent | variant on projection | 2 | projection, …per variant |
CameraViewComponent | object | 8 | target, x, y, width, height, size, … |
ColliderComponent | variant on type | 2 | type, …per variant |
DivkitComponent | object | 6 | referal, render, anchorX, anchorY, enabled, persistVariables |
EventsComponent | object | 1 | events |
ExtensionComponent | object | 1 | entries |
GeometryComponent | variant on type | 2 | type, …per variant |
InitialVelocityComponent | object | 2 | velocity, angularVelocity |
InstancerComponent | variant on source | 2 | source, …per variant |
LightComponent | variant on type | 2 | type, …per variant |
LookAtComponent | variant on mode | 2 | mode, …per variant |
MaterialComponent | object | 1 | materials |
MetaComponent | object | 6 | name, type, sort, enabled, visible, isMain |
ModelRefComponent | object | 8 | referal, clip, speed, repeatMode, repeatCount, startFrame, … |
MorphComponent | object | 1 | weights |
ParentComponent | object | 3 | parent, order, lock |
ParticleEmitterComponent | object | 23 | emitting, count, lifetime, shape, radius, extents, … |
PatchGraphComponent | object | 3 | signature, nodes, edges |
PatchRefComponent | object | 2 | referal, inputs |
PathComponent | object | 19 | points, closed, curve, tension, radius, radialSegments, … |
PhysicsStateComponent | object | 4 | velocity, angularVelocity, speed, sleeping |
PrefabComponent | object | 1 | resourceId |
PrefabContent | object | 1 | rootId |
RigidBodyComponent | object | 8 | type, mass, linearDamping, angularDamping, fixedRotation, friction, … |
ScriptComponent | object | 3 | referal, enabled, props |
ShaderGraphComponent | object | 5 | nodes, edges, output, order, source |
ShadowComponent | object | 2 | castShadow, receiveShadow |
SkeletonComponent | object | 0 | |
SplatRefComponent | object | 1 | referal |
StatesComponent | object | 2 | states, activeStateId |
TagsComponent | object | 1 | tags |
TemporalStateComponent | object | 2 | presets, activePresetId |
Text3DComponent | object | 15 | text, font, fontWeight, fontSize, textAlign, verticalAlign, … |
TextComponent | object | 10 | font, fontStyle, text, fontWeight, fontSize, width, … |
TransformComponent | object | 4 | position, rotation, scale, lock |
VideoComponent | object | 7 | video, volume, play, loop, muted, positional, … |
Schemas in full
AnchorComponent
Tagged union on type — the fields depend on the tag.
type = image
| Field | Type | Notes |
|---|---|---|
isMain | bool — boolean | has default |
imageId | string — string | has default |
physicalWidth | f64 — number | has default, min 0 |
physicalHeight | f64 — number | has default, min 0 |
showHints | bool — boolean | has default |
type = qr
| Field | Type | Notes |
|---|---|---|
isMain | bool — boolean | has default |
text | string — string | has default |
imageId | string — string | has default |
physicalSize | f64 — number | has default, min 0 |
showHints | bool — boolean | has default |
type = geo
| Field | Type | Notes |
|---|---|---|
isMain | bool — boolean | has default |
latitude | f64 — number | has default, min -90, max 90 |
longitude | f64 — number | has default, min -180, max 180 |
showHints | bool — boolean | has default |
type = face
| Field | Type | Notes |
|---|---|---|
isMain | bool — boolean | has default |
physicalSize | f64 — number | has default, min 0 |
anchorPoint | enum(nose | forehead | chin | leftEye | rightEye | leftEyebrow | rightEyebrow | leftEar | rightEar | noseBase | bottomLip | origin) | has default |
faceGrid | bool — boolean | has default |
faceTextureId | string — string | has default |
fillEyes | bool — boolean | has default |
fillMouth | bool — boolean | has default |
flipTexture | bool — boolean | has default |
showHints | bool — boolean | has default |
type = surface
| Field | Type | Notes |
|---|---|---|
isMain | bool — boolean | has default |
bindingType | enum(floor | wall | ceiling | table) | has default |
recognitionAlgorithm | enum(plane_detection | hit_test) | has default |
providerIos | enum(auto | webxr | 8thwall | arclip-webar) | has default |
providerAndroid | enum(auto | webxr | 8thwall | arclip-webar) | has default |
vps | bool — boolean | has default |
locationIds | array — array | has default |
showHints | bool — boolean | has default |
type = panorama
| Field | Type | Notes |
|---|---|---|
isMain | bool — boolean | has default |
showHints | bool — boolean | has default |
type = 3d
| Field | Type | Notes |
|---|---|---|
isMain | bool — boolean | has default |
cameraId | string — string | has default |
AudioComponent
| Field | Type | Notes |
|---|---|---|
audio | string — string | nullable, has default |
volume | f64 — number | has default |
play | bool — boolean | has default |
loop | bool — boolean | has default |
muted | bool — boolean | has default |
positional | bool — boolean | has default |
position | f64 — number | has default |
BoneComponent
| Field | Type | Notes |
|---|---|---|
index | f64 — number | has default |
inverse | mat4 — number[16] | has default |
CameraComponent
Tagged union on projection — the fields depend on the tag.
projection = perspective
| Field | Type | Notes |
|---|---|---|
fov | f64 — number | has default, min 1, max 179 |
near | f64 — number | has default, min 0.001 |
far | f64 — number | has default, min 0.01 |
controls | enum(none | orbit | fly | firstPerson | lock) | has default |
target | vec3 — {x, y, z} | has default |
enableDamping | bool — boolean | has default |
dampingFactor | f64 — number | has default, min 0, max 1 |
enableRotate | bool — boolean | has default |
enablePan | bool — boolean | has default |
enableZoom | bool — boolean | has default |
minDistance | f64 — number | has default, min 0 |
maxDistance | f64 — number | has default, min 0 |
minPolarAngle | f64 — number | has default, min 0, max 3.141592653589793 |
maxPolarAngle | f64 — number | has default, min 0, max 3.141592653589793 |
autoRotate | bool — boolean | has default |
autoRotateSpeed | f64 — number | has default |
moveSpeed | f64 — number | has default, min 0 |
boost | f64 — number | has default, min 1 |
lookSpeed | f64 — number | has default, min 0.05 |
moveForward | array — array | has default |
moveBack | array — array | has default |
moveLeft | array — array | has default |
moveRight | array — array | has default |
moveUp | array — array | has default |
moveDown | array — array | has default |
moveBoost | array — array | has default |
CameraViewComponent
| Field | Type | Notes |
|---|---|---|
target | enum(screen | texture) | has default |
x | f64 — number | has default, min 0, max 1 |
y | f64 — number | has default, min 0, max 1 |
width | f64 — number | has default, min 0, max 1 |
height | f64 — number | has default, min 0, max 1 |
size | u32 — number | has default, min 16, max 4096 |
order | i32 — number | has default |
enabled | bool — boolean | has default |
ColliderComponent
Tagged union on type — the fields depend on the tag.
type = auto
| Field | Type | Notes |
|---|
type = box
| Field | Type | Notes |
|---|---|---|
halfExtents | vec3 — {x, y, z} | has default |
type = sphere
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
type = cylinder
| Field | Type | Notes |
|---|---|---|
radiusTop | f64 — number | has default, min 0 |
radiusBottom | f64 — number | has default, min 0 |
height | f64 — number | has default, min 0 |
segments | u32 — number | has default, min 3, max 64 |
type = capsule
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
height | f64 — number | has default, min 0 |
type = plane
| Field | Type | Notes |
|---|
DivkitComponent
| Field | Type | Notes |
|---|---|---|
referal | string — string | nullable, has default |
render | enum(overlay | anchored) | has default |
anchorX | enum(left | center | right) | has default |
anchorY | enum(top | center | bottom) | has default |
enabled | bool — boolean | has default |
persistVariables | bool — boolean | has default |
EventsComponent
| Field | Type | Notes |
|---|---|---|
events | array — array | has default |
ExtensionComponent
| Field | Type | Notes |
|---|---|---|
entries | record — map | has default |
GeometryComponent
Tagged union on type — the fields depend on the tag.
type = box
| Field | Type | Notes |
|---|---|---|
width | f64 — number | has default, min 0 |
height | f64 — number | has default, min 0 |
depth | f64 — number | has default, min 0 |
widthSegments | u32 — number | has default, min 1, max 100 |
heightSegments | u32 — number | has default, min 1, max 100 |
depthSegments | u32 — number | has default, min 1, max 100 |
cornerRadius | f64 — number | has default, min 0 |
cornerSegments | u32 — number | has default, min 1, max 10 |
type = sphere
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
widthSegments | u32 — number | has default, min 3, max 256 |
heightSegments | u32 — number | has default, min 2, max 256 |
phiStart | f64 — number | has default |
phiLength | f64 — number | has default |
thetaStart | f64 — number | has default, min 0, max 6.283185307179586 |
thetaLength | f64 — number | has default, min 0, max 6.283185307179586 |
type = cylinder
| Field | Type | Notes |
|---|---|---|
radiusTop | f64 — number | has default, min 0 |
radiusBottom | f64 — number | has default, min 0 |
height | f64 — number | has default, min 0 |
radialSegments | u32 — number | has default, min 3, max 256 |
heightSegments | u32 — number | has default, min 1, max 100 |
openEnded | bool — boolean | has default |
thetaStart | f64 — number | has default, min 0, max 6.283185307179586 |
thetaLength | f64 — number | has default, min 0, max 6.283185307179586 |
type = capsule
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
height | f64 — number | has default, min 0 |
capSegments | u32 — number | has default, min 1, max 32 |
radialSegments | u32 — number | has default, min 3, max 128 |
heightSegments | u32 — number | has default, min 1, max 100 |
type = circle
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
segments | u32 — number | has default, min 3, max 256 |
thetaStart | f64 — number | has default, min 0, max 6.283185307179586 |
thetaLength | f64 — number | has default, min 0, max 6.283185307179586 |
type = cone
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
height | f64 — number | has default, min 0 |
radialSegments | u32 — number | has default, min 3, max 256 |
heightSegments | u32 — number | has default, min 1, max 100 |
openEnded | bool — boolean | has default |
thetaStart | f64 — number | has default, min 0, max 6.283185307179586 |
thetaLength | f64 — number | has default, min 0, max 6.283185307179586 |
type = dodecahedron
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
detail | u32 — number | has default, max 5 |
type = icosahed
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
detail | u32 — number | has default, max 5 |
type = octahedron
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default, min 0 |
detail | u32 — number | has default, max 5 |
type = plane
| Field | Type | Notes |
|---|---|---|
width | f64 — number | has default, min 0 |
height | f64 — number | has default, min 0 |
widthSegments | u32 — number | has default, min 1, max 100 |
heightSegments | u32 — number | has default, min 1, max 100 |
type = triangle
| Field | Type | Notes |
|---|---|---|
width | f64 — number | has default, min 0 |
height | f64 — number | has default, min 0 |
widthSegments | u32 — number | has default, min 1, max 100 |
heightSegments | u32 — number | has default, min 1, max 100 |
type = ring
| Field | Type | Notes |
|---|---|---|
innerRadius | f64 — number | has default, min 0 |
outerRadius | f64 — number | has default, min 0 |
thetaSegments | u32 — number | has default, min 3, max 256 |
phiSegments | u32 — number | has default, min 1, max 32 |
thetaStart | f64 — number | has default, min 0, max 6.283185307179586 |
thetaLength | f64 — number | has default, min 0, max 6.283185307179586 |
type = torus
| Field | Type | Notes |
|---|---|---|
radius | f64 — number | has default |
tube | f64 — number | has default |
radialSegments | u32 — number | has default, min 1, max 128 |
tubularSegments | u32 — number | has default, min 3, max 256 |
arc | f64 — number | has default, min 0, max 6.283185307179586 |
type = extrude
| Field | Type | Notes |
|---|---|---|
points | array — array | has default |
depth | f64 — number | has default, min 0 |
bevelEnabled | bool — boolean | has default |
bevelThickness | f64 — number | has default, min 0 |
bevelSize | f64 — number | has default, min 0 |
bevelSegments | u32 — number | has default, min 1, max 16 |
type = lathe
| Field | Type | Notes |
|---|---|---|
points | array — array | has default |
segments | u32 — number | has default, min 3, max 256 |
phiStart | f64 — number | has default, min 0, max 6.283185307179586 |
phiLength | f64 — number | has default, min 0, max 6.283185307179586 |
type = ref
| Field | Type | Notes |
|---|---|---|
referal | string — string | nullable, has default |
InitialVelocityComponent
| Field | Type | Notes |
|---|---|---|
velocity | vec3 — {x, y, z} | has default |
angularVelocity | vec3 — {x, y, z} | has default |
InstancerComponent
Tagged union on source — the fields depend on the tag.
source = grid
| Field | Type | Notes |
|---|---|---|
maxCount | u32 — number | has default, min 1, max 100000 |
seed | u32 — number | has default |
scaleMin | f64 — number | has default, min 0 |
scaleMax | f64 — number | has default, min 0 |
rotationJitter | vec3 — {x, y, z} | has default |
colorA | color — hex colour string | has default |
colorB | color — hex colour string | has default |
countX | u32 — number | has default, min 1, max 1000 |
countY | u32 — number | has default, min 1, max 1000 |
countZ | u32 — number | has default, min 1, max 1000 |
spacing | vec3 — {x, y, z} | has default |
jitter | f64 — number | has default, min 0, max 1 |
source = scatter
| Field | Type | Notes |
|---|---|---|
maxCount | u32 — number | has default, min 1, max 100000 |
seed | u32 — number | has default |
scaleMin | f64 — number | has default, min 0 |
scaleMax | f64 — number | has default, min 0 |
rotationJitter | vec3 — {x, y, z} | has default |
colorA | color — hex colour string | has default |
colorB | color — hex colour string | has default |
count | u32 — number | has default, min 1, max 100000 |
shape | enum(box | sphere) | has default |
extents | vec3 — {x, y, z} | has default |
source = children
| Field | Type | Notes |
|---|---|---|
maxCount | u32 — number | has default, min 1, max 100000 |
seed | u32 — number | has default |
scaleMin | f64 — number | has default, min 0 |
scaleMax | f64 — number | has default, min 0 |
rotationJitter | vec3 — {x, y, z} | has default |
colorA | color — hex colour string | has default |
colorB | color — hex colour string | has default |
LightComponent
Tagged union on type — the fields depend on the tag.
type = ambient
| Field | Type | Notes |
|---|---|---|
color | color — hex colour string | has default |
intensity | f64 — number | has default, min 0 |
castShadow | bool — boolean | has default |
visible | bool — boolean | has default |
type = directional
| Field | Type | Notes |
|---|---|---|
color | color — hex colour string | has default |
intensity | f64 — number | has default, min 0 |
castShadow | bool — boolean | has default |
visible | bool — boolean | has default |
type = point
| Field | Type | Notes |
|---|---|---|
color | color — hex colour string | has default |
intensity | f64 — number | has default, min 0 |
castShadow | bool — boolean | has default |
visible | bool — boolean | has default |
distance | f64 — number | has default, min 0 |
decay | f64 — number | has default, min 0 |
type = spot
| Field | Type | Notes |
|---|---|---|
color | color — hex colour string | has default |
intensity | f64 — number | has default, min 0 |
castShadow | bool — boolean | has default |
visible | bool — boolean | has default |
distance | f64 — number | has default, min 0 |
decay | f64 — number | has default, min 0 |
angle | f64 — number | has default, min 0, max 1.5707963267948966 |
penumbra | f64 — number | has default, min 0, max 1 |
type = hemisphere
| Field | Type | Notes |
|---|---|---|
color | color — hex colour string | has default |
intensity | f64 — number | has default, min 0 |
castShadow | bool — boolean | has default |
visible | bool — boolean | has default |
groundColor | color — hex colour string | has default |
LookAtComponent
Tagged union on mode — the fields depend on the tag.
mode = world
| Field | Type | Notes |
|---|---|---|
target | vec3 — {x, y, z} | has default |
mode = self
| Field | Type | Notes |
|---|---|---|
offset | vec3 — {x, y, z} | has default |
MaterialComponent
| Field | Type | Notes |
|---|---|---|
materials | array — array | has default, min 1 |
MetaComponent
| Field | Type | Notes |
|---|---|---|
name | string — string | has default |
type | enum(object | model | plain | box | light) | has default |
sort | f64 — number | has default |
enabled | bool — boolean | has default |
visible | bool — boolean | has default |
isMain | bool — boolean | has default |
ModelRefComponent
| Field | Type | Notes |
|---|---|---|
referal | string — string | nullable, has default |
clip | string — string | nullable, has default |
speed | f64 — number | has default |
repeatMode | enum(none | count | permanent) | has default |
repeatCount | f64 — number | has default, integer, min 1 |
startFrame | f64 — number | has default, integer, min 0 |
stopWhenPressed | bool — boolean | has default |
playing | bool — boolean | has default |
MorphComponent
| Field | Type | Notes |
|---|---|---|
weights | record — map | has default |
ParentComponent
| Field | Type | Notes |
|---|---|---|
parent | string — string | nullable, has default |
order | f64 — number | nullable, has default |
lock | bool — boolean | has default |
ParticleEmitterComponent
| Field | Type | Notes |
|---|---|---|
emitting | bool — boolean | has default |
count | u32 — number | has default, min 1, max 65536 |
lifetime | f64 — number | has default, min 0.05 |
shape | enum(point | sphere | box | cone) | has default |
radius | f64 — number | has default, min 0 |
extents | vec3 — {x, y, z} | has default |
angle | f64 — number | has default, min 0, max 180 |
speedMin | f64 — number | has default, min 0 |
speedMax | f64 — number | has default, min 0 |
gravity | vec3 — {x, y, z} | has default |
drag | f64 — number | has default, min 0 |
turbulence | f64 — number | has default, min 0 |
sizeStart | f64 — number | has default, min 0 |
sizeEnd | f64 — number | has default, min 0 |
sizeJitter | f64 — number | has default, min 0, max 1 |
spin | f64 — number | has default |
colorStart | color — hex colour string | has default |
colorEnd | color — hex colour string | has default |
opacityStart | f64 — number | has default, min 0, max 1 |
opacityEnd | f64 — number | has default, min 0, max 1 |
sprite | string — string | nullable, has default |
blending | enum(additive | normal) | has default |
seed | u32 — number | has default |
PatchGraphComponent
| Field | Type | Notes |
|---|---|---|
signature | object — nested object | has default |
nodes | array — array | has default |
edges | array — array | has default |
PatchRefComponent
| Field | Type | Notes |
|---|---|---|
referal | string — string | nullable, has default |
inputs | record — map | has default |
PathComponent
| Field | Type | Notes |
|---|---|---|
points | array — array | has default |
closed | bool — boolean | has default |
curve | enum(smooth | linear) | has default |
tension | f64 — number | has default, min 0, max 1 |
radius | f64 — number | has default, min 0, max 10 |
radialSegments | u32 — number | has default, min 3, max 64 |
tubularSegments | u32 — number | has default, min 4, max 1024 |
profile | enum(none | circle | rectangle | star) | has default |
profileSize | vec2 — {x, y} | has default |
ring | f64 — number | has default, min 0, max 1 |
arc | f64 — number | has default, min 0, max 360 |
sides | u32 — number | has default, min 3, max 64 |
depth | f64 — number | has default, min 0, max 1 |
offset | f64 — number | has default, min 0, max 1 |
rotation | f64 — number | has default, min -360, max 360 |
twist | f64 — number | has default, min -3600, max 3600 |
startScale | f64 — number | has default, min 0, max 10 |
endScale | f64 — number | has default, min 0, max 10 |
caps | enum(flat | round) | has default |
PhysicsStateComponent
| Field | Type | Notes |
|---|---|---|
velocity | vec3 — {x, y, z} | has default |
angularVelocity | vec3 — {x, y, z} | has default |
speed | f64 — number | has default |
sleeping | bool — boolean | has default |
PrefabComponent
| Field | Type | Notes |
|---|---|---|
resourceId | string — string | nullable, has default |
PrefabContent
| Field | Type | Notes |
|---|---|---|
rootId | string — string | required |
RigidBodyComponent
| Field | Type | Notes |
|---|---|---|
type | enum(dynamic | static | kinematic | none) | has default |
mass | f64 — number | has default, min 0 |
linearDamping | f64 — number | has default, min 0, max 1 |
angularDamping | f64 — number | has default, min 0, max 1 |
fixedRotation | bool — boolean | has default |
friction | f64 — number | nullable, has default, min 0 |
restitution | f64 — number | nullable, has default, min 0, max 1 |
network | enum(shared | local) | has default |
ScriptComponent
| Field | Type | Notes |
|---|---|---|
referal | string — string | nullable, has default |
enabled | bool — boolean | has default |
props | record — map | has default |
ShaderGraphComponent
| Field | Type | Notes |
|---|---|---|
nodes | array — array | has default |
edges | array — array | has default |
output | string — string | has default |
order | f64 — number | has default, integer |
source | string — string | has default |
ShadowComponent
| Field | Type | Notes |
|---|---|---|
castShadow | bool — boolean | has default |
receiveShadow | bool — boolean | has default |
SkeletonComponent
| Field | Type | Notes |
|---|
SplatRefComponent
| Field | Type | Notes |
|---|---|---|
referal | string — string | nullable, has default |
StatesComponent
| Field | Type | Notes |
|---|---|---|
states | array — array | has default |
activeStateId | string — string | nullable, has default |
TagsComponent
| Field | Type | Notes |
|---|---|---|
tags | record — map | required |
TemporalStateComponent
| Field | Type | Notes |
|---|---|---|
presets | array — array | has default |
activePresetId | string — string | nullable, has default |
Text3DComponent
| Field | Type | Notes |
|---|---|---|
text | string — string | has default |
font | string — string | nullable, has default |
fontWeight | enum(normal | bold) | has default |
fontSize | f64 — number | has default |
textAlign | enum(left | center | right) | has default |
verticalAlign | enum(top | middle | bottom) | has default |
lineHeight | f64 — number | has default, min 0.1, max 5 |
letterSpacing | f64 — number | has default, min -0.5, max 2 |
curveSegments | u32 — number | has default, min 1, max 32 |
depth | f64 — number | has default, min 0, max 5 |
bevelEnabled | bool — boolean | has default |
bevelThickness | f64 — number | has default, min 0, max 1 |
bevelSize | f64 — number | has default, min 0, max 1 |
bevelSegments | u32 — number | has default, min 1, max 16 |
color | union — union | has default |
TextComponent
| Field | Type | Notes |
|---|---|---|
font | string — string | nullable, has default |
fontStyle | enum(normal | italic) | has default |
text | string — string | has default |
fontWeight | enum(normal | bold) | has default |
fontSize | f64 — number | has default |
width | f64 — number | nullable, has default |
height | f64 — number | nullable, has default |
textAlign | enum(left | center | right | justify) | has default |
verticalAlign | enum(top | middle | bottom) | has default |
color | union — union | has default |
TransformComponent
| Field | Type | Notes |
|---|---|---|
position | vec3 — {x, y, z} | has default |
rotation | vec3 — {x, y, z} | has default |
scale | vec3 — {x, y, z} | has default |
lock | bool — boolean | has default |
VideoComponent
| Field | Type | Notes |
|---|---|---|
video | string — string | nullable, has default |
volume | f64 — number | has default |
play | bool — boolean | has default |
loop | bool — boolean | has default |
muted | bool — boolean | has default |
positional | bool — boolean | has default |
position | f64 — number | has default |