World is built from a grid of discrete terrain tiles; position on the grid is the primary navigation primitive.
A real TileMapLayer built from a Kenney tile atlas; the hero walks the grid cell by cell.
The grid is the world. Position is a cell coordinate, and the tile under a unit decides movement cost and whether it can stand there.
var cell = $Map.local_to_map(unit.global_position)
var data = $Map.get_cell_tile_data(cell)
var cost = data.get_custom_data("move_cost")A resource defining per-tile properties via custom data layers — terrain type, defense bonus, passability. The rules of the world live in the tileset.
# Add custom data layers in the TileSet editor:
# move_cost (int), is_water (bool), defense (int)Bake the walkable tiles into a navigation region so AI units path across the grid respecting terrain.
# Bake from the tilemap; agents query it for grid paths.In short: TileMap node; tile type affects movement cost or availability; NavigationRegion2D for AI pathfinding
32 catalogued game(s) use this mechanic, spanning 1980–1999.
▶ Explore Tile Map World interactively — see every game + the Godot system