Add an AvatarEditorService method to determine what bundles an asset is included in

As a Roblox developer, it is currently too hard to determine, for a given asset ID, what bundles it is included in. The current solution (and only option) is to use /v1/assets/{assetId}/bundles from the catalog API (for instance, https://catalog.roblox.com/v1/assets/27112025/bundles?limit=10&sortOrder=Asc), however, this requires the use of a proxy.

Why is this information necessary?
→ Because without it, you cannot determine what bundle is associated with a given asset ID, and hence, cannot prompt the user to purchase the necessary bundle to own a given asset ID.

During the development of my new game, an outfit discovery and customization tool, this has been the only bit of information that requires the use of a proxy, as AvatarEditorService, AssetService, and MarketplaceService cover all other grounds.

Before the release of public bodies and heads, this wasn’t a huge issue, as creating a cached index of all the bundles and their associated items was a viable workaround. Now, however, the amount of bundles is endless and new ones are always being created, necessitating the need for the ability to determine bundles from asset IDs on the fly without forcing developers to have to create a proxy.

25 Likes

I need this for my Catalog-based experience as well!

Users can enter the game with an individual DynamicHead, Animation, or BodyParts item…

Which itself cannot be purchased. I need the parent Bundle Id to fetch product info and find the remaining items in the bundle + show the user a price tag and allow them to purchase said item.

I’m currently using the proxy mentioned in OP to do this, but it feels so gross considering how detailed the rest of the in-game Catalog has become.

4 Likes

It seems like the API which OP mentioned is the only solution at the moment which forces us catalog game developers to currently rely on proxies.

More and more catalog games are emerging on the platform which makes this a highly relevant and necessary feature, even more than before!

3 Likes

Trying to write a plugin right now and ran into the need to get the bundle that assets are associated with. The lack of this will mean leaving bundles out of a key part of the plugin, as there’s no way to find the bundles.

1 Like

This is a much needed feature and also such a simple feature. Please add this.

1 Like

I’m currently working on my own avatar catalog, and I’m sorely needing this feature. Because it’s open source software, I don’t have the same option of using proxy APIs.

1 Like

I am also in need of this feature. I have recently added a community-curated outfit system to my experience and users can enter a specific menu to purchase the actual avatar items on Roblox, but if the item is part of a bundle then I can only hide the item because I don’t want to use a proxy to figure out the bundle that an asset may belong to.

Demo:

Note: The way that bundle items are hidden is by checking if their productInfo.IsForSale is set to false, but if there was a method to get a bundle from an asset ID then I could put give bundle priority over the productInfo.IsForSale check and display bundles and prices properly.

3 Likes