New Format
Please complete one of the following sentences:
As a Roblox developer, it is currently too hard to . . .
As a Roblox developer, it is currently impossible to . . .
As a Roblox developer, it is currently impossible to properly convert a decal id to image id with the currently available in-game APIs. (e.g. 1156386453 (https://www.roblox.com/library/1156386453/oneway2) to 1156386447 (https://www.roblox.com/library/1156386447/oneway2))
Currently the approach commonly used to do this is to take the Decal asset id (1156386453), then keep subtracting 1 from this id until an Image asset is found with the same owner as the original Decal asset.
This has two issues:
- You use up a lot of requests to find the Image asset (i.e. you have to check ids 1156386452 -> 1156386451 -> 1156386450 -> 1156386449 -> 1156386448 -> 1156386447 for the sample above). During peak hours, asset ids can be ~25–30 apart! There obviously is a search limit too, you don’t want to keep searching infinitely if the asset is not found…
- This does not work at all for Decals owned by groups, where the Image asset is owned by the uploader.
If Roblox is able to address your issue, how would it improve your game and/or your development experience? Please be as specific as possible.
We would be able to robustly retrieve the Image belonging to a Decal with much lower failure rates.
Use case: I use this runtime to allow players to pick images from the catalog (or their own inventory). Users always pick Decal assets, so those have to be converted to Image assets before they can be applied to, for example, in-game Decals.
(An alternative would be to seamlessly load the associated Image whenever a Decal asset id is assigned to Decal instances, a bit like Studio does nowadays, but that does result in an unavoidable extra Http request for every unique Decal used…)