Improving Sharing and Distribution for Models and Packages

[Update] May 21, 2025

Hi Creators,

Recently, we expanded the permissions system to let you share images, decals, meshes, mesh parts, and models, with friends and groups. Today, we’re launching improvements to sharing packages and models that contain audio and video assets. We’re also reducing several permission error states (e.g., when sharing) and improving performance at scale.

Note: These changes will only affect newly created packages and models, and new versions of existing packages and models.

Package & Model Sharing Improvements

If you create and share a package or model with a friend or group, they will now be able to load any audio or video assets that were included. This applies whether you uploaded those audio or video assets, they were shared with you, or you got them from the Creator Store. Previously, the audio and video assets would only load if they are also listed on Store. Audio and video assets not on Store had to be shared separately outside of the package or model.

Automatic Verification of Store Models

We know it can be frustrating when you acquire a model from the Creator Store, but the included audio does not load when you insert it. To address this, we are making improvements to limit how often you get “broken” models when containing audio or video assets that can’t be distributed.

Now, listing a model in the Store that contains an audio or video asset will only be allowed if 1) the audio or video is open use (public), like those created by Roblox or 2) that audio asset is already in Store. This will only impact newly listed models on the Creator Store. All models that are currently listed are not impacted.

Limit on Number of Assets in a Model or Package

To help ensure the permission system is performant at scale, there will be a limit of 15K unique asset IDs (audio, video, meshes, images) that can be included in a version of a model or package. This limit will be checked when a new model or package is created, or when a new version of an existing model or package is created.

Known Issues & Limitations

The update only supports assets that are uploaded in Studio or using the Open Cloud Assets API. Assets uploaded through other surfaces or APIs are not impacted. We are looking to address this limitation in future so that we have consistency.

Future Improvements

This is the second of three launches in a few weeks to improve asset privacy & permissions. The next launch provides the ability to opt-in to privacy for meshes, images & decals. We’ll share more soon.

As we mentioned in the first launch, we know animations workflows are severely restrictive, especially when collaborating and reusing animations across accounts. We will reduce the friction of using animations with your collaborators. Stay tuned for more details later this year!

Also later this year, to further help facilitate collaboration, we plan to add permission pages in Studio to support sharing of images, decals, meshes, mesh parts and models assets, and enable bulk sharing of multiple assets using the newly revamped Asset Manager (Beta).

Let us know if you have any feedback - thank you!

71 Likes

This topic was automatically opened after 9 minutes.

Is this for private and public?

And what if a Package contains nested packages, do these count towards the limit??

5 Likes

So when the third launch goes live, we’ll be able to whitelist every MeshPart in bulk? No need to manually go through multiple pages of our inventory and manually configure them one at a time?

no the third launch will give us the ability to limit the visibility of meshes , images and decals so for example if doors is working on a new update when they upload a mesh they will be able to limit it is visibility so they will stop leaks , the one you are talking about should release later this year

2 Likes

Will there be a change to the distribution rules?



Source

My issue with this is two things. Firstly, my module, that allows developers to see a list of properties, events, and functions of any given instance or class, will now get flagged because the JSON dump is too large and suspected to be related to a LuaVM. I’ve had moderation issues that can be found here.

(And yes, I’m aware that my module may become deprecated in part by the ReflectionService, but I don’t think that takes away from my point.)

My second issue is that I believe this should be decided by the developer rather than Roblox (outside of obvious violations like inappropriate or copyright content). We already have permission restrictions for plugins that can be chosen by the developer. Why can we not have the same warnings for published models and other assets than plugins? A developer can do their own research to see why certain assets were flagged with certain things. I get wanting to prevent exploitative assets, but this heavily restricts other types of harmless assets that are very beneficial to some developers.

I’m excited for the evolution of more asset types for the developer marketplace, but these restrictions hurt some of the coding side of assets.

8 Likes

I understand that this update was made with good faith, but the restrictions to models seems to go beyond just sounds and videos and causes a lot more problems than it is attempting to solve:

These restrictions are affecting more than just audios and videos, including meshes & decals/images, which makes any sort of collaboration for models nearly impossible. This should not be affecting these asset types anyway; decals/images and meshes do not have place-locked restrictions. This is implementing way too many restrictions on saving models to your account just to “ensure all sounds and videos play for marketplace models”.

