Hi everyone, some exciting news about Visual Scripting.
Today we are releasing our first experimental drop to the community. We encourage you to download the build and start experimenting but first, let me start by stating some important disclaimers:
-
Not for production use.
-
Very early picture of what VS will be, not representative of the final version.
-
You will need to be tech savvy to use this version. Not yet ready for everyone.
-
Things will change.
We share this build to be as transparent as possible with our process and get your early feedback. This is an opportunity for you to see how DOTS and Visual Scripting are evolving and participate in the discussion.
These are the features present in the current build:
-
Nodes, links and stacks - Most functionalities are present
-
Graph manipulation - Most functionalities are present
-
Blackboard - Basic version
-
Searcher - Basic version, will definitely get smarter
-
Minimap - Useful for navigating large graphs, will eventually work with Searcher
-
Code generation - C#, DOTS compatible code instantly generated from the graph. Using Live Edit will generate another instance of the code that we do not merge well at the moment.
-
Live Edit - Change the graph at runtime
-
Notes - Add customizable sticky notes to your graph
These are the features that are not yet available or that canât be used without major pains:
-
Tracing, currently broken
-
Undo/Redo, unstable - will likely crash
-
Copy/Paste between graphs, unstable - will likely crash
-
Groups, unstable
-
Variablesâ creation is not present yet. The graph (System) has to be stateless. You can store state in components or use the GetSingleton node which wraps DOTSâ EntityQuery.GetSingleton method.
-
High level nodes not yet available
Again, this is a very early release, expect glitches, bugs, weird behaviours and incomplete workflows for the current features. Other drops will follow regularly, improving with every iteration until we reach our planned preview release for 2020.1.
Here is a brief introduction to the Visual Script window:
-
Build All button: Will compile the graphs. The compiled script will appears in Assets/Runtime/VisualScripting/[GraphName].cs. Note: You donât need to click this button all the time to see your changes as weâre live editing but donât forget to compile your graph before packaging your game.
-
Code Viewer button: Will prompt a window with the generated code. The code is refreshed every time you make changes to your graph.
-
Show/Hide the mini-map.
-
Reset the blackboard to its original size.
-
Refresh UI button. Sometimes, when you connect/disconnect nodes, you can see an issue where nodes are not updated. Trigger the Refresh UI button to fix visually update the graph.
-
First, double click on the graph background to display this inspector. When checked, the system will use job when possible. If unchecked, the system will run on the main thread.
-
First, double click on the graph background to display this inspector. Then double click on the stencil ScriptableAsset to access the stencilâs inspector. A stencil is what defines a graph. In the stencilâs inspector you can manage systemâs dependencies by selecting which system runs after or before the current one.
-
Queries: This is your entity queries. In this example, we want all the entities with a Translation component.
-
Criteria: This a condition to iterate on entities. In this example we want all the entities that have a Translation component with a x value greater than 100.
Steps to test Drop 1:
1 - Download and install Unity 2019.2.0a14 win or mac (Linux will be supported at a later time)
2 - Download and unpack VisualScripting project
3 - Load the project with Unity 2019.2.0a14
4 - (Optional) If you want some samples, download and import the sample unitypackage file
If you find any major bug, you can report them in our Github repo. Please keep in mind that this is a very early version so our focus is not so much on the minor stuff yet.
Iâm sure you will have many questions, so please ask away!