AppleyAppley Docs
Docs/Learning Paths

Duplicating Objects

Copy and duplicate objects to build scenes quickly.

21 min read Beginner Updated 2026-07-01 v2.0 ~59 min to complete

Introduction

Duplicating objects is essential for building scenes efficiently. Instead of creating each object from scratch, duplicate and modify. This tutorial covers all duplication methods.

Tutorial 13 of 18

This is part of the Beginner Learning Path. Estimated completion time: 59 minutes. Difficulty: Beginner.

Screenshot

Duplicating Objects
Duplicating Objects

Step-by-Step Guide

1

Select an object

Click the object you want to duplicate in the viewport or hierarchy.

2

Use Ctrl+D

Press Ctrl+D (or Cmd+D on Mac) to duplicate. The copy appears at the same position, slightly offset.

3

Copy and Paste

Alternatively, use Ctrl+C to copy and Ctrl+V to paste. This lets you duplicate between scenes.

4

Duplicate with transform

After duplicating, immediately move the copy to its new position. The original stays in place.

5

Array duplicate

For repeated objects (like fence posts), use the Array tool: set count, axis, and spacing to create a row of copies.

6

Instance vs Copy

By default, duplicates share the same mesh and material (instances). Use "Deep Copy" for independent materials.

FluxScript Example

Here is the FluxScript (Appley Scripting) code for this tutorial:

Duplicating Objects — FluxScript
// Duplicate objects programmatically
on start {
  // Clone a single object
  original = scene.find("TreePine")
  if original != null {
    clone = original.clone()
    clone.setPosition(5, 0, 0)
  }
  
  // Create a row of trees using a loop
  for i = 0 to 10 {
    tree = original.clone()
    tree.setPosition(i * 3, 0, 0)
    tree.setRotation(0, math.random(360), 0)
    tree.setScale(
      0.8 + math.random(0.4),
      0.8 + math.random(0.4),
      0.8 + math.random(0.4)
    )
  }
}

Node Script Equivalent

Prefer visual programming? Here is the same logic as a Node Script graph:

Duplicating Objects — Node Graph
[On Start] ──► [Find: "TreePine"]
         ──► [Branch: Not Null]
              ├─ True ──► [Clone] ──► [Set Position: (5,0,0)]
              └─ False ──► (skip)
         ──► [For 0 to 10] ──► [Clone: original]
                            ──► [Set Position: (i*3, 0, 0)]
                            ──► [Set Rotation: random Y]
                            ──► [Set Scale: random 0.8-1.2]

Pro Tip

Use the clone() function with random rotation and scale variation to create natural-looking forests, crowds, and debris fields. Identical duplicates look artificial.

Watch Out

By default, cloned objects share the same material instance. Changing the material on one clone changes it on all. Use material.copy() for independent materials.