UsersMaps

Maps

Maps let you place entities on a visual canvas — game world maps, floor plans, relationship pinboards, garden plots, or any spatial layout your project needs. Maps are template-driven, so the available pin types, layers, and rendering style depend on which map template you choose.

StudioBrain offers several map types, from simple image overlays (free in core) to 3D terrain with game engine export.

Map Types

Image Map (Core — Free)

Upload a custom image as a map background (world map, dungeon, floorplan) and place entity pins via drag-and-drop. Powered by Leaflet CRS.Simple for smooth pan/zoom on non-geographic images.

FeatureDetails
BackgroundAny image (PNG, JPEG, WebP, SVG, GIF — up to 20 MB)
PinsDrag-and-drop entity pins with color, label, and entity link
Coordinates0.0–1.0 normalized (relative to image dimensions)
Pan/zoomLeaflet-powered smooth navigation
Storageproject/_ImageMaps/{id}.json + images
Use casesGame world maps, dungeon layouts, floor plans, garden plots

Navigate to Image Map in the sidebar to get started.

3D Spatial Map (Core — Free)

A 3D terrain visualization and planning tool. Upload a heightmap, place entities in 3D space, paint zones, and export to game engines (Unreal Engine, UEFN, Unity, Godot, glTF).

FeatureDetails
TerrainHeightmap upload (PNG, EXR, RAW, TIFF — 16-bit grayscale recommended)
EntitiesPlace project entities as 3D pins on the terrain surface
ZonesPaint polygon regions, assign template type + properties
ExportJSON, CSV (DataTable), glTF, heightmap PNG, Python spawn script
Engine presetsUnreal Classic, UEFN/LUF, Unity, Godot, glTF 2.0, Custom
Coordinate systemInternal: right-handed Y-up meters. Converted at export time.
Storageproject/_SpatialMaps/{id}.json + heightmap files
Use casesGame world planning, level design prep, 3D asset placement, engine export

Navigate to 3D Map in the sidebar to get started.

Engine Export Presets

The 3D Spatial Map exports entity positions and terrain data in engine-specific coordinate systems:

PresetUp AxisHandednessUnitNotes
Unreal ClassicZLeftcmTraditional UE5
UEFN / Unreal LUFYRightcmNew Fortnite standard (2025+)
UnityYLeftmStandard Unity
GodotYRightmStandard Godot
glTF 2.0YRightmUniversal 3D interchange format
CustomUser choiceUser choiceUser choiceFull manual control

Export formats include:

  • Coordinate JSON — Entity positions, rotations, metadata
  • DataTable CSV — Unreal-compatible import table
  • glTF Scene — Terrain mesh with entity markers
  • Heightmap PNG — Raw elevation data for engine terrain systems
  • Python Script — Unreal/UEFN actor spawn script (uses Unreal’s Python API)

Zone Painter

Paint polygon regions on the terrain to define biomes, areas, or zones. Each zone has:

  • Name — “Dark Forest”, “River Valley”, etc.
  • Template type — any template type from your project (biome, garden_bed, district, etc.)
  • Color — visual overlay on the terrain
  • Fields — key-value properties (elevation, vegetation, etc.)

Zones serve as input for AI terrain generation (cloud feature) and are included in all exports.

3D Scene Editor (Cloud — Team+)

The 3D Scene Editor is a cloud overlay that provides an interactive, entity-scoped editing experience for spatial maps. While the core 3D Spatial Map renderer is available in all editions, the cloud scene editor adds real-time collaboration features, entity-scoped navigation, and a toolbar for rapid editing.

Access the scene editor at /spatial-map/[entityId] — navigate from any spatial_map entity to open its dedicated scene editor.

FeatureDetails
Route/spatial-map/[entityId] (cloud overlay)
AccessRequires spatial_3d feature flag (Team+ plan)
RendererMounts core SpatialMapCanvas unchanged via next/dynamic (no SSR)
Entity resolutionFetches entity via /api/entities/:id, resolves spatial_map_id from entity data
ToolbarSave, Reset View, Add Object, Delete selected object
Add ObjectEntity search dialog — pick any entity by type (character, location, item, faction, event, quest, creature) and place it on the terrain
Save flowPUT /api/spatial-maps/{mapId} with current scene data
Position editingDrag entity markers on the canvas; positions auto-save via debounce
Zone creationPaint zones on terrain; POST /api/spatial-maps/{mapId}/zones
Delete objectsRemove entity placements from the map via toolbar button
Reset ViewRemounts the canvas with default camera position (key-based remount)
AuthHandled by sb-cloud cookie-to-bearer middleware

