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.