Possible to change game view area without changing pos/scale/rotation of gameworld objects?

tl;dr I want the player to be able to get a better view of their surroundings by rotating the phone, without affecting rotation of game world objects.

Type of project would be 2d or sidescroller (2.5d).

I attached a picture to try to depict what I’m trying to describe:

(The grey lines depict the 6 different orientations (each one would count for 2) of the phone taken at the exact same point in time. Ideally I’d want 360 degrees, but I assume that’d be too taxing.)

I can use that “rotation rate” input to change the position of hud elements, but it seems bad to adjust the rotation of everything in the world based on 8 to 360 viable screen orientations.

Any info about efficient ways to accomplish this would be excellent.

Insted of using movment systems just set position on tick based on sensor data. In C++ you could override ClacCamera function in Actor to set camera postion and set that actor as view target:

Camera system will as view target actor using that function about camera position and it will use it, this way you don’t move anything. By default CalcCamera picks first active CameraComponent found in view target actor and use it so this is how camera setting works in blueprints and you can override that behavior by overriding CalcCamera in C++;.

It soulds like you use actors for hub objects, so you need to move them anyway or migrate to Slate/UMG.

Hello ! Sorry for the late response.

Thank you very much the help. I will look into modifying CalcCamera in C++ as you described.

I’m already using Slate/UMG for hud objects. Since that is the case, I assume doing it the way you described I won’t need to mess with UMG hud object rotation, just position.

Thanks again for your time, ! I extremely appreciate it.