Asset Locking Feature

As a Roblox developer, it is currently too hard or near impossible to keep assets ‘locked’ from leaks or unauthorized usage in other games. For example, if someone exploited and got a hold of an asset (let’s say it’s a model or a script) and then inserted it into their game ‘for their own usage’ without permission from the original creator, it would load and function as is (unless otherwise noted).

I think a solution to this would be to implement a feature that allows you to ‘lock’ the asset, which means that if the exploiter / leaker inserted said asset into another game, it simply wouldn’t load at all and in its place would be an empty selection box or something insignificant like a basic part. If they wanted to publish the asset, it would throw an error and say something like ‘You cannot publish this model / This asset is locked’.

There could also be a menu for it that allows you to add friends, group members or whoever if you want to share your asset with them or for the sake of a TeamCreate. You could also restrict the asset to only be used in one particular game by fetching the game’s ID, that way if one of your TeamCreate members decides to take a copy for whatever reason, it still couldn’t be used in his or her stuff.

I have designed a brief mockup of how it could work:

Mockup

  • Enabled would obviously enable it on the selected model.
  • Allow Users would allow you to share your model with other users (i.e friends). You would type in user ID’s and then the chevron would appear, giving you a drop-down menu to view or remove who you are allowing.
  • Restrict To Game makes it so the selected asset can only appear and be used in the game it’s in - the ID would default to the game you’re editing if you clicked ‘Edit’ on the game’s page, otherwise if you were working in a local file, it would be blank and would later require you to get the desired game ID. A drop-down menu could appear if you wanted it to appear in more than one game.
37 Likes

Love the idea. I’d especially love it if it was enabled on all models retroactively by default to prevent thievery.

I also wonder if it’d make sense to have this enabled for the game itself as well, instead of on a model by model basis (both would be useful though).

6 Likes

Roblox could prevent audio or meshparts loading in a game by their assetid, but they can’t lock down models or scripts. Geometry thieves would just recreate the item without the lock and leak that. And audio or meshes/unions could still be stolen, it would just require uploading

2 Likes

Even so, the geometry thieves would have to do a lot of labor trying to recreate it and unless they’re that dedicated, it’s not worth it. Plus, if they made it, it’s not leaking as it’s their recreation.

Someone would figure out the right way of doing and then everyone will use that and this lock feature becomes mostly useless. And yes there are thieves that are that dedicated. Pretty sure simple lua could recreate such a model anyway with clone or by accessing its properties.

Plus, if they made it, it’s not leaking as it’s their recreation.

I don’t think you’d appreciate someone’s identical “recreation” of your asset still.

The lock would prevent the asset from even being loaded, like I said. Therefore a script can’t fetch it as there’s nothing to fetch to begin with.

I wouldn’t, and I don’t, but people do it anyway, and I can’t stop them. Even so, the recreations aren’t entirely accurate most of the time.

It would be stolen unlocked from the game.
I dont think you understand how exploiters can do whatever they want with whats loaded on their computer’s memory. If a car model is loaded on their roblox program(live in your game, not offline), there is nothing roblox can do about someone saving that to their computer. If it’s “locked” they will simply save it as not locked or recreate(meaning either :clone() or simply creating every instance with identical propreties) and the lock is gone.
Essentially, this lock feature wouldn’t do anything for scripts/models/GUIs. It could only help a bit with MeshParts, audio, and Unions

4 Likes

You do have a point, but also keep in mind that many models / games nowadays rely on meshes and unions, so while it may not be 100% exploiter-proof, it still cuts down a bit.

It’s an extra measure either way and requires the exploiter to do more work.

I suggest you retool your feature request to be more specific in this regard.
You should specify locking uploaded assets such as MeshParts, Decals, Audio, etc to specific games or places. Anything that is not an uploaded asset is simply not possible.

2 Likes

Yes, roblox could disable mesh assetIds(though it’s unlikely they will). That would require thieves to reupload every asset themselves. Not fun but they’d likely automate it at some point.
I don’t know about unions, I believe you can tinker with it to get the original data to work with it if roblox locked un-unioning, but they could just upload the obj file and get what they want that way.

Yes this could make exploiter’s lives a bit more annoying but they will get over it and roblox will be out many many hours of time and the feature’s point will be mostly void.

The best you could hope for is that roblox doesn’t let players use meshes/unions/sounds they don’t own, but I don’t see them doing that for other reasons. I don’t see any closer result to what you seem to be aiming at with this studio feature

2 Likes