i want to detect general mouse movement in my PlayerController. i cannot use InputModeGameOnly for various reasons, so im stuck with InputModeGameAndUi.
i tried GetInputMouseDelta, GetMouseX/Y, EventMouseX/Y, EventInputAction/Axis, but they only work while holding down a mouse button. the only thing that works is GetMousePosition. but using that every frame is really not that great.
There is nothing wrong with querying mouse screen position every frame.
Regarding the hiding - simple: if currentPosition == previousPosition → startTimer(); and at the end of the timer just make it invisible and you are done.
Obviously it really depends on the usecase, but you could overlay whole screen with umg widget and overload OnMouseMove event there.