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
| Limit | Value |
|---|---|
| Project document size | 4 MiB (4,194,304 bytes) |
| Objects per scene | 2000 |
| Event rows | 1000 |
| Scripts | 100 |
| Script size | 64 KiB (65,536 bytes) |
| Asset size | 8 MiB (8,388,608 bytes) |
| Projects per account | 50 |
| Storage per account | 500 MiB (524,288,000 bytes) |
Object kinds
settings
Lives under: root.
| Property | Type |
|---|---|
name | name |
description | string |
icon | string or none |
version | string |
scene | string or none |
scene
Lives under: root.
| Property | Type |
|---|---|
name | name |
layers | list of name |
groups | list of name |
disc
Lives under: scene, prefab.
| Property | Type |
|---|---|
name | name |
position | expression |
radius | expression |
mass | expression or none |
damping | expression |
gravity | expression |
velocity | expression |
restitution | expression |
groups | list of name |
accepted | list of name or none |
sensor | boolean |
tall | expression or none |
layer | name or none |
appearance | { fill, stroke, strokeWidth, opacity } or none |
avatar | { text } or { asset } or none |
rotation | expression |
angularVelocity | expression |
audience | expression |
air | { height, velocity, gravity, bounce } or none |
lookOffset | expression |
lookScale | expression |
lookOpacity | expression |
wall
Lives under: scene, prefab.
| Property | Type |
|---|---|
name | name |
position | expression |
points | list of { position, curve } |
closed | boolean |
bias | expression |
restitution | expression |
groups | list of name |
accepted | list of name or none |
sensor | boolean |
tall | expression or none |
appearance | { stroke, strokeWidth } or none |
audience | expression |
joint
Lives under: scene, prefab.
| Property | Type |
|---|---|
name | name |
first | string |
second | string |
distance | { exact } or { min, max } |
strength | expression or none |
crossing
Lives under: scene, prefab.
| Property | Type |
|---|---|
name | name |
start | expression |
end | expression |
groups | list of name |
accepted | list of name or none |
visual
Lives under: scene, prefab, visual, action.
| Property | Type | |
|---|---|---|
name | name | |
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 } | |
rotation | expression | |
scale | expression | |
opacity | expression | |
fill | expression or none | |
stroke | expression or none | |
strokeWidth | expression | |
dash | list of number | |
layer | name or none | |
order | "behind-body" \ | "above-body" or none |
audience | expression |
camera
Lives under: scene.
| Property | Type |
|---|---|
name | name |
center | expression |
width | expression or none |
height | expression or none |
audience | expression |
prefab
Lives under: root.
| Property | Type |
|---|---|
name | name |
primary | string or none |
perPlayer | { enabled, spawn, schema, acceleration, damping } |
instance
Lives under: scene.
| Property | Type |
|---|---|
name | name |
prefab | string |
position | expression |
overrides | record |
asset
Lives under: root.
| Property | Type | |
|---|---|---|
name | name | |
hash | string | |
type | "image" \ | "sound" |
size | integer | |
width | integer or none | |
height | integer or none | |
file | string |
enumeration
Lives under: root.
| Property | Type |
|---|---|
name | name |
values | list of { key, name, colour } |
variable
Lives under: root.
| Property | Type | ||
|---|---|---|---|
name | name | ||
scope | "game" \ | "player" \ | "object" |
type | { t } or { t, of } | ||
default | expression | ||
timer | { runsWhile } or none | ||
reset | boolean |
expression
Lives under: root.
| Property | Type |
|---|---|
name | name |
params | list of { name, type } |
result | { t } or { t, of } |
body | expression |
custom-event
Lives under: root.
| Property | Type |
|---|---|
name | name |
params | list of { name, type } |
event-group
Lives under: root.
| Property | Type |
|---|---|
name | name |
enabled | boolean |
comment | string |
event-row
Lives under: root, event-group, event-row.
| Property | Type |
|---|---|
trigger | { item, slots } or none |
sub | { type } or { type, over, as } or { type, seconds } or none |
enabled | boolean |
comment | string |
condition
Lives under: event-row, condition.
| Property | Type |
|---|---|
item | string |
slots | record |
not | boolean |
action
Lives under: event-row.
| Property | Type |
|---|---|
item | string |
slots | record |
action-schema
Lives under: root.
| Property | Type |
|---|---|
name | name |
action-def
Lives under: action-schema.
| Property | Type |
|---|---|
name | name |
label | string |
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.
| Property | Type | ||
|---|---|---|---|
name | string | ||
label | string | ||
default | "everyone" \ | "nobody" \ | "owner" |
script
Lives under: root.
| Property | Type | |
|---|---|---|
name | string | |
kind | "action" \ | "expression" |
result | { t } or { t, of } or none | |
code | string |
ui-screen
Lives under: root.
| Property | Type | |
|---|---|---|
screen | "menu" \ | "hud" |
ui-node
Lives under: ui-screen, ui-node.
| Property | Type | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | name 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" |
options | record | ||||||||||||||||||||||||||||||||||||||||
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.
| Property | Type |
|---|---|
name | name |
declarations | record |
ui-theme
Lives under: root.
| Property | Type |
|---|---|
tokens | record |