Go, Go, Godot!
  • 0

Toggling Visibility of Nested CanvasLayers

November 27, 2024

I had a setup with nested CanvasLayer nodes. Toggling the visibility of the root CanvasLayer doesn’t hide any nested CanvasLayer nodes. My solution was to listen to the visibility_changed signal, find any CanvasLayer child nodes, and apply the same visibility to them.

func _ready() -> void:
	# If the visibility changes, apply it to any nested CanvasLayer nodes.
	visibility_changed.connect(func() -> void:
		find_children("*", "CanvasLayer", true, false).map(func(node: CanvasLayer) -> void:
			node.visible = visible
		)
	)

Posted in Godot.
Share
PreviousInventory System v1.18.1 available (and v2 progress update)
NextInventory System v1.18 available

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Related Posts

  • February 25, 2024

    Inventory System v1.11 available

    The latest inventory system is now available and it focuses on multiplayer permissions. The new Access Manager component validates client requests to ensure players can’t cheat and interact with inventories they’re not supposed to be able to have access to. New features: Bug fixes:

  • August 2, 2022

    Launching Godot Games on Steam Deck from the command line via Remote Shell

    For some reason, my Godot game would no longer launch on the Steam Deck. I could hear it running as if it were running in the background, but the screen kept showing the Steam Deck’s UI. Since it’s all Linux I figured it should be possible to just drop to the command line and launch …

  • Godot Game Engine Logo
    March 1, 2023

    Godot Engine 4.0 released!

    Godot Engine 4.0 has been released per official announcement. With version 4.0, Godot has gone through “3+ years of breaking and rebuilding from the ground up, a complete core overhaul and a full engine rewrite, through 17 alphas, 17 betas and 6 release candidates“. The announcement post is credited to “2000+ Godot contributors.” It’s a …

  • December 22, 2022

    A GDScript refactoring exercise

    Arguably, more fun than writing code is removing code. I was assembling a split-screen multiplayer UI. The goal behavior is to show/hide the appropriate displays for the players, depending on how many players there are. Initially, the code to update the UI was very simple, because I started with two players. In that case, you …

    © 2026 GoGoGodot.io. All rights reserved.