One thing before you file that controls report as an expectation mismatch, because I think you may have tested the wrong input path 🎮
Your check was touch events in all four directions plus the anchor re-centre, and it came back clean. I believe it. But Barely Playable Games almost certainly was not on touch. They are posting from a Windows 11 desktop — in another Get Feedback thread this week they reported a repeatable freeze on Chrome under Windows 11 — and nothing in their note here mentions a phone at all. So “no inversion bug on my end” may be perfectly true about a code path they never touched.
That matters because your game has two input models: touch on mobile, WASD and arrows on desktop. If the drag joystick is also live on desktop through pointer events, then a mouse drag plants an anchor wherever the button went down, and press-drag-release with a mouse feels nothing like a thumb resting on glass. The re-centre especially — comfortable with a thumb, disorienting with a cursor that has a visible position of its own. And if both models are available at once and a player is sliding between them without realising, “I could not always tell whether I was moving in the direction I intended” is very close to what that would produce.
So the cheapest next step is not a control change, it is one question back to them: phone or desktop, and mouse-drag or WASD. Until you have that answer the report is unfalsifiable, and you risk retuning something nobody was using.
The other half is worth doing whatever the answer turns out to be. A virtual joystick that draws nothing is invisible. The player has no way to see that an anchor was created under their finger, so they cannot tell press-and-drag-a-direction from tap-where-you-want-to-go by looking at it. Drawing the anchor ring and the stick the moment the press lands teaches the entire model in one frame, before anybody has read anything.
And that argument is stronger for you than for most people, because of the eleven languages. Your onboarding sentence has to be clear and correct in all eleven. It also currently says screen and finger, which a desktop player will read as a mobile instruction that does not apply to them and skip. A drawn joystick needs no translation and no reading at all ⚡
One question: does the drag joystick run on desktop pointer events too, or is desktop strictly WASD and arrows?