How do I create an event that triggers whenever there's a change in a specific variable?

How do I create an event that triggers whenever a variable changes? That is without the use of event tick that checks the variable constantly.

My current situation:

I am trying to create a First Person Camera that drops down when a player crouches by holding down a key and un-crouches when the key is released, lifting the camera back up.

This is all well and good when crouching normally, but when the player character is underneath something and the player tries to un-crouch, this obviously doesn’t work.

The only possible way I found is by using an event tick that checks if the player is crouching (a boolean from CharacterMovement Component) , which is a bad solution right?

Crouch Check is a custom event that triggers on event tick