Epic, could you replace 'Y Axis' hack with in editor option

Currently the Y Axis for the Mouse & Gamepad Right Stick for all projects are both inverted via a ‘-’ in the Y axis value found in the BaseGame config file. This also affects the Touch Screen input, but this is then inverted again in Code so that up is orientated correctly.

Whilst this may not seem like a major problem to work around for a game, it creates the following issues:

1.There is no Invert ‘Y Axis’ option for the camera in a 3D viewport in the editor

  1. If you output the Y axis to the screen you will see a negative number when the real value is positive

  2. List item if you wish to support Southpaw on Gamepads then you have to invert the Right Stick differently from the Left Stick

  3. There is no documentation on the Y Axis inversion hack and people may get stuck trying to find and fix the issue if they are working from Blueprints only

  4. If you remove the hack from the BaseGame.ini then Touchscreen Y values will be inverted whilst Mice & Gamepads are fine. It takes extra time and Nodes / Code to work around this.

  5. If you remove the hack hack from the BaseGame.ini you will have to remove it again each time you update UE4 via the UE4 Launcher, as newer versions of the editor will overwrite this file.

This has been brought up several times on the Forum, but Epic haven’t commented on this. Epic, would you consider taking the following steps to address this:

  • Remove the Y Axis hack from the BaseGame ini file and and for the Touchscreen in Code
  • Add an option to invert the ‘Y Axis’ as part of the Editor camera controls in ‘Settings’ menu of the editor that does not affect games
  • Provide a sensible tutorial for setting up Y Axis inversion for Mice & Gamepads as a final piece of your ‘Third Person Blueprint’ tutorial series

It would save people time & bugs because they won’t have to support different types of Y Axis inversion and it would also give everyone a proper ‘Invert Y Axis’ option in the editor.

Hi Jimmy,

Changing the defaults for everyone would impact a large number of existing projects.
However, I think there are ways to set this up nicely for your game.

First, .ini’s are loaded in order, and options that are repeated are overridden. So, you could set the YAxis to however you want in your DefaultGame.ini in your project. This will insulate you from new Engine drops as this file is specific to your project. I suspect this will be the fastest way to get the behavior you want as this will effectively disable the BaseGame.ini inversion for your project forever.

Beyond that, take a look at Edit → Project Settings → Input.

Here you can define your own Axis Mappings (same place in Project Settings, which you usually use for mapping game controls). You probably already have some of these. Then you can add a section like this in your DefaultInput.ini

[/Script/Engine.PlayerInput]

+InvertedAxis=LookUpDown (or whatever you named your axis mapping)

Unfortunately there’s no UI at the moment to do this.

Finally, you can just globally change things.
Go back to the Engine → Input section of Project Settings.
Click the ‘eye’ symbol next to the search bar and select ‘Show All Advanced Details’. Now ‘Axis Config’ will show up where you can invert ALL input on the given axes globally.

Hope that helps.

Whilst the above suggestions are useful, they don’t solve the problem that anyone wishing to offer comprehensive controller support has to spend their time working around some odd legacy logic.

Nor does any of the above solve the problem that each individual user doesn’t have an easy way of changing the Y Axis on their mouse in the editor viewports, which is such a handy UI option.

I want to be clear, this isn’t just for me, this is for every user and project out there where they want to be able to change the Y Axis with ese. But as a Southpaw player working on a project for mouse, gamepads and touch screens, I’m dealing with the worse case situation.

I appreciate that changing the defaults would affect a large number current projects, but since the engine is still fresh and larger features are being changed on a regular basis wouldn’t it be better to correct this legacy option now before even more projects are stuck having to work around the current logic? It’s easier update a per-existing project’s Y Axis functionality if this logic was changed that it is to create logic for Y Axis Inversion functionality from scratch.

I’m going to be stubborn about this because I’ve played titles where Southpaw options aren’t fully tested and far too many games don’t have a Southpaw option at all, and it’s even worse for people who have other preferences, such as Legacy. We also have Sony’s controller remapping inbound, although I don’t know if it’s going to include Sticks as well.

The more hoops someone has to jump through to support these settings, the less likely they are to be supported. I implore you to reconsider updating this, even if you have to talk to the public and dev communities first to see how they would feel about this.

Hello Jimmy_Jazz,

I saw your post and thought that it would make a good feature request. I have submitted a feature request to the developers ( UE-11830 ) for further consideration. Thank you for you time and information. I will provide updates with any pertinent information as it becomes available. Thank you for you time and information.

Make it a great day

Gotta say Epic, I’m staggered that a simple but vital option for setting up player interaction with a product in development (let alone final release) is apparently being handled by a piece of code from the parts bin in the cellar…

Programmers will be able to work round it but I’m an artist, to me it’s just another frustrating bit of poor UI implementation by people who don’t actually use the software day to day, so please add the appropriate (and complete) options for controller set up to the UI, you know it should’ve been done ages ago…

Cheers
Jim