you can just check yourself in Tick() if it changed, if yes, you calculate your new values.
Two Integer comparsions and an if-statement per tick is absolutely nothing, if optimization is your reason why you don’t want to have it in tick.
As far as I am aware of, there is no BP exposed event for this purpose.