I’ve noticed that SearchCatalog() will return different results depending on what user has triggered this method. That means, every search of the catalog will yield different items for each unique user, which is perfect for getting a batch of items for every player.
However, there is a small issue, when there are multiple categories assigned to CatalogSearchParams - it will return Roblox assets if two or more AssetTypes or BundleTypes are specified - returning the top assets on the marketplace (and thus the same items for every player, instead of it being personalized.)
Code example:
local catalogSearchParams = CatalogSearchParams.new()
local assetTypes = {
Enum.AvatarAssetType.BackAccessory,
Enum.AvatarAssetType.ShoulderAccessory
}
This will return non-personalized results if there are two or more types provided (doesn’t matter if it’s bundle/asset).
Expected behavior
What should happen is the results should return personalized results for each player, regardless of how many types were specified. That ensures by searching Catalog for “All” accessory types, the user shouldn’t have to see Roblox assets (and top assets) but something that is personalized for them. If only one type is specified, it works perfect. I suppose the personalized results have to do something with your Roblox purchase history - as it recommends you items you may like based on the latest purchases you’ve done.
A private message is associated with this bug report