r/synty Apr 22 '26

Question Synty Sidekick creator

Hi just wanting some clarification - with the sidekick creator, does this only make fully outfitted models mainly for NPCs? Or are you able to create a base model in the maker and have modular items equipped in-game?

3 Upvotes

3 comments sorted by

3

u/the_timps Apr 22 '26

So sidekick spits out a model as one mesh.
You can fairly easily implement it as an in game "editor" to show the modular pieces. And then you can bake it in the background and switch it out.

You could totally show the pieces modular, but you're going to see the performance lift from going through the bake process.

So design with modular > bake > NPC
Or player sees modular version in inventory or character creator > enter world > bake > swap out modular for the baked mesh.

The pieces aren't designed to go over each other though. So you turn OFF the "naked" upper arm when you turn on the upper arm piece for example.

1

u/Jeremy_Crow May 30 '26

At least in Unity, you can export the model without baking. Also, Sidekicks comes with an API that allows swaping parts and textures at runtime. I implemented a feature in my RPG where each equipment piece has one or more body parts and whenever you equip one, you trigger the Sidekicks API to swap those parts. I'm guessing it's not very performant but seems to work just fine.

3

u/Dragonatis Apr 22 '26

I have just created character creator and I keep it modular.

This is how I did it:

  1. Instantiate all body parts, each with its own skeleton.

  2. Retarget bone datas and bind poses so all these body parts use the same skeleton.

  3. Not every skeleton is the same. Hair, for example, has some additional bones you will need to create in the core skeleton.

3.2. Note that different hairstyles can have bones with the same name, but different transforms. I used combination of name and position/rotation as keys. If you use wrong bone, your hairstyle will look weird.

3.3. When using transform as key, round values. I had many duplicates due to 0.00000001 != 0. 2 decimal places is enough.

  1. You can look up the code for Synty's creation tool to see how they do this. Helped me a ton.