SendValueToControl only works when the object is Acitve

Hi,
I have a virtual button UI, when pointer enter the UI I want it SendValueToControl(1) and deactive itself, the I need to reset(send 0) it at some point while the UI is deactive, but it doesn’t work

It is annoying to do things like

ui.Reset();
ui.gamObject.SetActive(false);```

so any workaround? or did I miss anything about OnScreenControl?

Here is my solution :