Hello. It would be great to have hash tables that have more than one column per key. For example, in my game I have 100 item prefabs, and an icon for each. Currently I must have a giant hash table containing all prefabs, and a second Icon Hash table containing all icons. Now that I'm splitting the prefab hash into 26 hashes, one for each letter, to make it less clunky to alphabetically add new items, it means I might want to do the same for icons, meaning I'll have twice the number of hash tables since each "type" will need its own.
But if I could have one giant grid (honestly like a SQL table that can store item prefabs, sprites, etc.) then my life would be glorious.
I currently use SimpleSQL to retrieve item strings from database files, and it makes my like SO much better, but unfortunately SQL tables are not "in Unity" so they can't contain Prefabs, sprites, etc.
What is the best way to currently handle this? When I said my game has 100 items, I lied. it actually has 400 and counting, and that's just for basic props; each quest will have its own unique puzzles, keys, etc., too. so anything to reduce duplicated storage, would be great.
I've considered using Scriptable Objects for each item to store this info, but that would mean a unique game object or script thing for each of 400 objects, which is way clunkier than having them all in one place. Not to mention that if I later update the Script for the Scriptable Object, I could lose A LOT of data if I do it wrong.
The big problem is, to quickly find Hash Table entries, they must be alphabetical because there is no search function in the hash table proxy thing. And making them alphabetical is a pain because you cannot "insert" new keys at various points, so new items must just be tacked onto the end. If there was a way to solve these problems, possibly by adding a search function to hash table proxies, this all might be less problematic.