I believe you could specify the interaction position via lua script. It even says it's scriptable according the data structure which means that it will retain the new position in the save game data. If you plan on moving the NPC around the scene, or multiple scenes, then I would recommend updating the position by executing some if queries on mouse over. If the NPC is walking around then it would be a better idea to have it update the position via a loop. Or have the NPC stop as soon as you left click on it, then set the position based on the characters position plus / minus an offset.
Example #1 Characters["Tom"].ActionDestPosition = {x = 100, y = 500} -- specific coordinates
Example #2 local char = Characters["Tom"] -- store char in variable
local pos = char.Position -- store char position in variable
char.ActionDestPosition = { x = pos.x, y = (pos.y + 50)} -- update destination position
I wrote some
functions a few months or so back which you can use to align characters to objects or other characters. However they currently align based on the animation center which is usually set to the feet - which I guess is pretty much the same method used in the auto-align on immediate execution option?