SetUnitX/Y uses integers as arguments (the X and Y coordinates in a Cartesian axis system) while SetUnitPosition uses a point, if I'm not mistaken (that means a handle).
As far as I know there is only one single difference between them.
SetUnitPosition() moves the unit, and then orders it to stop. A stop event even fires from SetUnitPosition. SetUnitX/Y does not issue any orders to the moved unit.
Issuing an order to a unit will make the game attempt to move all units within collision range to a free spot. It's the same for all orders. This is why it looks like SetUnitPosition checks for pathing when moving the unit. If you use SetUnitPosition to move a unit far inside a forest, it will still be stuck there if a vacant location cannot be found nearby.
you can just add a collision check into the function which is really easy to do or a collision function that gets called before it is moved. i would not recommend ever moving a unit periodically using locations. using x and y coordinates requires less processing and also no locations having to be created and destroyed.
I'm on a page about incorrect corrections, and spent the better part of like two hours trying to get someone to understand that -5^2 = -25, not 25, and then that post had comments get reposted because that group is self sustaining, and that person was in turn trying to explain what I just explained to them. And I'm taking that as a victory
I will be AFK for a couple of days you guys hold down the fort while I am gone. I will be checking in on my phone but that will severly limit me. Be back saturday!
I just got to watch the video because even though I was there I was trying to work out tech problems with the chat since I was the social media guy so I was distracted but check it out guys the video is super fucking great!