Best way to implement interchangeable outfits for 3D models?

Godot Version

4.2.1.stable

Question

I’ve been wanting to make a 3D game and I’ve learned the general gist of 3D modeling. While making a model is straight-forward enough, I was wondering how all these games featuring customizable character appearances go about it.

From the (admittedly limited) videos on Blender to Godot I’ve watched, it looks like the easiest way to go about this is to either have each clothing option on one model and just toggle visibility or have completely different models altogether. My main concern with these is performance and game storage space. Even if they may be visible, I fear that they may still cost resources just by “existing.” As for the separate models per clothing, that won’t allow me to mix and match clothing (not mentioning the Fortnite level of storage space required).

The games that I’m thinking of when it comes to customization is The Finals and Baldur’s Gate 3 (but only the clothing aspect). In these games, there’s a limited amount of body types (BG3 has some model blending, but I’m ignoring that) to choose from and a plethora of clothing options that you can mix and match. The aspect about it that completely goes over my head is that there is almost no clipping, which implies all of these clothing options are modelled to fit each separate body type.

What is the most future-proof implementation of this? Or rather, how would YOU implement this?

Reminder: I value low-cost performance and minimizing file sizes.

That sounds like one of those uber-complicated things. They probably have some form of dynamic clothing size system that fits each character with their applicable cosmetics

That may be so. I could just concede and do one of the two methods I’ve mentioned in the 1st post, but I’m just wondering if there’s a more organized, modular approach.

I’m sure there is but I’m not as smart as a studio lol