I would like to know more about best practices when loading models at runtime.
I have a lobby with a character selection screen, where players choose a character and can see those selected by remote players.
For now I have less than 10 models, but it could be more in the future.
So they will be needed often, but not everytime.
I’m not sure about the best way :
Make a registry object in the scene containing reference to all skins, with these skin also in the scene but disabled
Ressource.Load : Is it ok to use this with models that could be quite large ? Can I use this for EVERYTHING ?
Assets Bundles : Same question ?
What are the differences between Ressource and Bundles ? Is one of them legacy ?
They both seems to do the same thing : downloading local and distant assets ?
As a general rule of thumb, Resources are for stuff that’s in your game, and you might need in a bunch of scenes.
Asset bundles are for adding stuff to your game later on. If you write your code to handle it, you could distribute new skins through asset bundles without having to patch the executable.
The easiest way to solve your problem is to have all of the models and textures in the scene, and show the ones that’s supposed to be shown. I would do that until you run into problems with loading times. The character selection screen should be pretty light on assets (right?), so you might just be able to get away with the easiest solution here.
So asset bundles could be useful for an update launcher ? Are they able to replace components, scripts …?
The selection screen is indeed light for now, (this could change if we manage to put all our ideas in the game)
but when the scene changes at game start, I still need a registry of models to spawn selected ones.
I could maybe use both registry object and Ressource.Load, one for the lobby screen and one for In Game scene ?