Skip to main content

Overview

RbxGenie provides mass_* variants of several tools for efficient batch operations. These tools process multiple items in a single call, reducing overhead and improving performance when working with many instances.
Bulk operations process items sequentially. Each item’s result is independent, so one failure won’t prevent others from processing.

Mass Set Property

Set the same property on multiple instances at once.

Basic Usage

{
  "paths": [
    "Workspace.Part1",
    "Workspace.Part2",
    "Workspace.Part3"
  ],
  "property": "Transparency",
  "value": 0.5
}

Complex Properties

{
  "paths": [
    "Workspace.RedZone.Part1",
    "Workspace.RedZone.Part2",
    "Workspace.RedZone.Floor"
  ],
  "property": "Color",
  "value": {
    "type": "Color3",
    "value": [1, 0, 0]
  }
}

Handling Partial Failures

{
  "paths": [
    "Workspace.Part1",
    "Workspace.NonExistent",
    "Workspace.Part3"
  ],
  "property": "Anchored",
  "value": true
}
Check the ok field for each result to identify which operations succeeded or failed.

Mass Get Property

Retrieve the same property from multiple instances.
{
  "paths": [
    "Workspace.Part1",
    "Workspace.Part2",
    "Workspace.Part3"
  ],
  "property": "Position"
}

Collect Data for Analysis

{
  "paths": [
    "Workspace.Window1",
    "Workspace.Window2",
    "Workspace.Window3",
    "Workspace.Window4"
  ],
  "property": "Transparency"
}

Mass Create Objects

Create multiple instances in one operation.

Simple Creation

{
  "items": [
    { "path": "Workspace", "className": "Part" },
    { "path": "Workspace", "className": "Part" },
    { "path": "Workspace", "className": "Part" }
  ]
}

Create in Different Locations

{
  "items": [
    { "path": "Workspace.Zone1", "className": "Part" },
    { "path": "Workspace.Zone2", "className": "Part" },
    { "path": "ReplicatedStorage", "className": "Folder" }
  ]
}

Mass Create with Properties

Create multiple configured instances efficiently.

Create Colored Parts

{
  "items": [
    {
      "path": "Workspace",
      "className": "Part",
      "properties": {
        "Name": "RedPart",
        "Color": { "type": "Color3", "value": [1, 0, 0] },
        "Position": { "type": "Vector3", "value": [0, 5, 0] },
        "Anchored": true
      }
    },
    {
      "path": "Workspace",
      "className": "Part",
      "properties": {
        "Name": "BluePart",
        "Color": { "type": "Color3", "value": [0, 0, 1] },
        "Position": { "type": "Vector3", "value": [10, 5, 0] },
        "Anchored": true
      }
    },
    {
      "path": "Workspace",
      "className": "Part",
      "properties": {
        "Name": "GreenPart",
        "Color": { "type": "Color3", "value": [0, 1, 0] },
        "Position": { "type": "Vector3", "value": [20, 5, 0] },
        "Anchored": true
      }
    }
  ]
}

Create Scripts in Batch

{
  "items": [
    {
      "path": "ServerScriptService",
      "className": "Script",
      "properties": { "Name": "PlayerJoinHandler" },
      "source": "game.Players.PlayerAdded:Connect(function(player)\n\tprint(player.Name, 'joined')\nend)"
    },
    {
      "path": "ServerScriptService",
      "className": "Script",
      "properties": { "Name": "PlayerLeaveHandler" },
      "source": "game.Players.PlayerRemoving:Connect(function(player)\n\tprint(player.Name, 'left')\nend)"
    }
  ]
}

Mass Duplicate

Duplicate multiple instances at once.

Simple Duplication

{
  "paths": [
    "Workspace.Template1",
    "Workspace.Template2",
    "Workspace.Template3"
  ]
}

Duplicate to New Parent

{
  "paths": [
    "ReplicatedStorage.Weapon1",
    "ReplicatedStorage.Weapon2",
    "ReplicatedStorage.Weapon3"
  ],
  "newParent": "Workspace.Arsenal"
}

Duplicate with Offset

{
  "paths": [
    "Workspace.TemplatePart",
    "Workspace.TemplatePart",
    "Workspace.TemplatePart"
  ],
  "offset": [10, 0, 0]
}
Each duplicate will be offset by the specified vector. The offset applies to both Position and CFrame properties.

Common Patterns

Initialize Multiple Objects

Combine creation and property setting for efficient setup:
  1. Use mass_create_objects_with_properties to create configured instances
  2. Follow up with mass_set_property if you need to adjust anything

Clone Template Multiple Times

  1. Create a template instance with desired properties
  2. Use mass_duplicate to create multiple copies
  3. Use mass_set_property to customize each copy

Bulk Property Modifications

  1. Use search_objects or get_tagged to find target instances
  2. Extract paths from results
  3. Use mass_set_property or mass_get_property

Performance Considerations

While bulk operations are efficient, avoid processing thousands of items in a single call. Consider breaking very large operations into multiple batches of 50-200 items.
Each item in a bulk operation is processed independently. Check the response for per-item success/failure status.
When using mass_set_property, ensure all target instances support the property you’re setting. Unsupported properties will fail for those instances.
Bulk operations generate a single undo waypoint, allowing you to revert all changes with one undo action.

Next Steps

Basic Operations

Learn single-instance operations

Best Practices

Follow recommended patterns

Build docs developers (and LLMs) love