UI Render Order Question

Hello, I have some premade UI Elements that are drawn on the screen:
alt text
These are drawn on a canvas.


The black lighting at the bottom of the screen is drawn using GUI.DrawTexture(), in the OnGUI() method:
alt text


And I am having an issue with render order. Other solutions suggest using GUI.depth however setting this in the script that has my OnGUI() method doesn’t affect the draw order of the premade UI Elements and I am still left with the UI Elements being drawn before the texture.
alt text


I would like this to be the inverse where the windows are drawn on top of the texture, rather then behind it.
Any Ideas?

Unfortunately, I don’t think this is possible (see this forum thread), because (if I remember correctly) OnGUI() is drawing after “everything” has been rendered.

However, I think it is possible to set the source image of a Unity UI Image component to the output of a render texture. Maybe you could solve it this way?

BTW, cool visuals! :slight_smile: