Instantiating objects on load

Hello
I am working on a game, sort of a space invaders like game where I instantiate enemy space ships.

When I tried instantiating them “on demand” they caused a noticeable hitch in FPS, so I decided to try and preload them in an off-screen holding position.

I stored an instance of the prefab in a public GameObject, then in a for loop loaded 30 clones of my flying saucer. This loop really is just two lines of code - the for declaration, and an instantiate.

Everything else happens when I take them out of the holding space.

The problem I have is that takes about 40 seconds to instantiate these 30 flying saucers on load. That 40 seconds is after the unity image dissapears. I’ve put a loading screen in, but it is still a hugely slow process.

I have cut down the enemy space ship so that it is really simple: one cheetah3d produced object containing 2 spheres, on which I have added 1 metallic looking material (the same for both spheres) in unity. Before, I had interesting effects like a halo and particle additive textures, now I have no halo and simple diffuse texture.

Does anyone have any ideas where I am going wrong, or is this normal? It strikes me as a huge load time for something which I do not even see in the editor.

Thanks in advance for any help or insights you can offer!

Actually I sorted it out myself…
By default spheres created in Cheetah have a fairly high number of sections. Dividing the number of sections by 3 reduced the load time from 40 seconds to about 1.
Much better :smile: