> For the complete documentation index, see [llms.txt](https://sf-studio.gitbook.io/unity-assets/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sf-studio.gitbook.io/unity-assets/particle-architect/particle-architect.md).

# Particle Architect

## Getting Started

SF Particle Architect is designed to streamline the management, optimization, and transformation of large numbers of particle systems. Instead of manually editing individual prefabs, it provides a unified, modular interface for batch-processing complex VFX hierarchies safely and efficiently.

### The Task Pipeline

The Task Pipeline is the core workflow of Particle Architect. It provides the foundation for selecting, filtering, previewing, and modifying nested Particle Systems in bulk. Other workflows build on the same target and filter system to provide analysis and asset generation tools.

The pipeline is built around four key steps:

1. **Targets** define which prefabs or GameObjects Particle Architect should process.
2. **Filters** refine which Particle Systems within those targets should be affected.
3. **Tasks** define the changes or operations to perform on the selected Particle Systems.
4. **Preview and Execute** lets you review the planned changes before applying them.

This workflow allows you to make complex changes across large VFX hierarchies without manually editing each Particle System individually.

Other workflows build on the same **Targets** and **Filters** system to provide specialized functionality such as analysis, asset generation, and other particle system operations.

### Quick Start&#x20;

To open the **Particle Architect Editor**, use the Unity menu bar and navigate to

***`Tools --> SF Studio --> Particle Architect`***&#x20;

To perform a batch operation in seconds:&#x20;

1. **Select Workflow**: Choose a desired tab from the top dropdown (e.g., Task Pipeline).&#x20;
2. **Add Targets**: Drag your VFX prefabs or GameObjects into the Targets area.
3. **Configure Filters**: Add filters (like Name or Material) to narrow down which nested systems to target.&#x20;
4. **Configure Workflow**: Set parameters in the workflow-specific sections (e.g., adding a Clamp Max Particles task).&#x20;
5. **Execute**: Preview your changes in the Dry Run report, then click Execute.

<figure><img src="https://1768978493-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoHMXMLrMMZkN8ZwgNSjQ%2Fuploads%2FOwn2Md3Jy8oQs7Lzyojb%2Fpa_getting-started.png?alt=media&amp;token=eecb4d55-e3c5-47d6-b3c7-77669cc6ad8d" alt="" width="551"><figcaption></figcaption></figure>

### Core Concepts

#### Workflows

The UI is organized around specialized workflows categorized into Operations, Analysis, and Asset Tools. Each workflow represents a specific intent, such as auditing memory footprint, generating texture atlases, or bulk-editing properties.

#### Targets

Targets define your base dataset the selected workflow will operate on. When you drag a prefab or GameObject into the targets list, Particle Architect recursively scans the entire hierarchy for particle systems. Targets are shared globally, meaning your selection remains active as you switch between different workflows.

#### Particle Systems & Nested Hierarchies

Most workflows operate on individual `ParticleSystem` components. If a targeted prefab contains a complex hierarchy of 10 nested particle systems, Particle Architect treats each one as a unique entry that can be independently filtered and modified.

#### Filters

Filters allow you to refine your selection within your target hierarchies. For example, you can use a filter to target only systems with a specific material or only those whose name contains "Explosion". Like targets, **filters are globally shared** across all compatible tabs.

#### Preview and Execution

Safety is a core principle of the tool. Most destructive operations provide a Dry Run preview. This generates a hierarchical report showing exactly which properties will change (Old Value → New Value) before any data is modified. All executions are registered with Unity’s Undo system.
