Best way to perform an action only after moving to location

For clarification before we begin, this is Unreal 5.3

I’m trying to design a system that lets me move a character around the world and perform various actions automatically according to a list of commands (I.E. built-in cutscene logic). I’ve already designed the macro that only activates the next command after the previous one completes, but I’m struggling to find the best way to make sure the player character is at the specific location I ordered them to before executing the next command.

Here is how the current commands should work: the player receives an array of commands to execute, this array is iterated across and individual commands are parsed by a simple switch on an enum, the commands are executed in full, then (and only then) does the next item in the array get processed. Ideally.

The Simple Move To Location node, however, executes its pin immediately after starting the navigation, and while the Move To Location or Actor node doesn’t do that, it does require an entirely separate AI controller (I don’t know why, I presume because it uses tasks, which is kinda annoying that Simple Move takes a Controller and Move To takes an AIController). I did find another post here suggesting that a timer can be used to query when the player has arrived, but I’m worried this might not play nice with the way my macro is set up, which probably isn’t true but I figured I’d ask before I go about doing it and getting frustrated.

I also don’t think I’m setting this up correctly, it works (the player moves) but if I add any debug strings I don’t see anything printed to the console.

So, my question: what is the best way to ensure the player is at the location they’re walking to before executing the next command? Is it timers and I’m just being paranoid about how stuff works? I did get burned recently learning that the For Each node doesn’t work the way I expected, which is what started this whole mess. I’m willing to dip into C++ as well, at least a little bit.