Best way of handle Multiple-3D-Assets equipment data

-# i don’t know if this could be into “How do I…?” since is about optimization choices, tho since it is an legit issue i’m facing with gdevelop and equipment assets i think it fits.

Imagine you have 5 different swords in your RPG or whatever, and the assets for that are Global objects (so the player can equip them in any level at any time), my problem is that global objects are ALWAYS pre-loaded.
So if the swords change from 5 swords to 800 (and i’m not even talking about shields, bows, armor…)
the game will pre-load needlessly.
But having these objects being Scene objects (which could also let you control better the loading behavior and even unload objects) would be an pain in the ass to setup and change something later.

So, in that dillema i want to ask, how would you handle assets in this scenario?

…well, that makes sense doesnt it? if its preloaded, it wont needlessly load every single one of those objects every single scene, which would make performance worse.

im not super aware of how object loading in gdevelop works… but, are you sure this even causes a performance issue? And depending on how your objects work, are you sure it couldnt be one object named “Item” or something, with a bunch of separate animations?

being pre-loaded means it would still have something in the memory that could be used for other stuff, specially with a lot of data, and after create an object i don’t think it will unload so fast or easily, which could lead to leaks..
having one object that have different MODELS in it i think could be worse in the scenario i purposed.
and by just moving some objects that were only scene objects to global objects already broke some logic and perfomance in my potato ← this tho could be an coincidence since ive changed right after update my gdevelop to the newest version, maybe some perfomance issues appeared in it.

wait, models? are you using 3d or 2d?

read the topic title

uh…okay, well im sorry…

what are the differences in your scenes?

it doesn’t seem relevant to the problem solving, what do you want to imply with that question?
i’m not sure if using external layouts would actually help because i don’t know exactly how i would manage all the game resources on that, but i’m open to suggestions and other point of views.

Sorry to ask..but …do you need 500 “different” meshes..?

i mean why don’t just create 5-6 swords and then just swap textures with something like this?

i would be sick with the same swords with different colors.
i see where this come from, but is not what i want.
i want to solve that issue, not ignore it.

Could you show an example with a 3d game with 800 kind of swords pls..

or 50.just to keep it simple.

At that point, it really doesn’t matter what you’re trying to do. No engine would do it without preloading. Even Unreal and Unity do the same thing.

Dark Souls, The Elder Scrolls, Fallout,
keep in mind that i’m talking about Equipment in general so is not only Swords i’m talking about, tho it is an strong thing in fantasy RPG’s;

I’ve got more than 300 hours in each Souls game, and even then I couldn’t find 50 different kinds of swords or shields, etc.

I really understand what you want, but there’s no magic. What you want to achieve requires preloading…and even with that i would expect lag… Let alone in GDevelop.

edit: btw textures aren’t just meant for swapping colors.

You could create a rectangular primitive mesh and then put whatever sword design you want on it as sticker. That’s what I would do.

Honestly, i expect load times, not lag. It should only lag if every item is an instance currently in the scene

the issue is not preload the assets, the issue is when.

if the assets were scene objects i could control better when an asset would pre-load
(for example, pre-load when in player’s inventory), and i don’t think pre-load an single item should be any laggy but if do, just pre-load when opening the inventory.
and also, i need to check, but i think the pre-loading like in any engine is assincronous, so the item should be invisible in some miliseconds if i choose to pre-load when equipped.

and even tho, we could face an issue if the player have zillions equipments which would require think in an filter for the equipments to load, rather pre-loading the items it is most likely to equip (for instance, those that are visible in the inventory menu) or pre-load only when equipped.