Keybinds for Union Operations in Roblox Studio

If you're doing serious level design or prop work in Roblox Studio, clicking through the menu every time you need to make a union is slow. The default keybindings don't include much for CSG operations, so most people who do this regularly end up setting up custom binds or using third-party tools. Here's how the whole thing works in practice. Roblox Studio has a built-in keybinding editor under File > Settings > Keybindings. The problem is that CSG operations aren't always exposed there by default. You'll find things like the Union tool itself on the Home tab, but there's no pre-assigned hotkey for "Select All Parts and Union." What most people actually end up doing is using the Command Bar or the Developer Console to fire off the operation programmatically. I wrote a small script that runs from the Command Bar:

local selected = game.Workspace.Selection
if #selected >= 2 then
    local union = Instance.new("UnionOperations")
    union.UnionType = Enum.UnionType.Union
    union.Parent = game.Workspace
    for _, v in ipairs(selected) do
        local part = Instance.new("Part")
        part.FormFactor = Enum.FormFactor.Custom
        part.Size = v.Size
        part.CFrame = v.CFrame
        part.Transparency = v.Transparency
        part.Color = v.Color
        part.Material = v.Material
        union.UnionOperation = v
    end
end

That's the rough idea, though it's messy and not production-ready. The cleaner approach is using a plugin. The native union workflow in Roblox Studio requires you to select multiple parts, go to the Model tab, and click Union. It works fine if you're doing one union per session. It gets painful fast when you're building a map with dozens of CSG operations. The selection state also doesn't survive certain edit modes. I spent about forty minutes once trying to union a group of parts only to realize the Tool palette had reset my selection because I'd switched to Edit mode mid-click. Nothing wastes time like that. Another issue nobody warns you about: unions change the vertex topology of your mesh. If you're working on a build that already uses careful mesh optimization, creating unions will increase poly count in unpredictable ways. I learned this the hard way when a client complained about FPS drops on mobile after I unioned a decorative archway. The arch looked clean in Studio but the mesh data was roughly three times denser than the original individual parts.

What Actually Works Well

Plugins are the real solution here. There are several on the Roblox Creator Hub that add custom keybindings for CSG operations. The ones worth looking at are Unionify and CSgTools. Both let you assign hotkeys through their own settings panels. I've been using CSgTools for about two years and its keybind system is the most straightforward I've found. You assign a key to "Union Selected" and it just works. No command bar nonsense. The tradeoff is that plugins don't always update for every Studio version. When Roblox pushes a major editor update, your keybinds can silently break for a week or two until the plugin author patches it. I hit this with Unionify last year after the June 2024 Studio release. The plugin still loaded but the hotkey fired the wrong operation. I had to manually reassign every bind. Setting up custom keybinds in Studio itself has the same vulnerability. It's just less visible because there's no third party involved.

Get the Full Details

How to make a KEYBIND SYSTEM in ROBLOX STUDIO (#30) - YouTube
How to make a KEYBIND SYSTEM in ROBLOX STUDIO (#30) - YouTube

Union Keybind Roblox Studio Custom Configuration

If you want to avoid plugins entirely, you can use Roblox's macro system. Go to File > Settings > Macros. This is buried and not well documented, but it lets you record a sequence of actions and assign it a key. Here's the sequence for a union: Recording that as a macro and binding it to something like Ctrl+Shift+U gives you a persistent keybind that survives plugin updates and Studio reinstalls. The downside is that macros don't handle edge cases gracefully. If you have zero parts selected, the macro still runs and does nothing. If you have three parts selected but one of them isn't a BasePart, the macro crashes the operation. You have to be careful about when you trigger it. CSG operations in Roblox have a known limitation with non-manifold geometry. If two parts share an exact coplanar face before you union them, the resulting mesh can have zero-area faces. These don't show up as errors in Studio but they cause rendering artifacts in-game, especially on mobile devices. The workaround is to slightly offset the overlapping faces before unioning. Even a difference of 0.01 studs is enough. It's annoying to do manually across a large build, which is why I recommend automating that step inside your plugin or macro.

There's also the TransformsAndBooleans ordering problem. Roblox applies booleans in a specific render order and certain combinations of unions and holes produce incorrect results depending on the part hierarchy. I've seen this happen when importing assets from Blender that were already unioned externally. The internal union in Roblox doesn't respect the original face normals correctly. The fix is to break the imported union back into individual parts, clean up the normals, and then redo the union inside Roblox. It takes extra time but prevents subtle visual glitches that are nearly impossible to debug later.

Bottom Line

Custom keybindings for union operations save maybe ten to fifteen seconds per union after setup time. If you're doing heavy CSG work daily, that adds up. The most reliable path is a maintained plugin with its own keybind system. The macro route works if you're okay with manual checking. The native Studio keybinding editor simply doesn't expose CSG operations cleanly, which is why most people end up somewhere between the two approaches anyway. If you want a direct starting point, search for "CSgTools" or "Unionify" in the Roblox Studio Plugin marketplace. Both are free. Install one, assign your union hotkey, and test it on a small selection before committing to a full project. That last step alone will save you from a few headaches.

How to use UNION and NEGATE in Roblox Studio! - YouTube
How to use UNION and NEGATE in Roblox Studio! - YouTube