CanvasLayer's weird layer behavior

v4.3.stable

Am I doing this wrong?
The UI does not connect to Camera2D unless another UI object is with it.
Both UI objects (CanvasLayers) are under a Player object (CharacterBody2D).

Player (CharacterBody2D)
   CanvasLayer
   CanvasLayer2

Without the second CanvasLayer:
(UI is seemingly stuck in the blue rectangle area)

With the second CanvasLayer:
(UI now loads properly, but the second CanvasLayer is stuck)

I have no clue what makes this happen and sure is a headache to handle. Nothing seems to be mentioned in the Godot Docs.

1 Like

It is very hard to tell what you want to happen from these images. CanvasLayers and their children are not affected by the camera’s view, they will be static on-screen.

1 Like

My original goal here is to connect the UI to the Camera2D, but I don’t know how to. Others say that simply placing the UI in a CanvasLayer would do the trick, and so I followed. It didn’t work because it was still not connected to the Camera.

I experimented for a bit and got the 2 CanvasLayer thingamajig that’s here right now

1 Like

Can you show your scene tree with the UI? Your UI nodes should be children of a CanvasLayer.

1 Like

The player:
image
The CanvasLayer:
image

Du you have by any chance an integrated intel graphics card?
You might run into: Zero child of CanvasLayer (which is a child of Camera2D) may render with wrong transform [Windows, Intel HD 630 or lower] · Issue #58314 · godotengine/godot · GitHub

1 Like

I do have intel integrated graphics.
Changed from Forward+ to Compatability and it seemingly fixed the problem.
How odd!