Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is my attempt to add the Gamepad.
I added the core Joystick logic to the Process, though, and it didn't have a performance hit.
Due to the continuous nature of Joystick input, this is the most reliable method in Godot. You could use the Physics Process, of course, but putting in Input leads to a very janky experience. This also allows the continuous control of the Camera in other areas like Wall Running, etc.
I added a Joystick on/off and a few other controls to better manage, as well as an invert. I decided to combine the RotatePlayer with mouse inputs rather than have 2 separate methods. If you wanted a hyper-performant option, it might be best to split them.
Lastly, all the input mapping has been added with the exception of the reset button still being 'r'
I made some design decisions, and while it's easy to put the logic in its own method if you prefer, I tried to keep it simple.
Lastly, I use Visual Studio so I added a gitignore just to deal with vs bloat when opening projects.