Whats the best way to manage modifications to a car

I am building a racing game and I’m wondering whats they best way to add or remove modifications to a car.

For instance, if I have a basic car the player starts with. When they have some money they buy a rear spoiler for the car.

Now for my 3D model, do I keep this spoiler as seperate mesh in my model scene, and load it onto my car when required, or do I model it in its own 3D scene and load it dynamically, and attach it to the car?

I would like to hear how others have done this sort of thing and what is the optimum way to do it.

Thanks

Probably lots of ways to do it.

I have a script that builds the car from scratch using Resource.Load for the mesh/textures. It sets up everything from the brake lights to the mesh/texture quality to the wheel colliders. As well as about 10 customizations like rear spoilers and inlets.

Any chance of seeing a webplayer demo callahan.44? Would your script carry over to customized human characters?
e.g. different facial features and clothes/armour

Only have my old demo, but those cars do start from an empty gameobjects and load what they’re told.

It would work fine for custom human characters, if its been modelled as modular meshes and not 1 skinned mesh.
It might require some organisation of the assets.

Only 1 major drawback could be drawcalls, if you don’t share textures and you probably won’t be able to merge meshes.

With a car spoiler thats not a problem, since it can share UVs/texture with the chassis and is a static child.