[Studio Beta] EditableMesh Batching APIs & Parallel Queries
Key Takeaways:
EditableMesh APIs now support Parallel Queries and Batching APIs that make mesh editing significantly faster.
These improvements are now available in Studio Beta [File > Beta Features > EditableMesh Batching]
Hi Creators,
We’re announcing two major Studio Beta upgrades to EditableMesh that make mesh editing significantly faster:
• Parallel queries: Every EditableMesh query method can now be safely called from parallel Luau, so you can spread expensive read work (raycasts, closest-point lookups, spatial queries) across multiple threads.
• Batching APIs: Nine new methods that let you create, read, update, and remove mesh elements in bulk instead of one call per element. Available now as a Studio Beta.
FPS comparison of using batch API vs. existing API
Enabling the Studio Beta
In Studio, go to File > Beta Features and check the box for EditableMesh Batching. Restart Studio for the new methods to become available.
1538×962 58.1 KB
Parallel Queries
All of EditableMesh’s query methods — such as RaycastLocal(), FindClosestPointOnSurface(), FindClosestVertex(), and the various Get* accessors — are now safe to call from parallel Luau.
This means you can distribute heavy read workloads across Actor instances and run them concurrently after calling task.desynchronize(). A common use case is casting thousands of rays against a mesh for procedural placement, sampling, or custom collision: split the work across Actors and each one queries the same mesh in parallel.
Read/query only. Only query methods are parallel-safe. Any method that modifies the mesh (adding, removing, or setting attributes) must still run in serial — call task.synchronize() before mutating.
Click here to view a code sample
-- Script parented under an Actor. Each Actor runs this in parallel.
local actor = script:GetActor()
local direction = Vector3.new(0, -1, 0)
actor:BindToMessage("StartWork", function(origins, samp…