Problem
As a Roblox developer, it is currently impossible to update certain types of assets such as images, audio, video, and meshes. You can update animations and models however. Sometimes an asset such as an image or a sound needs to be updated.
Use Case 1
A developer records an audio phrase using their own voice and uses it in the game. Later on, they hire a voice actor to record the same audio phrase which is higher quality and sounds more professional than the original one. The developer uploads the new audio but they have to get a new asset Id assigned and they have to change every place that the audio is being used to the new asset Id. By allowing audio asset updates, the same asset Id is used and the developer doesn’t need to make code/asset changes within their games to use it.
Use Case 2
A developer using an external drawing program such as Gimp, Corel Draw, or Adobe Photoshop draws an image and uploads it to Roblox. The image is assigned an asset Id and is made public so it can be used by other developers via the toolbox in Studio. The image quality isn’t that great, so the developer eventually hires an artist to improve the image. As in Use Case #1, the new image is assigned a new asset Id and the develop must make changes to their game to utilize it. Additionally, the other developers who are using that image may or may not know about the new asset. Their games will not benefit from using the new asset because they also have to update their games as well.
Use Case 3
Game Studio XZY publishes a game on Roblox and produces a low quality cutscene video for the game. Over time, the studio produces a higher quality video and uploads it to Roblox for use in their game. In order to use the video, the game developers have to change asset Ids to the new video in order to use it.
Additional Benefits
Roblox itself would also benefit from implementing this feature because newer assets overwrite older assets and retain the same asset Id. Not only does this reduce the number of assigned asset Ids saving index space in the databases, it also reduces the amount of storage space that is required to store these assets. Furthermore, it reduces duplication of assets as well.
Many times, an asset is uploaded that requires a small change later on. Instead of uploading the asset with the small change and getting a new asset Id and leaving the old asset orphaned, the existing asset is replaced and the new asset retains the old version’s asset Id.
Conclusion
If Roblox is able to address this issue, it would improve my development experience because when I upload a new asset to replace an old one, I won’t have to change the asset IDs in the experiences that use them, in addition to the benefits to Roblox itself.