Skip to content
cccskills
FreePublished on GitHub

godot-tilemap-mastery

Expert blueprint for TileMapLayer and TileSet systems for efficient 2D level design. Covers terrain autotiling, physics layers, custom data, navigation integration, and runtime manipulation. Use when building grid-based levels OR implementing destructible tiles. Keywords TileMapLayer, TileSet, terrain, autotiling, atlas, physics layer, custom data.

The English summary is being prepared. Showing the original description.

See how to install

Files included (18)

  • SKILL.md11.3 KB
  • references/expert-tilemap-architectures.md864 B
  • references/migration-notes.md2.8 KB
  • references/runtime-tile-patterns.md1.3 KB
  • references/tileset-editor-setup.md749 B
  • scripts/destructible_tile_logic.gd1.6 KB
  • scripts/fast_metadata_cache.gd1.5 KB
  • scripts/gameplay_data_query.gd1.6 KB
  • scripts/nav_mesh_teleport_fix.gd1.4 KB
  • scripts/physics_shape_interaction.gd1.5 KB
  • scripts/procedural_chunk_batcher.gd1.6 KB
  • scripts/sorting_Z_layering.gd1.4 KB
  • scripts/terrain_autotile.gd2.4 KB
  • scripts/terrain_path_painter.gd1.6 KB
  • scripts/tile_pattern_stamper.gd1.4 KB
  • scripts/tilemap_chunking.gd4.2 KB
  • scripts/tilemap_data_manager.gd2.8 KB
  • scripts/tilemap_layer_v43_upgrade.gd1.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

NEVER Do in TileMaps

  • NEVER call set_cell() in huge loops without batching — Prefer terrain connect, patterns, or chunk batchers.
  • NEVER forget source_id in set_cell — Wrong overload → crash or silent miss.
  • NEVER mix world coords with tile coords — Always local_to_map / map_to_local.
  • NEVER hand-paint organic blobs when terrains exist — Use terrain sets + set_cells_terrain_connect.
  • NEVER put dynamic actors in the TileMap — Enemies/pickups are nodes; tiles are geometry / destructible cells.
  • NEVER spam get_cell_tile_data() every physics frame — Cache metadata (fast_metadata_cache.gd).

Decision Tree: How to Write Cells

GoalPreferScriptTrade-off
Organic ground / roads / riversTerrain autotileterrain_autotile.gd / terrain_path_painter.gdSetup cost in TileSet; fastest designer iteration
Prefab rooms / houses / stampsTileMapPatterntile_pattern_stamper.gdGreat for procgen pieces; less flexible per-cell
Sparse / precise editsset_cell—Fine for few cells; bad for thousands/frame
Huge streaming worldsChunkstilemap_chunking.gd / procedural_chunk_batcher.gd / tilemap_data_manager.gdIndirection + load boundaries
Destructible dig/breakCustom data HPdestructible_tile_logic.gdMust refresh nav/physics after edits
Gameplay queries (friction/hazard)Custom data + cachegameplay_data_query.gd / fast_metadata_cache.gdCache invalidation on set_cell
Nav after editsRuntime nav fixnav_mesh_teleport_fix.gdCostly if every cell; batch rebuilds
One-way / physics layersTileSet physicsphysics_shape_interaction.gdAlign with CharacterBody masks
Iso / multi-floor sortY-sort layerssorting_Z_layering.gdParent + all layers need y_sort
Legacy TileMap → layersMigrationtilemap_layer_v43_upgrade.gdOne-time upgrade aid

Editor atlas/physics paint setup: Official Documentation in Reference — Do NOT reload Steps 1–3 / flood_fill tutorials from this skill body.

Available Scripts (single index + MANDATORY triggers)

TaskMANDATORY script(s)
Serialize / large world datatilemap_data_manager.gd
Runtime terrain pathsterrain_path_painter.gd / terrain_autotile.gd
Destructible tilesdestructible_tile_logic.gd
Custom data gameplay readsgameplay_data_query.gd (+ fast_metadata_cache.gd if hot)
Procedural bulk placeprocedural_chunk_batcher.gd
Chunk stream in/outtilemap_chunking.gd
Pattern stamp prefabstile_pattern_stamper.gd
Nav repair after editsnav_mesh_teleport_fix.gd
One-way / physics layer opsphysics_shape_interaction.gd
Y-sort / Z layeringsorting_Z_layering.gd
4.3+ multi-layer upgradetilemap_layer_v43_upgrade.gd

Expert Trade-offs (routing only)

Deep recipes (on demand)

LLM-ignorance rule: if a general agent would not know it before reading, it lives here or in scripts/ — never delete, only move.

