Getting started with Visual Effect Graph
This page shows you how to install Visual Effect Graph, and gives a brief overview of how to create, edit, and preview effects with Visual Effect Graph. For an overview of how the graph works, see Graph Logic and Philosophy. Visual Effect Graph is a Unity package that uses a Scriptable Render Pipeline to render visual effects. Visual Effect graph uses on compute Shaders to simulate effects.
- Unity 2018.3 or newer. Verified packages start at Unity 2019.3.
- A Scriptable Render Pipeline package:
Note: When you download the High Definition Render Pipeline package from Package Manager, Unity automatically installs the Visual Effect Graph package.
- A target device that can use compute Shaders, such as aWindows PC, Playstation 4, XBox One, or Mac running MacOS.
Installing Visual Effect Graph
To install the Visual Effect Graph package:
- In the Unity Editor, go to Window > Package Manager. In the top navigation bar, make sure All packages is selected.
- Note: On version prior to Unity 2019.3, you will have to check the "Show preview packages" "Advanced" option for the Visual Effect Graph to appear in the list.
- Select the Visual Effect Graph package.
- In the bottom right corner, click Install.
Using the correct version of Visual Effect Graph
Every Visual Effect Graph package works with a Scriptable Render Pipeline package of the same version. If you want to upgrade the Visual Effect Graph package, you must also upgrade the render pipeline package that you’re using.
For example, the Visual Effect Graph package version 6.5.3-preview in Package Manager works with the High Definition RP package version 6.5.3-preview.
Creating Visual Effect Graphs
To use Visual Effect Graph, you must first create a Visual Effect Graph Asset .
To create a Visual Effect Graph Asset:
- In Unity, click Assets > Create > Visual Effects > Visual Effect Graph.
To make a copy of a Visual Effect Graph Asset:
- In the Project window, select the Visual Effect Asset you want to make a copy of.
- In the top navigation bar, select Edit > Duplicate. You’ve now created a copy.
Using Visual Effect Graphs in Scenes
To use a Visual Effect Graph, you must add a Visual Effect to the Scene.
To do so, you can:
- Drag and drop a Visual Effect Graph Asset from the Project Window into the Hierarchy Window.
When you drop the Asset on an existing GameObject, this adds a new child GameObject with a Visual Effect Component, and assigns the graph to it.
When you drop the Asset on an empty space, Unity creates a new Visual Effect GameObject and assigns the graph to it.
- Drag and drop a Visual Effect Graph Asset from the Project Window to the Scene View Window. This makes the graph appear in front of the Camera.
When you’ve added the Visual Effect Graph Asset to you Hierarchy, Unity attaches the Asset to a Visual Effect Component, which references the Asset.
Editing a Visual Effect Graph
To edit Visual Effect Graph Assets in the Visual Effect Graph window :
- Open the Visual Effect Graph window (menu: Window_ > Visual Effects) with an empty graph. This prompts you to open a Visual Effect Graph Asset.
- Select an existing Visual Effect Graph Asset, and click the Edit button in the Inspector. This opens the Visual Effect Graph window with the graph contained in this Asset.
- Select the Visual Effect component (menu: next to the Asset template, click Edit). This opens the Visual Effect Graph window and with the graph contained in the referenced Asset.
Previewing a graph’s effect
To preview an effect, you can:
Select a Visual Effect Graph Asset and use the Inspector Preview window.
Place your effect directly in the Scene as a Visual Effect GameObject.
This lets you edit parameters directly in the Scene, see the lighting on your effect, and use the Target GameObject Panel features for the specific target instance of your effect.
Manipulating graph elements
When you open an Asset inside the Visual Effect Graph window, you can see and edit the graph for that specific Asset.
A Visual Effect Graph contains Operator Nodes and Blocks. Each Node is in charge of processing its input properties. You can link Nodes together to perform a series of calculations. All Nodes end up connecting into a Block (or a context) : A Block defines an operation on an effect, based on its input properties.
When you link several Blocks together, these form a context. For more information about Nodes, Blocks, and contexts in the Visual Effect Graph, see Graph Logic.
Every change you make to a graph has immediate consequences on the behavior of your effect, and you can preview the changes in real time. Every time you add, remove, or connect a Node, the graph recompiles all the elements that have changed, and restarts the effect. However, changing values (for example, editing a curve) does not make Unity recompile anything and affects the simulation in real time. To add Nodes, you can either:
- Right-click in the graph, and select Create Node.
- Press the spacebar on your keyboard.
- Click and drag an edge from an existing port, and release the click in an empty space.
When you do any of the above actions, the Create Node menu appears. Here, you can see the Nodes, Blocks, and contexts that are compatible with that specific location in the graph.