Skip to main content

Description

Performs multiple smart duplication operations in a single batch. This tool allows you to duplicate several different objects simultaneously, each with their own duplication count and options.

Parameters

duplications
array
required
Array of duplication operations to perform. Each operation follows the same schema as smart_duplicate.

Example

{
  "duplications": [
    {
      "instancePath": "game.Workspace.Obby.Level_01.Platform_01",
      "count": 5,
      "options": {
        "namePattern": "Platform_{n}",
        "positionOffset": [0, 0, -15],
        "propertyVariations": {
          "BrickColor": ["Bright red", "Bright blue"]
        }
      }
    },
    {
      "instancePath": "game.Workspace.Obby.Level_01.KillBrick_01",
      "count": 3,
      "options": {
        "namePattern": "KillBrick_{n}",
        "positionOffset": [0, 0, -20]
      }
    },
    {
      "instancePath": "game.Workspace.Templates.Checkpoint",
      "count": 4,
      "options": {
        "namePattern": "Checkpoint{n}",
        "targetParents": [
          "game.Workspace.Obby.Level_01",
          "game.Workspace.Obby.Level_02",
          "game.Workspace.Obby.Level_03",
          "game.Workspace.Obby.Level_04"
        ]
      }
    }
  ]
}

Use Cases

  • Building multiple level sections simultaneously
  • Creating parallel obstacle courses
  • Duplicating different object types across multiple levels
  • Batch creating game elements with different configurations
  • Automating complex level generation workflows
  • Creating multiple patterns at once (platforms, obstacles, decorations)

Performance Notes

This tool is optimized for batch operations. Using mass_duplicate to perform 10 duplication operations is significantly faster than making 10 separate smart_duplicate calls.

Example Use Case: Building Multiple Levels

Create platforms, obstacles, and checkpoints for 3 levels simultaneously:
{
  "duplications": [
    {
      "instancePath": "game.Workspace.Templates.MainPlatform",
      "count": 10,
      "options": {
        "namePattern": "Platform{n}",
        "positionOffset": [0, 0, -15]
      }
    },
    {
      "instancePath": "game.Workspace.Templates.MovingObstacle",
      "count": 5,
      "options": {
        "namePattern": "Obstacle{n}",
        "positionOffset": [0, 0, -30]
      }
    },
    {
      "instancePath": "game.Workspace.Templates.Checkpoint",
      "count": 3,
      "options": {
        "namePattern": "CP{n}",
        "positionOffset": [0, 0, -50]
      }
    }
  ]
}

Build docs developers (and LLMs) love