Is there a way to easily modify the Level Editor button mappings for an Xbox or PlayStation 4 controller? For example, the existing in-editor controls that are enabled by ticking “Level Editor Joystick Controls” work okay, but I would like to turn off the camera Zoom Out/Zoom In upon pressing the shoulder buttons, and replace that with another custom event.
I found `FEditorViewportClient::UpdateCameraMovementFromJoystick()`, but I would like a solution that doesn’t involve modifying engine code, if possible.
For context: this is for a film/TV studio tool that allows users to update environments live in-editor through Pixel Streaming with a controller, and therefore we cannot utilize Play In Editor. Everything has to be done in-editor.
Hi,
Apologies for the delay.
Without modifying the engine code, there unfortunately is no easy way to do this as it looks fairly hardcoded in at UpdateCameraMovementFromJoystick as you implied.
That being said, you can use LiveLink to set up your own camera controls: Live Link Input Device: A new way to use game controllers for performance capture in Unreal Engine 5.4 | Tutorial
You’d have to disable the Level Editor Joy Stick controls as this doesn’t override them.
Then you would create a Editor Utility Blueprint, and using the data from the LiveLinkComponentController added to that blueprint, you can edit the viewport camera information from “Get UnrealEditorSubsystem” and from that Get/Set “Level Viewport Camera Info”.
Livelink can also be used to move objects: YouTube
Regards
Hey John,
Thank you so much for the helpful links and information.
And thank you for confirming the need to modify the c++ engine code for this. That’s the route I ended up going with.
I tried LiveLink, which is pretty cool, but it unfortunately does not register my Controller over Pixel Streaming.
We can consider this ticket closed.
Awesome, I’m glad you found this helpful. I’ll close this ticket, but feel free to respond here if you have follow-up questions.