If I were you, I would choose option #2 for it being the easiest. Option #1 is tedious and you should use it only if your objects are extremely modular in nature. For example, imagine making a Dress-Up game or even a simple character customization system. You wouldn't want to create thousands of nodes for every possible combination. Instead, you would want to create a base node and have the code alter the different aspects of your objects via draw calls, mesh swapping, texture modifications etc.
For a small project, you could just hide and show the premade nodes. If your character has two skins, make two nodes for them. You can also disguise the fact that you alternate between two or more versions by adding animations and particle effects.