Skip to content
Docs
Studio

Studio project reference

Every object kind of a Disko Studio project with its properties, and the Studio's limits.

A Studio project is a set of objects. Each has an id, a kind, a place (its parent and order) and properties. The Inspector edits these properties; MCP agents and project files see them as listed here. Properties typed expression hold formulas (see Variables); ids are strings.

This page is generated from the Studio's project schema.

Limits

LimitValue
Project document size4 MiB (4,194,304 bytes)
Objects per scene2000
Event rows1000
Scripts100
Script size64 KiB (65,536 bytes)
Asset size8 MiB (8,388,608 bytes)
Projects per account50
Storage per account500 MiB (524,288,000 bytes)

Object kinds

settings

Lives under: root.

PropertyType
namename
descriptionstring
iconstring or none
versionstring
scenestring or none

scene

Lives under: root.

PropertyType
namename
layerslist of name
groupslist of name

disc

Lives under: scene, prefab.

PropertyType
namename
positionexpression
radiusexpression
massexpression or none
dampingexpression
gravityexpression
velocityexpression
restitutionexpression
groupslist of name
acceptedlist of name or none
sensorboolean
tallexpression or none
layername or none
appearance{ fill, stroke, strokeWidth, opacity } or none
avatar{ text } or { asset } or none
rotationexpression
angularVelocityexpression
audienceexpression
air{ height, velocity, gravity, bounce } or none
lookOffsetexpression
lookScaleexpression
lookOpacityexpression

wall

Lives under: scene, prefab.

PropertyType
namename
positionexpression
pointslist of { position, curve }
closedboolean
biasexpression
restitutionexpression
groupslist of name
acceptedlist of name or none
sensorboolean
tallexpression or none
appearance{ stroke, strokeWidth } or none
audienceexpression

joint

Lives under: scene, prefab.

PropertyType
namename
firststring
secondstring
distance{ exact } or { min, max }
strengthexpression or none

crossing

Lives under: scene, prefab.

PropertyType
namename
startexpression
endexpression
groupslist of name
acceptedlist of name or none

visual

Lives under: scene, prefab, visual, action.

PropertyType
namename
anchor{ body, offset } or { position }
shape{ type, radius } or { type, width, height, corner } or { type, points } or { type, points, arrowStart, arrowEnd } or { type, radius, start, end } or { type, text, size, sizing } or { type, asset, width, height } or { type }
rotationexpression
scaleexpression
opacityexpression
fillexpression or none
strokeexpression or none
strokeWidthexpression
dashlist of number
layername or none
order"behind-body" \"above-body" or none
audienceexpression

camera

Lives under: scene.

PropertyType
namename
centerexpression
widthexpression or none
heightexpression or none
audienceexpression

prefab

Lives under: root.

PropertyType
namename
primarystring or none
perPlayer{ enabled, spawn, schema, acceleration, damping }

instance

Lives under: scene.

PropertyType
namename
prefabstring
positionexpression
overridesrecord

asset

Lives under: root.

PropertyType
namename
hashstring
type"image" \"sound"
sizeinteger
widthinteger or none
heightinteger or none
filestring

enumeration

Lives under: root.

PropertyType
namename
valueslist of { key, name, colour }

variable

Lives under: root.

PropertyType
namename
scope"game" \"player" \"object"
type{ t } or { t, of }
defaultexpression
timer{ runsWhile } or none
resetboolean

expression

Lives under: root.

PropertyType
namename
paramslist of { name, type }
result{ t } or { t, of }
bodyexpression

custom-event

Lives under: root.

PropertyType
namename
paramslist of { name, type }

event-group

Lives under: root.

PropertyType
namename
enabledboolean
commentstring

event-row

Lives under: root, event-group, event-row.

PropertyType
trigger{ item, slots } or none
sub{ type } or { type, over, as } or { type, seconds } or none
enabledboolean
commentstring

condition

Lives under: event-row, condition.

PropertyType
itemstring
slotsrecord
notboolean

action

Lives under: event-row.

PropertyType
itemstring
slotsrecord

action-schema

Lives under: root.

PropertyType
namename

action-def

Lives under: action-schema.

PropertyType
namename
labelstring
behaviour{ type, reach, strength, fullStrength, charge, lift, aim, arc, recoil, acceleration, damping } or { type, reach } or { type, strength, fullStrength, charge, lift } or none

role

Lives under: root.

PropertyType
namestring
labelstring
default"everyone" \"nobody" \"owner"

script

Lives under: root.

PropertyType
namestring
kind"action" \"expression"
result{ t } or { t, of } or none
codestring

ui-screen

Lives under: root.

PropertyType
screen"menu" \"hud"

ui-node

Lives under: ui-screen, ui-node.

PropertyType
namename or none
primitive"box" \"stack" \"row" \"grid" \"overlay" \"scroll" \"spacer" \"text" \"richtext" \"image" \"icon" \"shape" \"button" \"link" \"form" \"input" \"area" \"toggle" \"slider" \"select" \"option" \"progress" \"activity" \"status" \"alert" \"list" \"item" \"table" \"header" \"body" \"footer" \"cell" \"modal" \"popover" \"tabs" \"tab" \"panel" \"disclosure" \"flag" \"connection" \"playerName"
optionsrecord
style{ preset, declarations }
repeat{ over, as, where } or none
on{ activate, submit, input, change, commit, drop }
drag{ kind, value } or none
drop{ accept, value } or none
audience{ to, outside } or none

ui-style

Lives under: root.

PropertyType
namename
declarationsrecord

ui-theme

Lives under: root.

PropertyType
tokensrecord