TopDown rotate character based off mouse and gamepad axis?

I’m trying to have my TopDown character aim towards my cursor following its rotate in addition to gamepad rotation. I’m able to get this to work with just a cursor trace, but I don’t think that’ll work on gamepad. I’ve managed to somewhat get it to work, but it’s very gittery and also flipped.

Working Cursor Trace

Gitter Flipped Input

Input Map

Any suggestions? I do need local rotation though as my movement is always left = left, right = right, etc… so my movement is fine, but am having a hard time getting this to rotate properly with my mouse.

The other issue is mouse axis input doesn’t seam to work if the controller has “Show Mouse Cursor” ticked. Is the only way to work around this to untick this and try to display a mouse cursor with a widget?

Edit: Below is my movement behavior if anyone was curious.

Seams like this would only really work for a gamepad and for mouse I’d just continue to rotate on tick getting the hit under the mouse.

You could use a RInterp node to interpolate on tick (axis event).

A gamepad does not have a cursor unless you use a software cursor.

You might be running into an engine problem which is very common sadly, I wrote about this in this post:

Why Axis Value of MoveForward event is 0 when left mouse button event? - #5 by Roy_Wierer.Seda145

It looks like I have to use 2 different behaviors.

I’ve a timer that ticks every other frame that rotates the player where the mouse is via hit under cursor. This will only be active if gamepad isn’t in use. If gamepad is in use It’ll rotate the player using enhanced input of right thumb stick.

Seams to be the only way to have support for the 2 controls without having to turn cursor off, which I can’t do as it’s topdown and cursor is your means of aiming when no gamepad is available.

Yup, having that exact issue. I don’t like the idea of having to intercept all the events and re-applying it though so going to just avoid needing to depend on it.

That is fine. You can detect if a gamepad or keyboard is in use through an input preprocessor and act on that.

Depends on your style. Take Darkwood for example it uses mouse pointer direction or gamepad joystick rotation.

If you’d use a software cursor I think you can set bShowMouseCursor to false and still show the software cursor. Gamepads can also control software cursors.

Oh, that’s cool. Will look into software cursor as never tried that. Thank you! For now my solution seams to work fine at least.