I'm not sure if this is what you are asking for, but I've made something similar to this but using Look At function. It's pretty simple and it is as follows:
1 - On the main character (or if you have a rigged character add it to the head for example) add a new FSM.
2 - Add a Mouse Pick Action and use the 'Store Point' with your variable name. Tick 'Every Frame'. I also added a Layer Mask to the ground because I don't want the character to be looking to the top of stuff for now. This way he always looks 'forward'. You can also do this if it suits you.
3 - Add a 'Look At' action and on the 'Target Position' make sure the = sign is active and choose the variable you created previously. Tick 'Every Frame'.
Working Example:
I don't know if this is the best way of doing it but it's working pretty well for me.