Character Customization

I’m wanting to implement a system where players are in a playable lobby, like that of phasmophobia or lethal company, and there are different things or npcs to interact with. One of the interactions will allow the player(s) to customize their character, allowing them to change their race and class (e.g. Human Fighter, Orc Barbarian, Elf Wizard, etc.) These options would come with their own unique traits, skills, perks, etc. I’ve brainstormed and researched for days but haven’t found a solid answer to enable this feature. I’ve been testing with having a base parent class then making children classes for each of the races(male and female), then I’m thinking of making children from these children for each playable class. (This option seems unnecessary but I don’t have enough experience to confirm)

I’ve also stumbled upon using nested data structures within a function library which could handle all of the available options, but paused my researching endeavors for the moment hoping for some guidance. If anyone has any input about my thought process so far or if they know of any tutorials please help a n00b out. I would appreciate it. :slight_smile:

That’s the answer to your question.
You have to write different “classes” of pawns
When you want to change “race”
Just destroy the old pawn and spawn new class of pawn

This is the method I’ve been working with but since I’m trying to replicate the action for a multiplayer setting I’ve run into some road blocks. I’m using 6 different races, both male and female, meaning I’m going to have 12 separate blueprints. The models I’m using are also modular, meaning they have many different skeletal meshes that help make up their entire model. (Just trying to give out what I’m trying to work with for full understanding)

Now, at the moment I have a function within my base parent blueprint that all of these races inherit from (for testing) that allows them to change into a Male Dwarf. Server executes it perfectly of course, but once I try it on client 2 things happen: 1) If I’m not using Run On Server or Run on Client custom events then the client just spawns the Dwarf BP Class in the world and doesn’t possess it, and Server cannot see this happen. 2) If I do utilize Run on Server and Run on Client custom events with Switch Has Authority Nodes I still have the same issue as issue 1 but not Client controller loses doesn’t function anymore and Server controller possess Client’s spawned Dwarf taking Client’s world transform and un-posseses it’s own spawned Dwarf.

Thoughts? Also, thanks for the response.

Replicated actors only can be creted in the server side… The engine will create a copy automaticty in the client… You must posses and unposses the pawn in the server side too.

As general rule… All replicated things you must handle it in the server side… do not modify in the client side or you will have problems.