If you’d like to get all keys of items by schema, use the GetAllDataKeysBySchema method. This is useful for randomly choosing an item of a particular type without loading all available items.

Suppose I had a schema called PowerUp, here is how to randomly choose one:

List<string> allKeys;
GDEDataManager.GetAllDataKeysBySchema("PowerUp", out allKeys);

// Randomly choose an index
int chosenIndex = Random.Range(0, allKeys.Count-1);
string key = allKeys[chosenIndex];

// Load the chosen PowerUp
GDEPowerUpData powerUp;
GDEDataManager.DataDictionary.TryGetCustom(key, out powerUp);