-
Notifications
You must be signed in to change notification settings - Fork 8
Authoring Layouts Map
EmoTracker Community edited this page Apr 8, 2026
·
2 revisions
A map layout element displays one or more of the pack's maps — the actual scrollable/zoomable image overlays with location squares the player clicks on. By default it displays all maps the pack has registered; you can restrict it to a specific subset by name.
See Authoring Layouts for the file format and base fields. This page only covers fields specific to the
maptype.
Parsed in EmoTracker.Data/Layout/MapPanel.cs. Matches the map branch in layouts.json.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
type |
"map" |
yes | — | Literal string. |
maps |
array of strings | no | all registered maps | A list of map names (matching the name from your maps JSON) to include in this map element. |
orientation |
string | no | "auto" |
How multiple maps are arranged: "auto", "horizontal", "vertical". Auto picks based on the element's aspect ratio. |
Plus the standard base fields from Authoring Layouts → Fields every layout element shares.
- The element only renders if the pack has its map enabled in the runtime — if
Tracker.MapEnabledis false, the element is silently dropped at parse time. - When
mapsis omitted, the element shows every map registered in the pack viaTracker:AddMaps(...). - When
mapsis present, only the named maps appear, in the order listed. - With
orientation: "auto"(the default), the element picks horizontal or vertical based on its own aspect ratio — wider than tall → horizontal flow, taller than wide → vertical.
{
"type": "map"
}{
"type": "map",
"maps": [ "lightworld", "darkworld" ],
"orientation": "horizontal"
}{
"type": "tabbed",
"tabs": [
{
"title": "Light World",
"content": { "type": "map", "maps": [ "lightworld" ] }
},
{
"title": "Dark World",
"content": { "type": "map", "maps": [ "darkworld" ] }
}
]
}-
Maps must be registered first. Load your maps JSON via
Tracker:AddMaps(...)before any layout that includes amapelement. -
Map names are case-sensitive lookups. They have to match the
namefield from your maps JSON exactly. -
Unknown map names are silently skipped. If you misspell a name in
maps, that entry just doesn't appear — no error is logged. Always test the pack to confirm every map shows up. - Pair with a Dock or ViewBox parent for sensible sizing — without explicit dimensions the map element fills its allocated slot, which can produce surprising results in unbounded parents.
- The element drops itself when maps are disabled. If you have a layout that's used both in "map enabled" and "map disabled" pack modes, the surrounding layout should tolerate the absence — the map element simply doesn't render in disabled mode.
- Authoring Layouts — top-level format and base fields
- Authoring Locations — Map Placement — how locations are placed onto maps
- Map Locations — the user-facing view of map elements
-
layouts.jsonschema — authoritative JSON schema
- Installation
- Installing and Loading Packages
- Item Types and Mouse Controls
- Map Locations
- Map Location Colors
- Saving and Loading
- Multi-Tab and Window
- Autotracking
- NDI Broadcasting
- Twitch Chat HUD
- Note Taking
- Voice Control
- Keyboard Shortcuts