This tutorial adapts the Getting Started setup to an isometric 2D game. If you have not completed Getting Started yet, do that first — this guide only covers what changes for isometric.
What changes for isometric
Nothing structural. The five runtime pieces, the scene tree, and the session wiring are identical to Getting Started. Isometric differs in exactly three places:
- The
TileSetuses isometric cells. Shape and cell size drive every snap position the plugin computes. - The isometric template bundle ships its own targeting defaults. A side-on camera projects the mouse onto the diamond grid differently than a top-down camera.
- Object art sits on a diamond footprint. Anchor and multi-cell rules matter more because a one-cell offset is visually obvious on a diamond.
1. Configure the TileSet
On your level's TileSet resource:
| Property | Value |
|---|---|
tile_shape |
Isometric (in the Inspector: Square / Isometric / Half-Offset Square / Hexagon) |
tile_size |
Your isometric art's cell size, e.g. Vector2i(90, 50) |
Set tile_shape and tile_size in the Inspector rather than hand-editing the raw integers in the .tres text — the enum's numeric values changed between Godot releases, and the Inspector always shows the right label for your editor version.
The plugin snaps to whatever cells your TileMapLayer defines. If placement drifts off the diamonds, the cell size and the art disagree — fix tile_size first.
2. Use the isometric template bundle
The shipped template set includes an isometric bundle with settings, actions, and templates inline:
- Bundle:
res://templates/grid_placement_templates/resources/isometric/isometric_placement_bundle.tres
Assign the bundle to PlacementSession.grid_placement_bundle and to GridPlacementHost.grid_placement_bundle, exactly as Getting Started step 4 describes. Leave settings empty on the session unless you are overriding the bundle.
Terrain is optional for this tutorial. Leave the bundle's terrain_palette empty unless you use terrain painting.
3. Wire the scene
Use the scene tree from Getting Started section 3 with one substitution:
- Instance the isometric positioner stack instead of the plain one:
res://templates/grid_placement_templates/grid_positioner/grid_positioner_stack_isometric.tscn PlacementLevelContext.target_map→ your isometricTileMapLayer.PlacementLevelContext.objects_parent→ a dedicatedNode2Dfor placed objects, never the map itself.- Keep a current
Camera2D— the 2D commit path resolves through the camera projection and fails closed without one. Isometric demos typically offset the camera so the diamond grid reads correctly; that offset belongs to your camera, not the plugin.
4. Place your first isometric object
Create a placeable exactly as Getting Started step 5 describes (packed_scene, display_name, and a profiles entry so the selection UI shows it). Isometric-specific authoring notes:
- The scene root is the placement origin: anchor it to the cell so multi-cell buildings sit centered on their diamond footprint. 2D Object Scene Setup covers anchor, footprint, and directional-art rules.
- The isometric template bundle includes collision checks, so give the object collision shapes or its placement is rejected.
- For buildings that span several cells, draw the art over the whole footprint and keep the collision shape aligned with it; the plugin validates occupancy per cell, not per pixel.
Learn from the isometric demo
The repository ships a complete isometric reference demo at res://demos/isometric/ — a level tileset, building objects, and a working catalog. The demos live only in a repository checkout. A consumer project receives only res://addons/grid_placement/ and res://templates/grid_placement_templates/, so treat the demo as read-only reference material to compare against, not something your project imports from.
The portable equivalent of everything the demo wires up is the isometric template bundle from step 2 plus your own art.
Troubleshooting this genre
- Placement lands between diamonds —
tile_sizedoes not match the art's cell dimensions. - Aim is offset toward the screen corners — the session is using a non-isometric targeting template; assign the isometric one from step 2.
- Multi-cell objects preview in the wrong cells — check the scene root anchor against the footprint rules in 2D Object Scene Setup.
- Nothing places at all — check for the missing
Camera2Dand re-run the diagnostic in Validation.
Related guides
- Getting Started — the setup this tutorial adapts.
- Placement Workflow — preview → validate → commit → manipulate.
- 2D Object Scene Setup — anchors, footprints, and directional art for 2D objects.
- Moving, Rotating, and Scaling Maps — why the level node should stay at default rotation and scale.