I have been searching for a way to do one, but everything that I found was very vague. Is it possible to pull something like this off?
It’s definitely possible.
I don’t have a lot of experience with Unreal yet but I have a pretty good idea at least conceptually how I’d do it.
The actual implementation would take more steps than I’m willing to post here but basically you make a template character with parameters for whatever you want to customize.
Say you want to customize hair, just create an array of hair meshes or sprites if 2D, then assign that mesh to the character’s hair slot. Same with color of it, you get a reference to the mesh’s material then you change the exposed parameters. Create buttons or sliders, some kind of interface that calls functions to change these properties on the character and update the mesh and yeah that’s kind of it. Save the data in a struct store that in a file if you want to save the data for later.
The thing is, you’re kind of looking for a big task, you need to break it down into smaller tasks. That way you’ll have an easier time actually figuring out the technical details to accomplish what you want to accomplish. Do you know how to make a GUI Button? Do you know how to swap a mesh programmatically? Can you get access to that mesh’s material and change it’s base color property? Do you know how to save that data so that it can persist until you reach the actual gameplay? Answering these component questions will let you achieve your goal.