Quick answer: Unity UI buttons rendering but ignoring clicks? A CanvasGroup higher in the hierarchy may have blocksRaycasts = false or interactable = false, suppressing all input under it.

An inventory panel hides itself by setting CanvasGroup.alpha = 0; a left-over interactable = false means even when shown, clicks pass through.

CanvasGroup Inputs

CanvasGroup has alpha (visibility), interactable (children receive input), blocksRaycasts (raycasts hit this region). Three booleans — missing any breaks clicks.

Show vs Activate Pattern

group.alpha = 1;
group.interactable = true;
group.blocksRaycasts = true;

Toggle all three together. If your fade-in/out is via DOTween or similar, animate alpha and snap interactable/blocksRaycasts at the right time.

Ignore Parent Groups

Set ignoreParentGroups = true on a child CanvasGroup if you need it interactive while a parent is dim/non-interactive. Use sparingly — counter-intuitive.

Raycast Target on Image

Each UI Image needs raycastTarget = true to receive input. Decorative images can have it false for perf.

Verifying

UI buttons click reliably when visible. Hidden / disabled UI doesn’t intercept clicks.

“CanvasGroup’s three booleans toggle together. Visible but uninteractable = forgotten one.”

Wrap show/hide in a single function that updates all three CanvasGroup fields — one source of truth, no half-states.