Customization Menu blueprinting UE5


(but actually UE5)
Good day developers, I have something i need help with and i have no clue where to start , i am trying to create a customization system for my game and i have the ui and some test icons working and showing. but now how do i make it that when i click on the icon it shows the helmet on the mesh, and when i select another helmet it must change to that one and get rid of the old helmet mesh, the character is made up of different armor pieces that are skeletal meshes attached to the character pawn.

my thinking is since its already attached to the character pawn ,why not have all the armor pieces attached and have them all set to not visible , and when you click on the icon it rechecks that box and displays the corresponding armor piece, is this even possible , i have little to no experience with coding and blueprinting any help will be appreciated.

It’s been a while since I’ve meddled with my customization menu but the way I recall handling it was calling a function in my character through the UI blueprint. Essentially what I had in the menus was a dummy character BP whose sole purpose was to showcase customization.

Clicking on different options in the UI BP would then call a function in the character dummy BP that would update it with the desired selection (Set Skeletal Mesh, Set Material) , and save the settings (materials, skeletal mesh) to a custom data table that would then be called in the main character BP whenever it was initially loaded.

Since you’re using different piece slots you’ll want to make sure that if you got the route of a dedicated display BP for your menus, you keep consistency with the target skeletal mesh naming and what’s being set so you can seamlessly transition it to your playable character BP.

okay so based on what you said i tried to do some exploration and I got this far, i tried to use the character pawn as a target and the new mesh as one of the helmets , I have no clue if my blue print is even near to being able to work but maby you can assist, it compiled correctly but i get this error

–Blueprint Runtime Error: “Accessed None”. Blueprint: helmet_layer Function: Execute Ubergraph Helmet Layer Graph: EventGraph Node: Set Skeletal Mesh
Blueprint Runtime Error: “Accessed None trying to read property BP_AssaultClass_A1”. Blueprint: helmet_layer Function: Execute Ubergraph Helmet Layer Graph: EventGraph Node: Set Skeletal Mesh–

many thanks

I’m not sure how that would work doing it from the UI blueprint. It appears that it isn’t finding the SKM you’re referencing. The way I handled it was calling a function from an external BP from within the UI BP. I’ll see if I can grab a screenshot of my setup later to give you an idea if it’s still confusing to you.

please that would be a grate help, so basically what your saying is i need the button to call a function from a different blue print to trigger the customization?

Yes that’s how I handled it. I’ll load up my project later on today and grab the graphs for you so you can get a better idea of what I mean. =)

awesome, thank you i appreciate that alot

No problem. Hope this helps. =)

So this image is from my UI BP. This is a function that is called when I click a button for a specific outfit/color combination. I have a data table that contains material info for all of my custom outfit configurations. As seen in the image I’m getting the specific row from that table that corresponds with the desired button that is clicked, and then using that information to set a custom structure that I made to hold 15 material instance inputs as well as an integer to designate which skeletal mesh I’m using. (In my case there isn’t customizable pieces, but unique whole outfits).

That information gets saved to my player customization settings save slot, and then .2 seconds later I call the function in my dummy character blueprint that’s displaying my character live in the menu.

Here is the function that is called. As you can see I now load the info from the recently saved settings, and then apply the new materials/skeletal meshes using the info saved in the struct. The outfit variant integer that was saved is also used to determine which skeletal mesh I’m using.

Then I pretty much repeat this process in the construction script of my player character BP and it allows me to change the way my character looks, see it reflected in the menus and subsequently during gameplay when I load into any map with my actual player character BP.

It may require a bit of tweaking in your case since you’re making unique skeletal meshes that are combined, but this is the general direction you’d likely end up going in. So rather than using an integer and switch to determine your skeletal mesh, you’d include skeletal mesh inputs in each row of your data table struct to go along with the unique materials for your custom pieces, and then pass that along as shown above. =)

Ohhhh okay I seee now , not 100% but I can get an idea of a directions and where to start now and begine reverse engineering, thank you so much man !! I’ll probably post an update in here if I get stuck !.

Happy to help! And yeah feel free to reach out if you have any further questions. =)