diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml
index c69afec74348..c40cab8b20f3 100644
--- a/doc/classes/TileMap.xml
+++ b/doc/classes/TileMap.xml
@@ -327,7 +327,7 @@
The light mask assigned to all light occluders in the TileMap. The TileSet's light occluders will cast shadows only from Light2D(s) that have the same light mask(s).
- If [code]true[/code], collision shapes are shown in the editor and at run-time. Requires [b]Visible Collision Shapes[/b] to be enabled in the [b]Debug[/b] menu for collision shapes to be visible at run-time.
+ If [code]true[/code], collision shapes are visible in the editor. Doesn't affect collision shapes visibility at runtime. To show collision shapes at runtime, enable [b]Visible Collision Shapes[/b] in the [b]Debug[/b] menu instead.
The assigned [TileSet].
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp
index 0fd0224a52e6..08761a11fe97 100644
--- a/scene/2d/tile_map.cpp
+++ b/scene/2d/tile_map.cpp
@@ -328,10 +328,17 @@ void TileMap::update_dirty_quadrants() {
Color debug_collision_color;
Color debug_navigation_color;
- bool debug_shapes = show_collision && (Engine::get_singleton()->is_editor_hint() || (st && st->is_debugging_collisions_hint()));
+ bool debug_shapes = false;
+ if (st) {
+ if (Engine::get_singleton()->is_editor_hint()) {
+ debug_shapes = show_collision;
+ } else {
+ debug_shapes = st->is_debugging_collisions_hint();
+ }
- if (debug_shapes) {
- debug_collision_color = st->get_debug_collisions_color();
+ if (debug_shapes) {
+ debug_collision_color = st->get_debug_collisions_color();
+ }
}
bool debug_navigation = st && st->is_debugging_navigation_hint();