Script Equivalent Of Studio Scale Tool

As a Roblox developer, it is currently too hard to programmatically scale objects as well as the Scale Tool in Roblox Studio.

Problems With Current Solutions

One of the most frequent questions on this forum relates to how to scale an object programmatically in a script. There are many posted solutions, but none are as robust as the Scale Tool in Roblox Studio. The current posted solutions are incomplete and have issues such as:

  • Not supporting recent technologies such as the Pivot Point.
  • Not supporting non-uniform scaling.
  • Not supporting all object types.
  • Not supporting rigs with humanoids.
  • Not supporting JointInstances, such as Welds.
  • Not supporting Unions.

Roblox Studio Does It Best

The Scale Tool in Roblox Studio seems to be the one tool that does this correctly for all cases. So why not provide the same functionality programmatically via a script or API.

Use Cases

Judging by the number of times questions about scaling comes up, this is certainly a hot topic with developers. The use cases are widespread for all types of games. Any game that needs objects at different scales can benefit. Procedural generated maps or content is another example of a common use case.

If Roblox is able to address this issue, it would improve my development experience because there would be a quick, trustworthy, and robust method of scaling objects programmatically that works as well as the Scaling Tool in Roblox Studio.

6 Likes

If you didn’t know already, the source code for the Scale Tool (and most of the plugins in studio) are available on your local machine at %APPDATA%/Local/Roblox/versions/{studio version}/BuiltInPlugins. You can the modify the Lua modules from the scale tool to work with your scripts or just outright convert the whole plugin (which I’m currently doing for my studio-in-roblox game). If you search for the script “ExtrudeHandlesImplementation”, this is what does most of the legwork when it comes to scaling the actual parts. Hope this helps.

1 Like