Clipboard
Two emitters in your scene should share the same fade-out behaviour, but they’re different types — one’s a Part, the other’s a Beam. They both have Transparency graphs, and you’ve drawn a beautiful curve for the Part. You want to apply the same curve to the Beam.
Or: you have ten Part emitters that should share identical Speed, Drag, and Acceleration, but you’ve only set up one of them — and you want the other nine to match.
The Clipboard tool handles both. Pick a source, choose which properties to copy, paste to one or more targets. The properties that overlap between source and target types transfer; type-specific properties (a Speed graph on transformed Part vs a Speed range on native PE) coerce or skip as appropriate.
The panel layout
Section titled “The panel layout”When you open Clipboard with a selection, the panel shows:
- Copy and Paste buttons at the top.
- A search box for filtering the property list.
- A scrollable list of toggles, one per copy-able property, organised by category (Spawning, Appearance, Movement, Shape, Flipbook, Advanced).
The toggles default to all on — every property is included in the copy. Untoggle the ones you don’t want to transfer. The list filters to only show categories relevant to the current selection’s types — selecting a Part shows Part-relevant categories; selecting a mix shows the union.
Click Copy to capture the source values from the first selected item of each applicable type. Click Paste to apply the captured values to all currently-selected items.
How copy works
Section titled “How copy works”Copy reads from the first item of each type in the selection. If you have three Parts and two Beams selected, Copy reads:
- The first Part’s values for every Part-relevant property.
- The first Beam’s values for every Beam-relevant property.
The captured values are stored in the plugin’s clipboard buffer (an in-memory map keyed by property name). The buffer persists until you Copy again or close the panel.
Each property’s value is captured as its native type — a NumberSequence graph stays a NumberSequence, a NumberRange stays a NumberRange, an enum stays an enum, etc. The clipboard doesn’t normalise across types at copy time.
How paste works
Section titled “How paste works”Paste applies the buffered values to every selected item. For each item:
- Walk the property toggles. For each one that’s checked:
- Look up the captured value in the buffer.
- Coerce the value to the type’s expected format (see “Type coercion” below).
- Write the value to the item’s property.
Items that don’t have the property are skipped. Items that have a property of a different type than what’s buffered get the coerced value if coercion is possible, or are skipped if not.
Type coercion at paste time
Section titled “Type coercion at paste time”The plugin handles a few common type mismatches:
- NumberRange ↔ number.
Trail.Lifetimeis a single number; transformed Part / Beam / PointLightLifetimeis aNumberRange. Copying a NumberRange to a Trail uses the range’s midpoint ((Min + Max) / 2) as the single number; copying a Trail’s number to a Part uses it as both Min and Max viaNumberRange.new(value). - Material enum.
Part.MaterialandMeshPart.Materialuse the same enum. Copying between them works directly. The clipboard stores the enum’s name as a string for resilience ("Plastic"), and reconstructs the enum at paste viaEnum.Material[name]. - GraphBlender states. When copying from one Beam to another, the Blender’s state list (the array of
Configurationinstances inside theGraphBlenderfolder) transfers as a unit. The target Beam’s existing states are replaced with the source’s. - Native PE Speed (
NumberRange) vs transformed Part Speed (NumberSequence). These don’t coerce — the clipboard skips when the target’sSpeedis a different type than what’s in the buffer.
For the cases that do coerce, the result is usually what you intended. For the case that doesn’t (Speed range vs sequence), the plugin silently skips that property without erroring.
Special-case properties
Section titled “Special-case properties”A few properties have unusual storage that the clipboard handles specifically:
- Material — stored on the
RenderTemplatechild Part, not directly on the source Part. The plugin reads fromRenderTemplate.Materialand writes back the same way. - Blender (Beam GraphBlender) — stored as a folder of Configuration children, not a single attribute. The clipboard captures the entire folder’s structure and rebuilds it at paste.
- EmitCount, EmitDelay, EmitDuration — stored as item-level attributes on the source instance, not in the
PartIclePropertiesConfiguration. The clipboard reads and writes them via:GetAttribute/:SetAttribute. - Native PE properties — stored directly on the PE instance. Same read/write, no Configuration indirection.
Native PE and Trail support
Section titled “Native PE and Trail support”Clipboard works between transformed and native instances when properties overlap. Copy from a transformed Part’s Color graph and paste to a native PE’s Color graph — both are ColorSequence types, so the transfer works directly. Copy a transformed Part’s Speed graph (NumberSequence) to a native PE’s Speed (NumberRange) — this skips, because the types don’t align.
The general rule: properties with matching names and matching types transfer. Properties with matching names but different types either coerce (if the plugin handles it) or skip.
Search-filtering the toggle list
Section titled “Search-filtering the toggle list”The search box at the top filters the property toggles by name. Typing “size” narrows the list to all properties with “size” in their name (SizeX, SizeY, SizeZ, BloomSize, WidthScale if it matches). The filter is case-insensitive and substring-based. Useful when you want to toggle just a handful of properties out of dozens.
When to reach for Clipboard
Section titled “When to reach for Clipboard”Clipboard is right when:
- You want to copy specific properties between emitters, with explicit control over which transfer.
- The source and target are different instances that should share values for some properties.
- You need cross-type transfers (Part → Beam for a shared Color, for example).
Other tools cover other cases:
- Whole-emitter duplication — just
Instance:Clone()the source, then re-Transform if needed. Faster than copy/paste for full structural duplication. - Bulk uniform changes — Resize, Retime, or Hue. They modify every emitter in the selection by a factor; Clipboard transfers specific values you’ve set on one source.
What’s next
Section titled “What’s next”Shifter is structurally similar to Clipboard — the same per-property toggle list — but instead of copying values, it applies arithmetic operations (+, -, ×, ÷) to the selection’s existing values.