why does "AI Move to" not work off of branch

As you can see in the Blueprint below, I have created a whole new NPC character with an Enum, a controller and a bp character. It all works perfectly. And when I move the AIMoveTo node to the BeginPlay event, it even moves to the player as desired. Now, I only want him to move when a certain other process is done. When that process is done, it changes a variable.
This blueprint now grabs this variable and constantly checks if its the desired value using EventTick. When I attach a print function to the ‘true’ branch, it even shows the correct result when the variable is changed. Why doesnt my npc move to the player though? The function just doesnt seem to activate at all when it comes off the branch or is connected to anything else but an immediate event.

Any help is appreciated!

You are calling it from the Event Tick function.
Tick happens every frame ~60-120 times per second.
So you are calling the “move to” at a minimum 60 times per second.
You only need to call it once.

Convert your code so that it is event based not on tick and it should work.

The reason I used tick is that the variable will change over the course over the level, so I wanted to constantly check whether its already changed or not. How can I implement the same logic and make it event based without EventTick? Right now I modified it so that it grabs the variable at the BeginPlay, but then it wont update once the variable changes, right?
Also, couldnt i fix the problem of calling “move to” that often by implementing a “do once” node?

Move the ai logic to behavior trees and there you can check if a keys value has changed