Trying to decide best ASA format for thousands of unique items

Hey all! Hopefully this is a good place to ask this. I’m developing a game on algo. I plan on making items into ASAs. I’m debating the most economical/straightforward way to do this. That being said - a few specific questions:

There’s no way to differentiate between single units of an ASA, right? I was hoping to maybe have a generic asset id like ‘GameX Item’ and include specifics in the metadata to identify which individual item it is. I’d love for this to be the case - but I don’t think it is. Am I correct?

Basically, I want a way to have thousands of unique items, but don’t want to make thousands of different ASAs. If I end up having to make up 1 ASA per item, that is unfortunate, but at least I could sort of authenticate them by the creator. The main drawback I’m afraid of, other than cluttering the network, would be that I’m afraid of requiring the user to opt in to each individual 1-off ASA. Also, I’d worry that it would be hard to quickly query which of the items a user owned if they were all separate assets. With that in mind - question 2:

Is there an easy way to query an account to see which assets it has by a certain creator? This could help me index the different items a user had if they were required to be different ASAs.

Thanks so much for the help! Excited to keep building!

it sounds like the class of problems that can be addressed with box storage, currently in beta net


NFT is a wide word.
Currently, most NFT collections are using ASA Algorand Standard Assets
Here are the 2 standards used for ASA currently:

When combined with ARC-19, ARC-3 is the most versatile one.

For metadatas, you can look at ARC-16

We don’t have this “Smart Contract” approach like ERC-721 yet, which will (I think) fit your use case.
It will come in the coming weeks with the arrival of Box Storage
Which will allow a full “Smart Contract approach”.

I will advise you to follow the ARC repository to know when this will be released.

If you have more questions, we also have dedicated channels on our Discord.