Skip to main content
Creates a smart duplicate of a Roblox instance with options to change its parent, name, position offset, and properties. Ideal for creating variations of existing objects.

Endpoint

smart_duplicate

Parameters

path
string
required
The path to the instance to duplicate.
newParent
string
Optional path to a different parent for the duplicated object. If not provided, the clone will have the same parent as the original.
newName
string
Optional new name for the duplicated object. If not provided, it will have the same name as the original.
offset
array
Optional position offset as an array of three numbers [x, y, z]. If the object has a Position or CFrame property, it will be offset by this Vector3.
properties
object
Optional key-value pairs of properties to override on the duplicated object.

Response

ok
boolean
Returns true if the duplication was successful.
path
string
The full path to the duplicated object.
name
string
The name of the duplicated object.
error
string
Error message if the operation failed.

Examples

Simple Duplicate

{
  "path": "game.Workspace.Part"
}
Response:
{
  "ok": true,
  "path": "Workspace.Part",
  "name": "Part"
}

Duplicate with New Name

{
  "path": "game.Workspace.OriginalPart",
  "newName": "CopiedPart"
}
Response:
{
  "ok": true,
  "path": "Workspace.CopiedPart",
  "name": "CopiedPart"
}

Duplicate with Position Offset

{
  "path": "game.Workspace.Part",
  "offset": [10, 0, 0]
}
Response:
{
  "ok": true,
  "path": "Workspace.Part",
  "name": "Part"
}

Duplicate to Different Parent

{
  "path": "game.Workspace.Model.Part",
  "newParent": "game.Workspace.AnotherModel",
  "newName": "MovedPart"
}
Response:
{
  "ok": true,
  "path": "Workspace.AnotherModel.MovedPart",
  "name": "MovedPart"
}

Duplicate with Property Changes

{
  "path": "game.Workspace.RedPart",
  "newName": "BluePart",
  "properties": {
    "Color": {"type": "Color3", "value": [0, 0, 1]},
    "Transparency": 0.5
  }
}
Response:
{
  "ok": true,
  "path": "Workspace.BluePart",
  "name": "BluePart"
}

Complex Duplication

{
  "path": "game.Workspace.SpawnPoint",
  "newParent": "game.Workspace.SpawnPoints",
  "newName": "SpawnPoint2",
  "offset": [0, 0, 20],
  "properties": {
    "BrickColor": {"type": "BrickColor", "value": "Really red"}
  }
}
Response:
{
  "ok": true,
  "path": "Workspace.SpawnPoints.SpawnPoint2",
  "name": "SpawnPoint2"
}

Create Grid Pattern

{
  "path": "game.Workspace.Tile",
  "newName": "Tile2",
  "offset": [10, 0, 0]
}
Response:
{
  "ok": true,
  "path": "Workspace.Tile2",
  "name": "Tile2"
}

Notes

  • The original instance is not modified
  • All descendants of the original are also cloned
  • Position offset applies to both Position and CFrame properties if they exist
  • Properties are applied after cloning but before parenting
  • For duplicating multiple objects at once, use mass_duplicate
  • The offset is added to the existing position/CFrame, not replacing it

Build docs developers (and LLMs) love