The dictionary object would be a better alternative. You definitely don't want to use a UID as an index, as the value can be anything, and you'd need to size the array arbitrarily large. Just merge your level, glyph, UID, and variable name together as a string to make the key. The same key will always get the data back again.