Systems | Package Manager UI website
docs.unity3d.com
    Show / Hide Table of Contents

    The visual effects system relies on a modular flow design where processing is described through states. Systems are composed by chaining Contexts which contains dedicated behavior Blocks. Every context type has its own specific properties and using a block in one state or another can be used to achieve different results.

    Systems

    Systems are generally composed of a top-to-bottom chain of contexts that follows this order :

    Contexts

    Contexts represent states of processing through Visual Effect Systems, they have their own behavior depending on their type, and most of them can hold one or many blocks.

    They are connected vertically by flow connections, from top to bottom. Here is a list of commonly used contexts, for more information see the Contexts section.

    Context Name Description Input Output
    Event Event exposed to the Component, can be triggered by C# SpawnEvent
    GPU Event Event caught by other systems SpawnEvent
    Spawn Toggleable machine that outputs SpawnEvents over time using specific behavior. SpawnEvent SpawnEvent
    Initialize Generate N new particles with attributes from a SpawnEvent (CPU or GPU) and injects them into simulation SpawnEvent Particles
    Update Update loop of a particle simulation, takes input of new generated particles. Particles Particles
    Output Renders particles with a specific renderer and shader. Particles
    Static Mesh Renders a static mesh with a shader and transform, with shader properties exposed to the expression Graph

    Blocks

    Blocks are one of the modular processing power of the visual effect editor : they are small chunks of features that can be added to contexts to process a specific task. They are held in a library that can be extended by writing new blocks.

    Manipulating Blocks

    • Blocks can be added to a context by right clicking the context then selecting Create Block from the menu or pressing the Spacebar while having the cursor over the context.
    • The block creation menu can be navigated through categories and/or filtered using the search field.
    • Blocks can be dragged and reordered among one context, or dragged to another compatible context.
    • Blocks can be duplicated, copied, pasted and deleted.

    Block overview

    Blocks are composed of a Header, a Settings area and a property area.

    • Header is the area where you can click to drag around the block. It contains the following:
      • Block title (corresponding to the current configuration)
      • Toggle checkbox to disable the block.
      • UI Collapse button
    • Settings area is where you can staticly configure the block. (please note that not all settings are necessarily in this area, some can be accessible in the inspector)
    • Properties area is where you can enter values or connect operators to configure the block's values.

    There is a large number of blocks you can add and a even larger amount of combinations you can achieve using these. For more details about blocks and the library contents : see the Blocks section of the help.

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023