Hello. I have top-down game, where I want to have access to character settings in game. How it looks: player coming to certain place → press E → camera moving closer to player character → player sees widget with morph targets sliders → player is moving sliders → player saving settings → game continue with updated character. Can you help me with more detailed information about these steps? I understand that I need BP with on overlapping event but what next? Should I change game mode or player controller?
You broke down it pretty well, and you seem to know what you want and how to do it.
You don’t need to change the game mode or player controller. You can set the game to UI only with a blueprint node as well as set the mouse cursor visible when the UI appears. If you want to change the shader / material stuff, you need to create some parameters and create a dynamic material instance, this can also be done using a node in the Blueprint Editor.
If you want the character to change the appearance in multiple locations it could be good to turn the blueprint into it’s own blueprint where you have tied everything to.
But what about camera? How can I turn it to orbit mode, so I can hold right mouse button and rotate it around character like in games with customization?
You can possess a camera and use a mouse trace, when it hits anything but the character / or the character, depending on the desired outcome; set the cursor to hidden and rotate it within an origin. Spring Arm Component could be used here. Camera Components | Unreal Engine 4.27 Documentation
I think I’ve got everything, but there is one thing I can’t understand. I want to disable character movement when editing appearance. I can just use disable input mode, but in that case I won’t be able to escape editor. I thought that I should use set input mode to “ui only” but in that case camera can’t move, isn’t it?
Yeah, you are right. I think you may need to disable inputs in a customized way. If the character moves using WASD, you can just use a bool to disable the movement. Perhaps switch the player controller and possess a new “character” which is just the camera.
Okay, I’ll try it, thank you. But I think in that case I can’t get smooth transition from gameplay to appearance editor.