As a Roblox developer, it is currently not efficient to bulk resize parts.
Following from the recently introduced BulkMoveTo function (WorldRoot | Documentation - Roblox Creator Hub), it would be nice to also have a BulkResize function, which would resize all parts to the given sizes without triggering events.
This would be immensely useful for efficient model rescaling, for example.
Do you have any examples where you need to resize parts en mass? Features are generally driven by need, and I can’t think of any uses for this off the top of my head.
There are a ton of uses for resizing a large number of parts. Many special effects require resizing anywhere from dozens to hundreds of parts. It would be used in many of the same cases as BulkMoveTo.
In my use case this would be really helpful for sizing multiple different parts all under the same rig of sorts.
I already use BulkMoveTo because of the performance boost from lack of changed events. I do a lot of instance Size/CFrame manipulation (thousands of Instances) every second.
I had someone in need of creating their own cloud system, and resizing 1,000+ meshes accounts for a large portion of performance issues in the system. From actual benchmarks, the computation at the rate of 60/s results in 3-5% of client script activity, as soon as Size begins to get set to a new Vector3 value, the client script activity raises up to around 10-12%. I believe that adding BulkResize method would drastically improve performance of systems like this.
Bumping this because this is really needed for acceptable performance when mass resizing. In a project I’m doing, I need to resize and reposition 300+ parts every few frames, and the sizing is taking a large percentage of the workload.
Would love to see this feature for my 3d vfx system, hundreds of parts have their CFrame, Size and Transparency (sometimes Color as well) changed every frame. Just found out about BulkMoveTo() and would love to see more of these super fast Bulk functions!
I’ll have to bump this, this is ESSENTIAL for visual effects based on parts, here are some examples which I have come across myself:
3D particles / Mesh particles:
Systems like these update large amounts of part properties at once, especially the size property, which can degrade performance by a huge margin unless we have an efficient function to update them in bulk.
Environmental destruction / debris systems:
These are widely used in Roblox games (especially in games like “The Strongest Battlegrounds”) for explosions, breaking parts of in-game environments (walls, floors, etc.) and creating debris on impacts.
Without a function like BulkResize, it’s extremely difficult to optimize resizing dozens of parts in real-time, and this can limit visual creativity by quite a bit.
I’ve also had a drastic increase in performance when working on a system like this when I switched to using WorldRoot:BulkMoveTo, the largest bottleneck for it right now is changing part sizes, here’s an example of the massive delay that updating size comes with, compared to BulkMoveTo:
Keep in mind, the same exact amount of parts are being updated here.
These are only some of the possible issues developers have to deal with, and I think the WorldRoot:BulkResize function would be super beneficial in achieving consistent performance in large-scale games, especially ones with a focus on 3D visuals or destruction like in the examples I provided above.