This is exactly what is happening to me - making the mouse cursor visible makes the event only trigger on a click instead of every time mouse cursor moves. This is seems to be buggy behavior.
i really like your analysis.
Could someone suggest to Epic that we would like to map the mouse position even if the cursor is visible? Cause that seems very reasonable to expect for many games and applications to me, personally.
Also, on a different note, would “trace mouse” be an alternative option?
Maybe “Get hit result under cursor for objects” together with translucent bars for scrolling?
Would still be a “check on every tick” solution, but hopefully save my headache from the following problem, which is also result of this problem above:
I have set up edge scroll as you guys have suggested here, thank you very much.
Unfortunately, if you make a game like an RTS or builder, where you have buttons on UI on the edges of the screen, you end up with this choice:
either i have an edge scroll system, or i have the buttons, because i cant have both.
Whenever the user wants to click “build a house” for instance, they would end beyond
the mapped edge on screen (even if its only 1% of the screen), and therefore, run edge scroll.
That however means, they cannot meaningfully place their building.
It renders this screen space unusable!
please, let me know if you experience the same and/or have suggestions.
Very appreciated.
cheers
Hiya!
Massive fan of RTSes and base builders since I was a young kid. The problem you describe, where a user can both interact with the UI and also scroll the screen by being near the edge at the same time, is present in all older RTSes I’ve played, actually!
I remember this behaviour from Command & Conquer games (from “Tiberian Dawn” to Tiberian Sun even to the 3D Tiberium Wars) and Age of Empires franchise alike. I think even Starcraft and Starcraft II have this problem – and League of Legends as well.
Apparently this “choice” – to either allow edge scrolling, or building / any sort of UI buttons at the side of the screen, not both – is something they also couldn’t solve back then.
Maybe this is just an unsolveable problem in the genres. My mind goes to “what if you confine the edge scrolling to the part of the game without UI?” but then every time you move your mouse over to the UI, you’d scroll. That’s pants too.
Maybe you can do a timer? If the user was hovering near the edge and basically didn’t move their mouse for X seconds (e.g. 0.5s, 1s, whatever), then probably they were edge scrolling and not actively interacting with UI. But that delays edge scrolling action. Not fun!
Anyhoo, each alternative I come up with, has its own drawbacks… many times in game design, we have to pick and choose our battles… good luck! Let us know if you come up with something cool
P.S.
For my own projects, I subscribe heavily to a “UI-less” design as much as possible, so I don’t have conflicts with the UI generally and can prioritise edges of the screen for scrolling the view.
Hello Shrooblord,
thanks for the reply.
I resolved it by reducing the fraction of screen that triggers the mouse edge scroll even more.
That did it for me, just be careful, standard mouse needs more space on the right than anywhere else.
Now, a timer, i think, is problematic if some people need time to click on “build”.
The particular problem here was, i think, that you could not trace where the mouse is in unreal,
especially with that input model now (see above).
But, unless you really need to make buttons at the very edge, it should be fine.
Just reduce the screenspace position’s section.
So, for me 2% edge have been good.
For completion, let me also show the rear:
i “add actor offset” to move the pawn (where my camera is attached to)
Cheers and stay productive & creative
Comments welcome
What are you using to trigger the custom event in this image? Event Tick?