Feature Request: Runtime Atlas Image Swapping for Simple Tilemap Objects

Summary: Add the ability to change the Atlas Image of a Simple Tilemap object at runtime via events or actions.

image

Problem / Motivation: Currently, the Atlas Image assigned to a Simple Tilemap object is static and can only be set at design time. There is no built-in action or expression to swap it during gameplay. This becomes a significant limitation in scenarios where the game world needs to visually transform on the fly. For example:

  • Transitioning between seasons (summer → winter → autumn)
  • Shifting between game states (normal world → corrupted/cursed world)
  • Applying environmental effects (day/night tile themes, flooded levels)
  • Supporting multiple visual themes without duplicating scene objects

Proposed Solution: Introduce a new action under the Simple Tilemap object category, such as:

Change atlas image of [Tilemap object] to [image resource]

The new atlas image should use the same tile dimensions and layout as the original, so the existing tile mapping data remains valid and the visual swap is seamless.

Acceptance Criteria

  • A runtime action exists to change the atlas image of a Simple Tilemap object
  • The change takes effect immediately on the next frame
  • The tile layout and collision data are preserved after the swap
  • The action is available in the events editor like any other object action

Alternatives Considered: Using multiple hidden Tilemap objects and toggling their visibility is a workaround, but it is memory-inefficient, harder to maintain, and does not scale well for large or complex maps.

With your help and feedback we’ll make GDevelop a better game design platform!
Thanks. :slight_smile:

4 Likes

Interesting. The change image functionality was added to tiled sprites a month ago in 5.6.252 which I just realised today actually and am now thinking of changing from tilemaps to tiled sprites because of this. Especially because tiled sprites are tintable.

An alternative to your idea is to make it easier to change the id a large area of tiles. But a straight out swap that you’re proposing sounds great.

1 Like

Great I didn’t know that you can change tiled sprite images now! Super.

i swear you could do this for YEARS. but theyre right, you cant on tilemaps

Well it’s probably possible on external tilemaps with the json actions. The properties for ldtk maps have a setting for level index but there’s no action to change it unfortunately. There is an action for layer index but my old ldtk tests had changeable levels and I’ve forgotten how to use ldtk so I don’t know if the layers thing is a goer or not. But I much prefer to use the inbuilt GD maps.

Turns out tilemap layers are great. Unless the GD tilemaps get more functionality I’ll use Sprite Fusion from now on and make my variations in layers.