I’m working on a simple 2D Flappy Bird–like game in Unity.
I have a Game Over Canvas with buttons and text.
The Canvas is disabled at start.
When the bird collides with an obstacle, I activate the Canvas via code.
The method is definitely called:
Debug.LogappearsThe Canvas becomes active in the Hierarchy
No errors in Console
However, none of the UI elements (buttons, text, images) are visible on screen.
Here is the code:
public void GameOver()
{
if (_canvas != null)
{
_canvas.SetActive(true);
Debug.Log("Game Over Canvas Activated");
}
Time.timeScale = 0f;
}
What I’ve already checked:
The Canvas is activated correctly in the Hierarchy
No
NullReferenceExceptionTime.timeScale = 0is intentionalUI elements exist as children of the Canvas
But visually nothing appears.
What could cause a Canvas to be active but not render its UI elements?
Are there specific Canvas / RectTransform / Render Mode settings that could cause this?
unity 6.0
Canvas Render Mode: Overlay
Using TextMeshPro
Game is 2D