I’m facing a problem with character customization… Mainly with how to go about it, in the most optimized way. 
This is my logic of how it could be set up:
-
Method
-
I would create custom classes, within custom classes, within custom classes.
-
Then I would use a incremental int linked to a button to iterate through them, to get the desired game object.
-
I would destroy the previous object and instantiate the next one so it would be ready to load in.
I’m assuming this would be quite labor intensive for any computer. As it has to iterate through each class and subclass to find its game object. but it would be easier to set up.
-
Method
-
I would have GUI buttons, in a hierarchical view.
-
These buttons would contain a string which will be directory locations for the “Resources” folder.
-
As the next hierarchical set of GUI elements is clicked on, a Game object is added, based on the updated directory location string.
-
I would just use Resources.Load and Unload to remove and add each object.
-
Since it is hard to explain here is an example of what I mean.*

This to me seems a bit more optimized, but it would take a lot longer to set up.
I was wondering If either is close to what I’m supposed to do, or is the optimized way to do it.
If there is a better way can you please let me know
it would be a great help!
And… how about a ScriptableObject that would define a body part?
Can you elaborate a bit more on your answer? I don’t fully understand.
if u need complex character customization system then i suggest to you, download UMA project which was made by fernando ribeiro and UnLogick from Assets store - its completely free, open source and cover most cases with good performance (but some parts is highly unoptimized for some cases like MMO however its open source and u could fix it or buy some improvements from assets store). Last realese (which not arrived in assets store yet but will soon) will support generic character (so you can create non-humanoid monster with random customization in-game or in-editor)
these have only two drawbacks- no legacy anim support (but its definitely possible), and no shape-key anim too (but definitely possible - ecurtz work on it as far as i remember idk it will cost something)
@Breyer This looks very interesting!! I’ll definitely have a look at it.
I have looked into the “UMA” project, from what I am mainly gathering from it it mainly deals with altering the bone structure of characters with combined mesh’s. Although this is quite helpful, it is not exactly what I am after.
I am more looking into the Random generation of an object from around 5 different parts, and there are 100 parts to chose from.
an example is…
I am customizing a car, I can choose the car type, from this I can choose the type of wheels the car has, each Tyre would be a different mesh. This mesh can also be used by other car types. but I may have 30 Tyre types. And that’s just tires alone.
I’m trying to find the optimized way to create a customization screen without lagging down the computer with unnecessary loading and computations. 
hmmm if i dont misunderstand you i think its possible with UMA - UMA has demo scene with random generation humans (random color, cloth setting, body setting including different body parts - in that case ears and nose- strictly human and elves ear and normal ↔ pig nose)
if still u miss something or dont be sure its possible then there is support topic in assets and asset store - there you can ask creators for specific features or suggest to add them in later version.
if still u are sad then its open source - dont reinvent wheel 
EDIT
u dont need bone structure for performance reason or other? - in UMA u can delete bone after processing object - so if u have car u must have bone while player customize car but after customize you can delete them via script