You can now load and edit any asset into EditableMesh / EditableImage if they are explicitly shared with you / your group. You no longer have to be the owner of the asset.
Hi Creators,
When we first expanded asset sharing to images and meshes, our goal was to make collaboration seamless while giving you control over who can use your creations. Today, we are bringing that same flexibility to the EditableMesh and EditableImage APIs.
Previously, AssetService:CreateEditableMeshAsync() and CreateEditableImageAsync() were restricted to assets owned by the experience creator or the logged-in user. We know this was a major pain point for teams working with outsourced assets, shared group libraries, or modular systems where assets were stored across multiple accounts.
With this update, you can now load and edit any asset if any of the following conditions are met:
Owned by or explicitly shared with the experience owner (group or individual user).
Owned by or explicitly shared with the logged-in Studio user.
Owned by or explicitly shared with the logged-in player (if the EditableMesh/Image is on the client).
Owned by a group where the experience owner, Studio user, or player has a role with permission to edit the group’s assets. (See Roles and Permissions for more info).
Why This Matters
This update unlocks a more robust collaborative workflow. For example:
Contractors and Outsourcing: A contractor can upload mesh or image assets from their own account and then share them directly with the experience owner, allowing your scripts to manipulate them at runtime without needing to transfer ownership.
Shared Libraries: Studios with multiple sub-groups can now share a central “Core Assets” group inventory of assets that all their various experiences can edit dynamically.
Team Projects: Collaborators can now use their own private assets within a shared project more easily, provided they grant the necessary permissions.
Getting Started
To use a shared asset with the Editable APIs, simply ensure the asset has been shared with the target user or experience via the Creator Hub or through the updated Asset Manager within Studio.
Follow the Grant Permissions guide to add a user, group, or experience ID.
Once shared, you can call CreateEditableMeshAsync or CreateEditableImageAsync using the asset’s ID as you normally would.
In Studio, you can now bulk share multiple assets. Just follow the instructions in the recently announced Updates to revamped Asset Manager Beta.
For more technical details, check out the updated documentation on the EditableMesh and EditableImage reference pages.
Known issues
While sharing directly with an experience ID is possible today, this flow does not yet work with EditableMesh and EditableImage APIs. We are working to resolve this issue and will update this post when it is solved.
What’s next?
These new sharing rules were designed to mitigate some of the pain with using EditableMesh and EditableImage but we are aware that creators are still looking for more freedom with modifying arbitrary mesh and image assets at runtime. Please keep the feedback coming so we can work on sustainable long-term solutions for these requirements that were put in place to prevent trivial misuse of assets.
Super exciting! I’ve been working on a plugin to automatically merge meshes together into singular meshes based on material info, and the biggest issue has been assets that are on our personal accounts. This helps a lot, but I do wish if the other user had edit access to the experience, we could load their assets. Bulk granting might be the solution there, though!
Whyyyyy does this still not support pulling in images that are publicly available on the marketplace? The creator of those assets explicitly allow anyone to use them, yet even with this it’s still not supported.
this is amazing, however there’s an issue that limits us developers, which is the 1024²px size limit on EditableImages.
after the recent High Texture Quality update i strongly suggest the increase of the size limit from 1024²px to → 2048²px, as i and other developers that use EditableImage api would find that very useful.
You need to add something to allow EditableImage animation. I know you don’t want to do straight shaders, but pixel buffer writes are too slow in LUA… EditableImages can give you something like shaders…
Can we get the restriction that only allows one EditableImage to be modified per frame lifted? While I understand the memory and efficiency concerns regarding EditableImages, this problem should probably be handled by developers as many have usecases that require more than one “active” EditableImage at a time.
this is great, one question, when it says Shared with the game owner, does this include assets like from the toolbox decal section? Or material variants?
I’m working on a pathtracer with texture loading and one of the biggest challenges is that material variants, decals, textures, and surfaceappearances cannot load without being owned previously, but this would make everything soooo much easier if its assets from the toolbox, or assets in the place (like having meshes or images and then sharing an .rbxl file to friends.)
Can we please get this lifted for plugins? EditableImages can be created above 1024x1024 for plugins, however read/write pixels buffer is not consistent with this for plugins
EDIT: Got confirmation from staff that this limit will be removed for plugins next release!
this features allows users to make any model they want with freeform creation, and some people are not very appropriate with their creations, hence why it is restricted
They should allow uploading public assets; they’re public for a reason . I waited a long time for this improvement and really believed it would be possible, but Roblox disappointed again.