Plan requirement: The 3D Scene Editor requires the Team plan or higher. Free and Indie users will see an upgrade prompt with a link back to the map list.

Tile Map (Cloud — Commercial)

Grid-based map editor with terrain painting, entity placement, zone overlays, and SVG export. Available on Indie+ plans.

FeatureDetails
GridConfigurable tile size and dimensions
Terrain paintingPalette of terrain types (grass, water, mountain, etc.)
LayersTerrain, entities, zones, annotations
Entity placementPlace entities on grid cells
ExportSVG, JSON
Use casesStrategy game maps, dungeon grids, board game layouts, tactical encounters

Geographic Map (Cloud — Commercial)

Real-world map powered by Leaflet + OpenStreetMap tiles. Available on Indie+ plans.

FeatureDetails
Base mapOpenStreetMap tiles (free, no API key required)
GeocodingAddress search via Nominatim (forward + reverse)
GeofencesCircle, polygon, and rectangle regions
HeatmapEntity density visualization
Entity pinsPlace entities at real-world lat/lng coordinates
Use casesLocation scouting, event planning, real-world game integration, travel

Template-Driven Map System

All map types use the _MAPS/ template directory (alongside _TEMPLATES/ for entities and _DOCUMENTS/ for documents). A map template defines the renderer, pin types, layers, and available features.

Creating a Custom Map Template

Create a file at _MAPS/{NAME}_MAP_TEMPLATE.md:

---
template_version: "2.0"
template_category: "map"
template_name: "Garden Map"
template_id: "garden-map"
description: "Plan your garden with plant beds and paths"
icon: "Flower"
renderer: "image-overlay"
 
pin_types:
  - id: "plant_bed"
    label: "Plant Bed"
    icon: "Sprout"
    color: "#22c55e"
    entity_types: ["plant"]
  - id: "path"
    label: "Path"
    icon: "Footprints"
    color: "#a3a3a3"
  - id: "water_source"
    label: "Water Source"
    icon: "Droplet"
    color: "#3b82f6"
 
default_layers:
  - id: "beds"
    name: "Plant Beds"
  - id: "paths"
    name: "Paths"
  - id: "infrastructure"
    name: "Infrastructure"
 
fields:
  title: { type: string, required: true }
  description: { type: string }
 
tags: [garden, planning]
---
 
# Garden Map
 
Plan your garden layout with plant beds, paths, and water sources.

Available Renderers

RendererEditionDescription
image-overlayCore (free)Leaflet CRS.Simple — custom image + pins
spatial-3dCore (free)Three.js terrain — heightmaps + 3D entity placement + engine export
tile-2dCloud (Indie+)Canvas grid — terrain painting + entity placement
geo-leafletCloud (Indie+)Leaflet + OSM — real-world geographic maps

AI Map Generation (Cloud — GPU Required)

With a cloud license and AI server access, you can generate map content from your zone and entity layout:

  • 3D Terrain — Heightmap + texture generation from zone descriptions (e.g., “Dark Forest with hilly terrain”)
  • 2D Tile Grid — AI fills a tile grid based on zones, suggests entity placements
  • Map Illustration — Top-down map image in various styles (fantasy cartography, watercolor, satellite)

The AI interprets your template names and fields semantically — “Dark Forest” means the same whether it is a game biome, a garden section, or a film set location.

See the Generate with AI button in any map editor (only visible when AI service is available).

Export and Import

Exporting Maps

FormatAvailable inDescription
JSONAll map typesFull map data — pins, zones, layers, settings
PNGImage Map, 3D MapRasterized image / heightmap
CSV3D Map, Tile MapDataTable format (Unreal-compatible)
glTF3D Map3D scene with terrain mesh + markers
SVGTile MapVector tile grid
Python3D MapUnreal/UEFN actor spawn script
GeoJSONGeographic MapStandard geographic interchange format

Importing

FormatWhat It Imports
JSONComplete map with all elements
CSVBulk pin import (label, x, y, pin_type, entity_ref)
ImageBackground image (Image Map) or heightmap (3D Map)

See Also