Creator Guide

Link Sets: Multi-Part Objects

Real creations are rarely a single shape. A table is a top and four legs. A door is a panel and a frame. Link sets let you join multiple prims into one object that moves, copies, and behaves as a single unit.

Linking is the act of combining two or more prims into a single link set. Once linked, the whole group moves together, rotates together, and can be copied or deleted as one thing. Scripts inside linked prims can talk to each other directly, which is the foundation of interactive multi-part objects like doors, vehicles, and gadgets.

Linking is non-destructive. You can always unlink a set back into its individual parts. Nothing about the original prims changes -- they just stop being grouped.

Why Linking Matters

Without linking, every prim is independent. That means:

Move everything at once

Imagine building a chair from five prims -- a seat and four legs. Without linking, moving the chair means selecting and moving all five pieces individually, keeping them aligned by hand. With linking, you grab the chair and drag it. All five pieces move together, maintaining their exact relative positions.

Scripts can communicate between parts

A door needs two things: the panel that swings open, and the frame it sits in. A script in the frame can tell the panel to open. A lock button on the wall can send a message to the door. This inter-part messaging only works between prims in the same link set.

One object, one identity

A linked set has a single name, a single owner, and a single set of permissions. You can give someone a "Table" rather than five separate unnamed prims. You can sell it, trade it, or put it in your inventory as one item.

How to Link and Unlink

Linking

  1. Enter build mode and select your first prim by clicking it.
  2. Hold Shift and click each additional prim you want to include. Each one highlights as you add it to the selection. You can select as many as you like.
  3. Press Ctrl+L to link them. The prims merge into a single link set. A selection highlight appears around the entire group.

Unlinking

  1. Select the linked object by clicking any part of it.
  2. Press Ctrl+Shift+L to unlink. The set breaks apart into individual prims. Each prim stays exactly where it was -- nothing moves, they just stop being grouped.

Root Prim and Child Prims

Every link set has exactly one root prim and one or more child prims. The root is the "brain" of the object -- its position defines where the object is, its name is the object's name, and its permissions govern the whole set.

Table (root -- link 1)
  |
  +-- Leg A (child -- link 2)
  +-- Leg B (child -- link 3)
  +-- Leg C (child -- link 4)
  +-- Leg D (child -- link 5)

A table link set: the tabletop is the root, the four legs are children.

Which prim becomes root?

The last prim you select before pressing Ctrl+L becomes the root. This is important because:

Choosing Your Root Wisely

Think about which prim is the most important or central part of your creation. For a table, the tabletop is a natural root. For a door, the frame is usually the root (since it stays still while the panel swings). For a vehicle, pick the main body -- the part everything else attaches to.

Link Numbers

Every prim in a link set is assigned a link number. These numbers are how scripts refer to specific parts of the object.

Link 1
Always the root prim. The anchor of the set.
Link 2, 3, 4...
Child prims, numbered in the order they were linked.
Link 0
Special: means the prim is not linked to anything. A standalone object.

Scripts use link numbers to target specific prims. A script in the root can say "change link 3 to red" and only that specific child changes. A script in a child can send a message to the root by targeting link 1. There are also shortcuts:

Selecting Within a Link Set

When you click a linked object in build mode, you select the entire set. The Build Panel shows the root prim's properties, and the gizmo moves the whole object.

To select an individual child prim within the set, hold Shift and click that specific part. The Build Panel switches to show that child's properties -- its name, color, shape parameters, and so on. The gizmo now moves only that child within the set, leaving everything else in place.

This is how you fine-tune individual parts after linking. Adjust a table leg's position, change one wall panel's color, or resize a single button on a control panel -- all without unlinking.

Practical Examples

A Simple Table

Build a flat box for the tabletop. Build four narrow boxes for the legs. Position the legs under the corners of the top. Select all four legs first (Shift+click each one), then Shift+click the tabletop last. Press Ctrl+L. The tabletop is the root because it was selected last. Name it "Table" in the Own tab. Done -- you have a table you can move, copy, and share as one object.

A Scripted Door

Build a box for the door frame and another box for the door panel. Position the panel inside the frame. Select the panel first, then Shift+click the frame. Press Ctrl+L. The frame becomes root (selected last). Put a script in the frame that listens for a click, then sends a message to link 2 (the panel) telling it to rotate open. The panel's script receives the message and swings.

A Multi-Color Sign

Build a large flat box for the sign background. Build smaller boxes or planes for decorative borders or mounting brackets. Paint each piece a different color. Link them all together with the sign face as root. Now you have a single "Sign" object that you can place anywhere, and all the pieces stay perfectly aligned.

A Vehicle

Build the body, wheels, seats, and any decorative parts as separate prims. Position everything where it belongs. Select all the parts, with the main body selected last (making it root). Link. A driving script in the root prim controls the whole vehicle. It can send messages to the wheel prims to spin them, to the seat prims to pose sitting avatars, and to lights to turn them on and off.

What Happens When You Link

Linking does not change any prim's shape, color, or script. It only creates a relationship between them. Here is what changes and what stays the same:

Stays the same
Each prim keeps its shape, size, color, textures, material, scripts, and contents. Nothing about the individual prims is altered.
Changes
The prims now move as a group. Each child's position is stored as an offset from the root. The object takes on the root's name and permissions.
New capability
Scripts can now send messages between prims in the set. This is the primary way multi-part objects coordinate behavior.

How Scripts Talk Between Parts

Once prims are linked, scripts inside them can communicate using link messages. This is the most important scripting feature that linking enables. A link message contains:

This messaging system is scoped to the link set. Scripts in other objects cannot eavesdrop or interfere. It is private, fast, and the standard way to build interactive multi-part objects.

Builder Tips