TopicReference
TileSet editor stepstileset-editor-setup.md
Runtime APIs + flood/terrainruntime-tile-patterns.md
Iso / patterns / diffexpert-tilemap-architectures.md

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Official Documentation

  • Using TileMaps — TileMapLayer workflow, layers, runtime set_cell / terrain painting, and when multiple layers beat a single legacy TileMap.
  • Using TileSets — atlas sources, terrains, physics/navigation/custom data layers painted in the TileSet editor.
  • TileMapLayer — cell APIs, terrain connect, patterns, coordinate conversion, and runtime tile-data updates.
  • TileSet — physics/terrain/custom-data layer definitions shared by every TileMapLayer that references the resource.
  • TileSetAtlasSource — atlas grid, alternatives, and per-tile TileData that drive collision and metadata.
  • TileData — custom data, physics polygons, navigation polygons, and y_sort_origin used at query time.
  • TileMapPattern — capture/stamp multi-tile prefabs without per-cell set_cell loops.
  • Collision shapes (2D) — shape choices and one-way collision patterns that TileSet physics layers expose to CharacterBody2D.
  • Navigation introduction (2D) — how tile navigation polygons feed NavigationRegion2D / NavigationAgent2D after edits.
  • Canvas layers — z-index / CanvasLayer separation for ground, decoration, and roof TileMapLayers.
  • Background loading — threaded ResourceLoader patterns for streaming chunk TileSets / tilemap scenes without hitch spikes.

Related Skills

Prerequisites

  • godot-project-foundations — scene tree, resources, and import layout before authoring TileSet atlases and multi-layer level scenes.
  • godot-gdscript-mastery — typed Vector2i APIs, caching patterns, and signal-up/call-down structure used in runtime tile managers.
  • godot-2d-physics — collision layers/masks and StaticBody2D-equivalent behavior that TileMapLayer physics layers participate in.

Complements

  • godot-version-migration — tilemap_layer_v43_upgrade and TileMap→TileMapLayer sit on the 4.x hop path; run engine upgrades via the migration hub before applying layer scripts.
  • godot-characterbody-2d — move_and_slide against tile colliders, one-way platforms, and floor/wall queries over TileMapLayer geometry.
  • godot-navigation-pathfinding — NavigationAgent2D / region updates when destructible or procedural tiles change walkable polygons.
  • godot-camera-systems — Camera2D limits and follow radii that drive chunk load/unload around the player.
  • godot-adapt-3d-to-2d — isometric / Y-sort depth tricks that pair with TILE_SHAPE_ISOMETRIC and multi-floor TileMapLayers.
  • godot-scene-management — packing and swapping chunk scenes so large tile worlds stream without orphaned layers.
  • godot-performance-optimization — batching, cache budgets, and profiler checks when set_cell / custom-data queries dominate frame time.

Downstream / consumers

  • godot-procedural-generation — noise/BSP/WFC generators that write cells via terrain connect, patterns, or chunk batchers.
  • godot-genre-platformer — precision platformer levels built from TileSet physics, one-ways, and hazard custom data.
  • godot-genre-metroidvania — interconnected room grids, ability gates, and map revelation layered on TileMapLayer chunks.
  • godot-genre-sandbox — diggable/buildable 2D worlds that treat TileMapLayer as the editable terrain backend.
  • godot-monte-carlo-balancer — simulate hazard density, destructible HP, and traversal cost encoded in tile custom data before shipping maps.

Master

  • godot-master — library router and mirrored module entry for cross-skill discovery.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Bevy ECS skill for 2D sprite animation. Keywords: Bevy, sprite, animation, AnimationPlayer, AnimationClip, 2D.

The English summary is being prepared. Showing the original description.

thedivergentai/Game-Dev-Agentic-Skills884Updated Oct 17, 2026

Spawn and tune Bevy 0.20 directional, point, and spot lights, cascade shadows, distance fog, and a nearest-light shadow budget. Use when a 3D scene needs a sun, local lights, or fog on the camera. Keywords: DirectionalLight, PointLight, SpotLight, CascadeShadowConfig, DistanceFog, bevy_light.

The English summary is being prepared. Showing the original description.

thedivergentai/Game-Dev-Agentic-Skills884Updated Oct 17, 2026

Bevy ECS skill for PBR materials. Keywords: Bevy, StandardMaterial, PBR, material, ExtendedMaterial.

The English summary is being prepared. Showing the original description.

thedivergentai/Game-Dev-Agentic-Skills884Updated Oct 17, 2026

Bevy ECS skill for 3D level assembly. Keywords: Bevy, level, scene, mesh, world, ECS.

The English summary is being prepared. Showing the original description.

thedivergentai/Game-Dev-Agentic-Skills884Updated Oct 17, 2026

Bevy ECS skill for abilities. Keywords: Bevy, ability, cooldown, ECS, gameplay.

The English summary is being prepared. Showing the original description.

thedivergentai/Game-Dev-Agentic-Skills884Updated Oct 17, 2026

Rewrite Bevy 2D actors and cameras into 3D meshes and Camera3d while keeping gameplay components. Use when a Bevy 2D game should gain a perspective camera, mesh draw, and a planar velocity lifted onto XZ. Keywords: Camera2d, Camera3d, Sprite, Mesh3d, StandardMaterial, WishVelocity.

The English summary is being prepared. Showing the original description.

thedivergentai/Game-Dev-Agentic-Skills884Updated Oct 17, 2026

See all skills by thedivergentai

Report a problem with this skill