Architectural advice: Using 5 global TileMapLayers for chunks/biomes with sharp borders (Don’t Starve style)

Godot Version

Godot 4.6.2

Question

Hi everyone! I need some architectural advice regarding TileMapLayers in Godot 4.

My game features a procedurally generated island with 5 different biomes. I want the transitions between biomes to be completely sharp and abrupt, without any blending or transition tiles, similar to how it looks in Don’t Starve.

How my system works:

The world is generated once at startup and split into chunks.

The chunks themselves are pure data containers stored in memory; they don’t hold any actual nodes.

I have a central Renderer that manages exactly 5 global TileMapLayer nodes (one for each biome).

As the player moves, the Renderer simply draws and clears data from the visible chunks onto these 5 persistent layers.

Everywhere I read about multi-tilemaplayers setups, people strongly advise against using too many tile layers.

Given that I don’t need any transition tiles, is this 5-global-layers approach acceptable for performance? Or is it still considered bad practice, and I should refactor it into a single TileMapLayer using different Atlas Sources within one TileSet?

I would love to hear your thoughts or best practices for this specific use case. Thanks!

Profile it on your target hardware. If no bottlenecks show up - it’s acceptable.

In general 5 layers is not that much but it really depends what you do with them. If there is no parallax then why not just put everything into a single layer?

No terrain transition tiles needed. It’s neat. Saves a ton of artwork:

@WarpFox , I agree that this is basically just the answer to your question. I predict you won’t notice anything meaningfully impactful on your profiler. You could always compile a web build to reassure yourself. Or a build for an OS you’re not running natively (I test my Linux builds using windows subsystem for Linux - wsl).

Okay, thank you. I don’t have any problems in tests. Just wondering if there’s a better way to do that

Is 5 a lot? That sounds like very few to me.