As a developer, it is currently hard to iterate on assets such as decals and sounds, because not only does the updated file need to be re-uploaded as a new asset, but the new asset needs to be linked in the game wherever the old version of the asset was used.
It would be convenient (for images, sounds, etc) if we would be able to update over the asset with the new version. However, there are some issues if this is done without restrictions:
- Someone could put a decal in the Library, free to take, and then upload it to something entirely different once people are using it in their games. A cute dog picture could suddenly become something horrendous. (Insert similar example for sounds)
Therefore, the feature would need some restrictions. I suggest the following:
- If an asset has never been marked as “Free to Take”, then other users on the platform have never had explicit permission from me to use that asset (unless I specifically gave them permission), and so I should be able to freely update that asset without disturbing anyone’s (legal) work.
I am assuming that Roblox will also eventually have a feature to hide certain assets from being publicly visible on the website/library. If such a thing happens, this feature would tie into that nicely, because at that point I should be able to have full control over my own assets (no chance of someone accidentally using a private asset in their own games).
While my feature concerns all kinds of images/sounds, my primary use case is sprite sheets. Normally, the sprite sheet doesn’t entirely change when I iterate on it, the positions of items stay the same, I’m just making edits to items or adding more to the sheet. It would be convenient if I could just upload the asset and be done with it, that it would immediately show in-game. Also, if I accidentally forget to update an asset reference somewhere, my players could end up loading 2 or more versions of effectively the same sprite sheet, which would be a waste of memory. Keeping the asset reference the same would simplify iterating on assets so much.
If Roblox were able to implement this request, it would become much more convenient to update assets, because I would not need to update any asset references in-game, and there would be less room for error (in terms of forgetting to update some references and ending up loading old assets / several versions of old assets at once).
TLDR:
Workflow right now:
- Upload version of image (results in rbxassetid://12345 being uploaded)
- Refer to rbxassetid://12345 everywhere in game
- Upload a new version of asset (results in rbxasset://67890 being uploaded)
- Update all references to rbxassetid://12345 to rbxassetid://67890
- Repeat steps 3 and 4 for any updates to this asset until you slowly go insane
Suggested workflow for non-Free assets:
- Upload version of image (results in rbxassetid://12345 being uploaded)
- Refer to rbxassetid://12345 everywhere in game
- Upload a new version of asset over the rbxassetid://12345 asset
- Repeat step 3 whenever you need to update the asset. So easy!