how to pass variables between Ai controllers.

Just have a vector for the Input if that is what you want, why do all that casting in there?

The last picture looks right, the middle one is confused. That would be the one to receive the location as well so should be setting the location. The return value could just be a bool, true if it was set, or false if it wasn’t.

I think what you are missing is that this function is the one called. Where you want to call it from and have the object cast correctly, you will see the Interface function in it’s context menu. It will start with Call. Such as Call Pass Pride Core.