this is a good enough solution. but additionally, to avoid keeping unused meshes in memory, you can destroy (instead of disable) parts you want to hide.
performance lags also can occurs on model instantiating. model should load ALL objects on instantiate process. but if this lag can be hided with "loading" screen/animation or is fast enough - there's no actions needed
Trending Articles
More Pages to Explore .....