Hello,
In our game players are granted a Steam item every time their account levels up. We have an ItemDefinitionObject and we're using TriggerDrop with an OnItemDropped callback. The item is a bundle with ID 99, it is exchanged for another generator with ID 98, finaly the player is supposed to end up with an item with ID 92.
This works and if a player immediately redeems their level up item, they receive the single item as expected.
However, players can choose to redeem their items later. If they do, we keep track of how many items they are owed. When they decide to redeem their items, we check if their inventory contains item 92. If it does, we grant them their item and check again if their inventory contains item 92 and so on until we run out of copies of 92.
The issue is that we only ever find between 2 and 4 copies of 92, even if there are 7 items pending. If I stop the current test in Unity and press Play again, I can get another 2 to 4 items on top of the other ones I previously received.
So what I don't understand is why I'm failing to find all copies of item 92 in a player's inventory and why restarting a test session in Unity is partially refreshing the inventory.