Limits
These are Cinnabar sandbox and API limits. Counts apply per mod unless stated otherwise. Bytes count UTF-8 or encoded data, not characters. Fuel measures guest execution; host imports have separate allowances. Handle errors and spread work across callbacks.
Execution and packages
| Constant | Value | Scope |
|---|---|---|
mod_host::FRAME_FUEL | 200000 | Fuel for one personal-mod frame; also the action filter’s independent fuel allowance. |
mod_api::TOTAL_MOD_FRAME_FUEL | 400000 | Frame fuel shared by all local mods. |
server_experience::runtime::CALLBACK_FUEL | 10000000 | Ordinary event and client-part callback fuel. |
server_experience::runtime::LOAD_FUEL | 100000000 | Personal-mod init and data-changed fuel. |
mod_host::MEMORY_BYTES | 16777216 | Linear memory per personal mod. |
mod_api::MAX_LOADED_MODS | 4 | Concurrent local mods. |
mod_host::MAX_COMPONENT_BYTES | 4194304 | Executable component bytes. |
mod_host::MAX_COMPONENT_SOURCE_BYTES | 21233966 | Component envelope including embedded resources. |
mod_host::package::MAX_PACKAGE_BYTES | 16777216 | Indexed directory package bytes. |
mod_host::MAX_LABEL_BYTES | 256 | Plain label bytes. |
mod_api::MAX_SETTINGS_BYTES | 16384 | Settings JSON bytes. |
Controls and presentation
| Constant | Value | Scope |
|---|---|---|
mod_api::MAX_CONTROL_KEYS | 64 | Reserved physical keys. |
mod_api::MAX_CONTROL_KEY_BYTES | 32 | Bytes per physical key name. |
ui::mod_panel::MAX_PANEL_BYTES | 327680 | Whole personal panel JSON bytes. |
ui::mod_panel::MAX_PANEL_BUNDLE_BYTES | 8388608 | Panel bundle bytes. |
ui::mod_panel::MAX_PANEL_PATCH_BYTES | 32768 | Panel patch bytes. |
ui::mod_panel::MAX_PANEL_CONTROLS | 512 | Controls per panel. |
ui::mod_panel::MAX_PANEL_EVENTS | 64 | Panel input events per batch. |
ui::mod_panel::MAX_SURFACE_BINDINGS | 256 | Scalar surface bindings. |
ui::mod_panel::MAX_SURFACE_PATCH_BYTES | 65536 | Surface patch bytes. |
mod_api::presentation::MAX_ANNOTATIONS | 128 | Actor annotations. |
mod_api::presentation::MAX_ANNOTATION_SPANS | 4 | Spans per annotation surface. |
mod_api::presentation::MAX_ANNOTATION_SPAN_BYTES | 32 | Bytes per annotation span. |
mod_api::presentation::MAX_ACTOR_TINTS | 64 | Actor tints. |
mod_api::presentation::MAX_TOOLTIP_LINES | 256 | Retained tooltip lines. |
mod_api::presentation::MAX_ITEM_TOOLTIP_LINES | 8 | Extra tooltip lines shown for one item. |
mod_api::presentation::MAX_TOOLTIP_LINE_BYTES | 96 | Bytes per tooltip line. |
mod_api::presentation::MAX_CHAT_ACTIONS | 32 | Retained chat actions. |
mod_api::presentation::MAX_CHAT_ACTION_TEXT_BYTES | 96 | Bytes per chat span. |
mod_api::presentation::MAX_CHAT_ACTION_ID_BYTES | 48 | Bytes per chat action ID. |
Embedded assets and native payloads
| Constant | Value | Scope |
|---|---|---|
mod_api::MAX_PANEL_FONT_BYTES | 2097152 | Embedded outline font bytes. |
mod_api::MAX_PANEL_ICON_GLYPHS | 64 | Private panel icon glyphs. |
mod_api::MAX_MENU_LOGO_BYTES | 2097152 | Encoded menu logo bytes. |
mod_api::MAX_MENU_LOGO_WIDTH | 4096 | Menu logo width in pixels. |
mod_api::MAX_MENU_LOGO_HEIGHT | 2048 | Menu logo height in pixels. |
mod_api::MAX_MENU_LOGO_PIXELS | 4194304 | Decoded menu logo pixels. |
mod_api::MAX_MENU_TITLE_BYTES | 64 | Menu heading bytes. |
mod_api::MAX_NOTICES_BYTES | 4194304 | Embedded license text bytes. |
mod_api::MAX_ICON_BYTES | 262144 | Mods library icon bytes. |
mod_api::MAX_ICON_SIDE | 256 | Mods library icon side in pixels. |
mod_api::native_frame::MAX_BYTES | 65536 | Native frame input and camera output bytes. |
mod_api::native_menu::MAX_INPUT_BYTES | 65536 | Native menu input bytes. |
mod_api::native_menu::MAX_OUTPUT_BYTES | 524288 | Native menu output bytes. |
mod_api::native_render::MAX_BYTES | 262144 | Native drawing output bytes. |
World and player observations
| Constant | Value | Scope |
|---|---|---|
mod_api::MAX_GAMEPLAY_PLAYERS | 128 | Remote player poses per gameplay snapshot. |
mod_api::MAX_GAMEPLAY_MOBS | 64 | Nearby non-player poses. |
mod_api::MAX_MOB_RANGE_BLOCKS | 64 | Non-player observation radius in blocks. |
mod_api::MAX_OBSERVED_ACTORS | 16 | Actor observations per read. |
mod_api::MAX_OBSERVED_ACTOR_BOXES | 8 | Boxes per observed actor. |
mod_api::MAX_ACTOR_LIFE_READS | 64 | Actor IDs per life lookup. |
mod_api::MAX_COMBAT_READ_EVENTS | 4 | Combat events per incremental read. |
mod_api::MAX_COMBAT_LIFE_READS | 64 | Event sequences per combat-life lookup. |
mod_api::MAX_FACT_READS | 128 | Fact reads per callback. |
mod_api::MAX_PLAYER_STATE_EFFECTS | 32 | Effects per player snapshot. |
mod_api::MAX_ITEM_IDENTIFIER_BYTES | 128 | Item identifier bytes. |
mod_api::MAX_TERRAIN_EXTENT | 16 | Region extent per axis in blocks. |
mod_api::MAX_TERRAIN_CELLS | 4096 | Cells per region query. |
mod_api::MAX_TERRAIN_QUERIES | 4 | Distinct region and block-search subscriptions per frame. |
mod_api::MAX_TERRAIN_DISTANCE | 128 | Terrain distance per axis from the player, in blocks. |
mod_api::MAX_TERRAIN_FRAME_CELLS | 8192 | Changed cells re-sampled per frame across all mods. |
mod_api::MAX_TERRAIN_BOXES | 4096 | Distinct boxes per region. |
mod_api::MAX_TERRAIN_METADATA_BYTES | 262144 | Region metadata bytes. |
mod_api::MAX_TERRAIN_RESPONSE_BYTES | 524288 | Lowered region bytes. |
mod_api::MAX_FOUND_BLOCKS | 1024 | Positions returned by one block search. |
mod_api::MAX_FOUND_BLOCK_IDENTIFIERS | 8 | Identifiers per block search. |
Requests and camera
| Constant | Value | Scope |
|---|---|---|
mod_api::MAX_CAMERA_DELTA_RADIANS | 0.25 | Accumulated rotation per axis per callback, in radians. |
mod_api::MAX_ENTITY_REACH_BLOCKS | 6 | Local actor attack reach in blocks. |
mod_api::MAX_PACKET_DELAY_MS | 1000 | Post-login application packet delay in milliseconds. |
mod_api::MAX_INVENTORY_REQUESTS | 4 | Inventory requests per callback. |
mod_api::MAX_RIG_SIDE_BLOCKS | 2 | Absolute rig side offset in blocks. |
mod_api::MAX_RIG_VERTICAL_BLOCKS | 2 | Absolute rig vertical offset in blocks. |
mod_api::MAX_RIG_BACK_BLOCKS | 8 | Rig boom length in blocks. |
mod_api::MAX_RIG_ROLL_RADIANS | 0.6 | Absolute rig roll in radians. |
mod_api::MAX_RIG_FOV_DELTA_DEGREES | 30 | Absolute rig FOV delta in degrees. |
mod_api::MAX_VIEW_TILT_DEGREES | 90 | Absolute view tilt per axis in degrees. |
mod_api::MIN_VIEW_FOV_SCALE | 0.1 | Minimum current-frame FOV multiplier. |
mod_api::MIN_VIEW_LOOK_SCALE | 0.05 | Minimum routed look multiplier. |
mod_api::MAX_COMMAND_GRANTS | 8 | Granted command names. |
mod_api::MAX_COMMAND_BYTES | 128 | Command request bytes. |
mod_api::MAX_COMMANDS_PER_FRAME | 4 | Command requests per frame. |
mod_api::MAX_COMMANDS_PER_SECOND | 10 | Command requests per second of gameplay frame time. |
mod_api::MAX_CUES_PER_FRAME | 16 | Outgoing presentation cues per frame. |
mod_api::MAX_CUE_NAME_BYTES | 32 | Cue name bytes. |
mod_api::MAX_CUE_VALUES | 8 | Scalar values per cue. |
mod_api::MAX_INCOMING_CUES | 64 | Incoming cues per callback. |
Drawing, masks and shaders
| Constant | Value | Scope |
|---|---|---|
mod_api::MAX_RENDER_CALLS | 32 | Render and retained-drawing calls per callback, including refusals. |
mod_api::MAX_DRAW_INSTANCES | 1024 | Retained draw instances per owner. |
mod_api::MAX_DRAW_GEOMETRIES | 256 | Retained geometries per owner. |
mod_api::MAX_DRAW_VERTICES | 65536 | Resident source vertices per owner. |
mod_api::MAX_DRAW_INDICES | 196608 | Resident source indices per owner. |
mod_api::MAX_DRAW_GEOMETRY_BYTES | 16777216 | Resident geometry bytes per owner. |
mod_api::MAX_DRAW_MUTATION_BYTES | 1048576 | Shared drawing mutation and copied asset bytes per callback. |
mod_api::MAX_DRAW_EXPANDED_VERTICES | 196608 | Expanded GPU vertices per owner. |
mod_api::MAX_DRAW_VERTEX_WORK | 786432 | Submitted vertex work, including repeated instances. |
mod_api::MAX_DRAW_GROUP_NAME_BYTES | 32 | Frame group name bytes. |
mod_api::MAX_DRAW_ENTITIES | 16 | Retained actor references per owner. |
mod_api::MAX_DRAW_MATERIALS | 8 | Retained materials, including retiring resources. |
mod_api::MAX_MATERIAL_COMPILES_PER_CALLBACK | 1 | Material validation attempts per callback. |
mod_api::MAX_MATERIAL_PIPELINE_COMPILES_PER_FRAME | 1 | Native material compilations per render frame across all mods. |
mod_api::MAX_MATERIAL_EMISSION | 16 | Linear emission component. |
mod_api::drawing::MAX_MASKS | 8 | Retained union masks per owner. |
mod_api::drawing::MAX_MASK_ENTITIES | 32 | Actors per mask. |
mod_api::drawing::MAX_MASK_VERTICES | 262144 | Actor vertices per mask, including equipment. |
mod_api::drawing::MAX_MASK_ATTACHMENT_BYTES | 268435456 | Mask attachment bytes across masks and views. |
mod_api::drawing::MAX_MASK_CALLS | 64 | Mask calls per callback. |
mod_api::drawing::MAX_MASK_OUTLINE_RADIUS | 4 | Outline radius in physical pixels. |
mod_api::drawing::MAX_MASK_GLOW_RADIUS | 16 | Glow radius in physical pixels. |
mod_api::MAX_RENDER_PASSES | 8 | Retained post passes. |
mod_api::MAX_SHADER_BYTES | 16384 | Shader source bytes. |
mod_api::MAX_SHADER_EXPRESSIONS | 4096 | Expanded shader expressions. |
mod_api::MAX_SHADER_TEXTURE_SAMPLES | 32 | Worst-case texture reads per fragment. |
mod_api::MAX_SHADER_TYPE_BYTES | 1024 | Bytes in one shader value. |
mod_api::MAX_PASS_PARAMS | 16 | Scalar post-pass parameters. |
mod_api::MAX_PASS_COMPILES_PER_FRAME | 1 | Post-pass validations per frame callback. |
mod_api::MAX_RENDER_DECALS | 64 | Decals per callback. |
mod_api::MAX_RENDER_RIBBONS | 32 | Ribbons per callback; shared with lines. |
mod_api::MAX_RIBBON_POINTS | 64 | Points per ribbon or line. |
mod_api::MAX_RENDER_BEAMS | 16 | Beams per callback. |
mod_api::MAX_RENDER_BILLBOARDS | 512 | Billboards per callback. |
mod_api::MAX_BLOCK_HIGHLIGHTS | 1024 | Native full-block highlights. |