Overlay Canvas blocks World Space Canvas

Hi

I use a normal and a world space Canvas. But it seems my normal Canvas blocks world space buttons. How can I change this? I tried setting the world space buttons to my own layers but that had no effect. Also I tried a lot else but I couldn’t notice any effect. When I disable my normal Canvas, it works.

i’m not following what you’re saying… whats a normal canvas? what do you mean blocking your world canvas.

With normal canvas I mean a canvas which has not been set to render mode World Space. The normal canvas which, once aligned, will always fit your screen, no matter what the camera does.
With blocking I mean that I have the impression that clicks on the world space buttons are blocked by the non-world-space canvas (dont have the proper expression for that right now). Once I setActive(false) my canvas, I can click my world space buttons.

Does your overlay canvas (thats what the “normal” one is) have element overtop of the button you’re trying to click?

1 Like

Doesnt this depend on the resolution as well? In my ingame view, there is no element ontop my button. My buttons are kind of centered while my overlay canvas aggregates at the edges.

OK there is some element on top of it, but the image of it is mainly transparent. What do I need to change to make it work?

If there is a element on top then of course the event wont go through. you’d need to make one canvas not receive events.

how?

Also wondering about this, once he finally understood your question no response… =P

Remove the GraphicRaycaster on the canvas you don’t want to receive events (or, if you only want to disable them for certain elements in that canvas, add a CanvasGroup component to those and disable “Interactable”/“Blocks Raycasts”).

3 Likes

Perfectly works for my case :smile:
thanks :smile:

I had the same problem but I cannot disable overlay canvas raycasting because i need it for joystick controller. Is there any other way that makes world canvas interact before overlay canvas interacts?

2 Likes

you got any solution ?

I had same issue

If anyone is still having this issue: If you have a panel (visible or invisible or other image covering your whole screen, make sure that “raycast target” is set to false on that component. This is generally good optimization advice.