Mouse interaction system for an RTS

Hi all

I am learning Unreal and working on an RTS style project. I was trying to figure out the best way to set up my mouse interaction system and the number of disparate options is confusing me. I want the below functionalities:

  1. Cursor always visible
  2. Actor hover - highlights
  3. Actor click - selects actor
  4. Selecting actor and move mouse - moves actor
  5. Click RMB and drag - pan camera
  6. Click MMB and drag - pitch and yaw camera
  7. Edge panning
  8. HUD Click - select item or option from HUD
  9. Open, navigate and click on pause menu

Implementing the first 3 was pretty simple by turning on the options in the Mouse Interface of my player controllers Class Defaults. But now that I want to use the mouse movement and non-actor interactions to perform custom logic, I am facing mouse capture issues, especially when the cursor is set to visible.

I have been through a lot of forum posts that discusses this issue but a lot of them use older axis inputs and I want to use only enhanced inputs. Moreover, in 5.3, we have newer system like the CommonUI that most older posts don’t talk about.

My question is what systems I should work with and which systems should I stay away from if I am building a game using the latest tools and not the older ones. For e.g. is configuring the Mouse Interface in my player controller a good idea or should I just leave it at defaults and implement the actor hover and actor click functionality some other way.

P.S. I am restricting myself from using older tools as I don’t want to get myself tied up with features a couple of years down the line. Moreover, I am restricting myself from abusing Tick. I want to use Tick for things that I know will run throughout the game and not for things that have events associated with them, like mouse movements.

I believe these self-imposed restrictions will also help me in learning Unreal better.