Unreal Engine from a game controller
The Unreal Engine 5 layout is built into InputConfig, free on the Mac App Store. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon.
On a Mac: The Unreal Editor reads its default shortcuts and mouse buttons from this layout. Your game's own controller input is separate and keeps working.
Yes, you can fly the Unreal Engine 5 viewport on a Mac with a game controller. Unreal flies with the right mouse button held, which suits a held trigger and a stick, the gizmos are Q, W, E and R on the face buttons, and Play in Editor is one button. That matters most when you are testing a controller game with the same controller.
On this page: 7 sections
The layout, control by control
How the layout thinks
- Look. Hold the left trigger and it holds the right mouse button, so the right stick turns the view left and right. Right stick up and down scroll, which zooms.
- Point and select. The left stick moves the pointer and the right trigger selects.
- Pick a gizmo. Select, Translate, Rotate and Scale (Q, W, E, R) on the face buttons.
- Frame and pan. Focus selected (F) on the left bumper, game view (G) on the right, and the left stick click is the middle mouse button for panning.
- Save and play. Save on Share or View, Play in Editor (Option P) on Options.
Unreal's fly keys work here too: while the right mouse button is held, W moves forward, Q down and E up, and those are on the face buttons. Hold the left trigger and the face buttons fly the camera.
If your game reads the pad too
Your game's own controller input is separate and keeps working, so with this preset running, one press can reach the editor and the game at once. Climb this ladder, smallest step first:
- List the editor for auto-switch. Add it under Activate when these apps are in front and turn on automatic switching in Settings, Advanced. When the game's own window is in front, the preset steps aside.
- Play in a new window. In-editor play shares the editor window, so the preset stays on. Play in a standalone window if your game reads the controller itself.
- Stop play from the pad. Escape on the right stick click.
Unreal does not read controllers for editor navigation by default, which is why the layout drives the editor with mouse and key events. A running preset doubles every press in a game that reads the pad, so test in a standalone window.
Tune it for the viewport
- Fly speed. Scrolling while the right mouse button is held changes camera speed, so hold the left trigger and push the right stick up or down.
- A slower pointer. Use the Pointer speed slider on the preset's page, for the Details panel's small fields.
Speed is the one setting you will change while flying. Hold the trigger and roll the right stick to change fly speed mid-flight.
Get it in two clicks
- Get InputConfig free on the Mac App Store, open it, and click Smart Preset Maker on the welcome screen.
- Search for Unreal Engine 5 and pick it. The layout is created as a preset in your sidebar, named and ready.
- Press Activate. Every row can be changed afterwards: the editor's Scan button rebinds any control the moment you touch it.
Every binding, as a table

| Controller | Sends | What it does |
|---|---|---|
| Left stick left | Mouse motion left (speed 16) | Pointer left |
| Left stick right | Mouse motion right (speed 16) | Pointer right |
| Left stick up | Mouse motion up (speed 16) | Pointer up |
| Left stick down | Mouse motion down (speed 16) | Pointer down |
| Right stick right | Mouse motion right (speed 18) | Look right (hold RT) |
| Right stick left | Mouse motion left (speed 18) | Look left (hold RT) |
| Right stick down | Scroll down | Zoom out |
| Right stick up | Scroll up | Zoom in |
| Right trigger | Left click | Select (left click) |
| Left trigger | Right click | Fly look (hold right mouse) |
| A / Cross | Q | Select mode (Q) |
| B / Circle | W | Translate gizmo (W) |
| X / Square | E | Rotate gizmo (E) |
| Y / Triangle | R | Scale gizmo (R) |
| LB / L1 | F | Focus selected (F) |
| RB / R1 | G | Game view (G) |
| L3 (left stick click) | Middle click | Pan (middle mouse) |
| Back / Share / Select | Command (Left), S | Save (Cmd+S) |
| Start / Options | Alt / Option (Left), P | Play in editor (Alt+P) |
Button names follow the Xbox / PlayStation pair shown in the editor, so A / Cross is the bottom face button on either pad. On a Switch Pro Controller the bottom button is labeled B; the mapping still fires on position.
Questions
Will the controller confuse the game I am testing?
The preset sends keys only while active. Use auto-switch so it is on for the editor and off for the running game's window.
Does Unreal support game controllers in the editor viewport?
Not for editor navigation by default. This layout drives the editor with mouse and key events instead.
Related
Completely free. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon. Open source on GitHub.
Updated