Some games use models & insert service to load in content, and this update kills this workflow for these games, without really any alternatives. You should be able to save models to Roblox even if you don’t have permissions for decals or meshes, just like you can still publish places to Roblox even without permissions.

I understand the desire to do good to ensure models that get pushed to the marketplace work, but this is just limiting what you can save to your toolbox and killing workflows for games that use this method to load content. These changes need to be revised. All of these workflows should not be harmed just to ensure that a public model does not contain one sound that may not play.

37 Likes

Will the ETA of the final launch be another 2 weeks? or will it be less.

1 Like

The update seemingly includes blocking private Images and Meshes as well. Unlike the aforementioned Audios and Videos, these have worked for as long as they have existed. How does including them help address this stated problem?

15 Likes

When is require(Model_ID) being added to this? My workflow includes loading a private ModuleScrpt across experiences and two other groups.

2 Likes

Hi Enszo,

Could you provide more context on this? Is there a specific error you’re encountering?

Is this for private and public?

15K limit include both private and public children assets.

And what if a Package contains nested packages, do these count towards the limit??

Yes children of nested packages counts.

Do you have a use case in mind where you need a model/package will more than 15K unique children assets ? We are adding this limit so that our system can continue to work at scale. As the number of children increases, the time to compute the children, store them, and server future queries increases significantly. Only a handful of users have models more than 15K children, thus picked that as a limit.

2 Likes

Grif_0’s post which is 2 posts above my original one provides a lot more context as to why blocking private Images and Meshes is an issue. For an example of a specific error, images are attached:


18 Likes

Will the ETA of the final launch be another 2 weeks? or will it be less.

We are targeting roughly ~2 weeks :crossed_fingers:

2 Likes

Packages offer a way to conveniently keep things synced across places. That it could be used for a container to hold additional packages, such as individual models to have some sort of “Model Explorer”.

15k is a lot, probably one will never hit that limit, but the limit is there and that can be concerning. But the number can go pretty high, depending on how many things have an Asset Id.

 

That’s why I was wondering why this rule doesn’t only apply to public assets. As the entire logic behind this, is to reduce finding “broken” Models on the store. Private assets can’t be found on the store. Private assets don’t get filtered either, e.g. you can have getfenv in a private asset without it getting flagged.

Plus, what happens if you publish a model that you have permissions to, but then get the permission revoked after?

 

This button here:

What if only by turning on this button it would check for public asset ids.

3 Likes

Thanks for the example. We’ll need to take a deeper look to be sure, but right now, this does not seem like expected behavior. From some checks in our system those three assets are not restricted.

It should be noted in a future launch, users will begin to be able to make restricted assets, but right now images and meshes should be not restricted.

As for debugging this, does the creation of this specific model and its dependencies)consistently fail? Would you mind trying again. Also could you providing me your user Id, through DM is fine if you want.

4 Likes

This also affects publishing PackageLinks. Hopefully this isn’t intended. We have some old assets in my experience that we don’t have permissions for and I don’t wanna have to remove them one by one.

2 Likes

It is a relief to hear that this is unexpected behaviour!

My user ID is 55616641, however it is more relevant to note that the pictures & attempts are from co-builder Alvthechip (User ID 288465886).

It might also be noteworthy that it’s not the creation of an asset either, but rather the updating of one. It does consistently fail, having tried more than approximately 18 times.

In these attempts a number of different Texture and Mesh ID’s came up on the error screen, those being:
asset/10487797961/RenderMesh
asset/6327396428/RenderMesh
asset/277037193/RenderMesh
asset/13640868/Fedora-Mesh
asset/7845981651/Fedora-Mesh
asset/7021549114/RenderMesh

4 Likes

I would appreciate some clarification as a hobbyist vehicle developer (slot creator), if possible.
Does this mean that if I upload a vehicle’s meshes under my username, then save those meshes as a model under a group, that I will have to explicitly provide permission for these meshes to be used by the group’s games?

Also, Developers of a community I work with are expressing concern that mesh buildings ported in from Blender which are then saved and added into the game will no longer appear until their permission settings are changed.
Again if anyone is able to provide me with a clearer understanding, it would be greatly appreciated. Thank you!

8 Likes

Also starting to experience this issue. Our meshes/assets some are done by contractors so when I went to overwrite the model today w/ new versions it started to fail with this issue & and completely ruining our work flow.

5 Likes