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, and uses compute Shaders to simulate effects.
Requirements
For information on system requirements for the Visual Effect Graph, see Requirements and compatibility.
Installing Visual Effect Graph
To install the Visual Effect Graph package:
- Open a Unity project.
- Open the Package Manager window (Window > Package Manager).
- In the Package Manager window, in the Packages field, select Unity Registry.
- Select Visual Effect Graph from the list of packages.
- In the bottom right corner of the Package Manager window, select Install. Unity installs Visual Effect Graph into your Project.
Note: When using HDRP, VFX Graph is included with HDRP Package and doesn't need to be manually installed
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.
- Select a Template as a starting point for your new visual effect.
- Click the Create button in the bottom right corner.
It is also possible to create a Visual Effect Graph Asset from a GameObject in the scene:
- Select the GameObject and add a Visual Effect Component.
- Click on the "New" button next to the Asset Template field.
- Select a Template as a starting point for your new visual effect and click the create button.
Finally, you can create a new Visual Effect Asset from the Visual Effect Graph window.
- Open the Visual Effect Graph window in Window > Visual Effect > Visual Effect Graph.
- Click on the Create New Visual Effect Graph button.
- Select a Template as a starting point for your new visual effect and click the create button.
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 add a Visual Effect in a scene, 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 the Hierarchy, Unity attaches the Asset to a Visual Effect Component, which references the Asset.
If you created a Visual Effect Asset directly from the Visual Effect Component in the scene, as described in the previous section, everything is already set up and ready to use.
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 and see the lighting on your effect. It also allows you to attach an effect from the scene to an opened graph.
Attaching a Visual Effect from the scene to the current graph
When you attach a Visual Effect in your scene to the current graph, you can use the Control Panel and Debug Panel features for the specific target instance of your effect. This also allows Unity to display the correct gizmos in the scene, which makes some aspects of your effect easier to edit.
To attach a Visual Effect to the opened graph, you can either select the GameObject in the hierarchy, or follow these steps:
- In the matching graph, open the Auto Attach Panel from the Toolbar.
- Click on the Select a target field to select a compatible GameObject that exists in the current open scene.
Auto attach panel:
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.
- Drag and drop an element from the Blackboard into the graph.
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.