Quick answer: GameMaker tile layer collision shapes offset from visual tiles after a room resize? Tile collision masks bake at initial dimensions - call tilemap_set_at_pixel to rebuild after resize.

Resized a room from 320x240 to 480x270. The tile collision now sits 80 pixels left of the visible tiles.

Rebuild after resize

After room_set_width/height, iterate every tile cell and call tilemap_set_at_pixel with its current ID. The collision rebake happens as part of the set.

Or use solid objects

For walls, an invisible solid object placed per tile is more robust than tilemap collision for mutable rooms.

Verify with show_debug_overlay

Toggle the collision debug. Misaligned tiles show as boxes offset from the rendered sprites; rebuild fixes them visibly.

“Tilemap collision is baked from the layout. Layout changes need rebakes.”

Avoid runtime room resizing where possible. Multiple smaller rooms swapped via room_goto are easier to reason about than mutating one.