I am building a game that is designed to be moddable under UE4.
I am going to have tons of assets (clothes, hairs, jewleries and their textures materials and whatnot) to deal with.
Eventually the game has to be localized for a bunch of non-latin character systems, too.
The easiest way would be to use a prefix/suffix system when naming the assets, which would come in the game in as Blueprints, containing the asset and some extra data as well. This would be a requirement for modders.
tag_othertag_clothname.uasset tag |name
And then all I do is just search tru the name of the asset. I feed it the text the user typed for the name part, and the tags as strings for the tag part, and than hide the tag part from the user.
I set up a test scene and it does work ok with 500 assets, running the search every time you hit a button.
Later on I can store tag data in json or just as a plain string in the Blueprint.
The issue is that as the number of tags grow, the length of the string grows too, which can be a problem later on.
I thought about using strings and json files to store the tagging data in the Blueprint as well.
I would like to have 2 categories of tags by default
region or body part: head, torso etc —> makes searching and
categorizing very easy but not as efficient, can be appied to nearly all asset types
asset type: cloth, jewlery, armour, etc
My questions are:
In your experience
- are there pitfalls of using a prefix suffix system, for example security, performance, ease of use etc? if yes what are they?
- what are the alternatives – I thought of using databases, but I don’t have much experience with them, not sure which one works best with a high number of Blueprints, I saw quite a few on the Marketplace…
I ‘d like to make it as simple as it can be, no overcomplication or overengineering.
I just want it to be usable, user friendly and easily extendable as the project grows.