DOTS Visual Scripting Experimental Drop 11

Hi all,

My name is Laurent, I am jumping in this time around to publish this post about the latest drop of DOTS Visual Scripting. You may have seen me in discussions related to Bolt like this one . The reason I am joining the party over here is to help progressively define the necessary synergy between our Visual Scripting solutions.

Many questions have been asked about the next steps for Visual Scripting, how will DOTS Visual Scripting and Bolt play a role moving forward. We are working at defining this, so no definitive answer today, but be aware we understand this is an important issue, and we are committed to provide clarity as soon as possible.

In the meantime, we are happy to share a new drop of DOTS Visual Scripting.

Disclaimer
We are providing this work-in-progress version of DOTS Visual Scripting to engage in an open discussion with the community, collect feedback, and use it to build a better final product. This version may contain issues and unexpected behaviors, and as such we want to remind you that:

  • This version is not ready for production,
  • The workflow and user experience will change,
  • The data compatibility with future drops is not guaranteed.

What’s new
We are now using Unity 2020.1 since it has been made available.

  • Placement tools

  • Alignment tool

  • Node snapping tools

  • Snap to grid

  • Snap to port

  • Snap to node

  • Mouse position + Normalized position nodes

  • Load Scene node

  • Blackboard variables in searcher

Known issues / Limitations
Using custom input action assets will throw errors at runtime if there is no MousePosition action.

How to get started

  • Unity version: 2020.1.0f1

  • You can download the sample project, load the 00_Example scene and hit Play.

  • To get DOTS Visual Scripting package in any project add the following line to the project manifest: "com.unity.visualscripting.entities": "0.4.0-preview.1"

Thank you in advance for your feedback, this is critical to build the right product.

10 Likes

What a pleasant surprise, let’s test:smile:

I liked the new type of alignment, but it could be automatic, right?:eyes: as in photoshop where we can align a certain image up or down (But here we would align with the nodes)

But it’s really a good addition:)

I don’t know what is written there, because the text is simply invisible (Light Theme)

6172444--675541--upload_2020-8-5_13-40-12.png

Note that the buttons on the bar are almost invisible, you can’t understand what they are for (and the map also has the same problem):frowning:

And I still don’t like this white one on the right side of the screen, it is only used on some nodes, and it takes up a lot of space on the screen. I don’t know what you plan to do with it in the future, but for me now, I don’t consider it very useful.

This area is wasted here because it has only 1 option at the top

It could be something simpler, as in the shader graph where there is the property window, where it would be much better

Another idea would be to appear this “window” only when we are using something that actually uses that window, (It appears when a node uses this window) or that we can activate / deactivate the appearance of this window at any time (like the blackboard or minimap).

Or even better, making these options appear above the blackboard options, it would be even more practical that way :wink:

I’m still going to test more, but I’m finding this drop very cool.
Then I’ll try to play a test game with him.

Great job.:smile:
And sorry my english :stuck_out_tongue:

2 Likes

For Photoshop style alignement if this is what your are talking about.
6175281--675984--Snapping.gif

Simply go in your preferences and select Graph Snapping. You can also enable Spacing snapping to get the same amount of distance between moved nodes.
6175281--675981--upload_2020-8-6_6-22-52.png

For the light style sheet, we haven’t worked on it at the moment.

The implementation of the node inspector is not finished and should show you more information and give you more settings on nodes in the future.

Thx for the feedback.

5 Likes

That was exactly what I was talking about. Thank you very much:smile:

One thing I noticed this week is that VS Dots is a lot lighter, I don’t know if it’s because of 2020.1, or if you changed the VS backend, I don’t know how to explain it, it seems much lighter to use now. (Comparing to drop 10)

1 Like

We did a lot of cleanup on code side.

3 Likes

Is it possible to do sub graphs or smart objects without having to attach them to a gameobject? I am starting to see a lot of organization smells having to attach all my modular functions to empty gameobjects…unless I am missing something.

yes, that’s the point of subgraphs. unlike smart objects, they just live in an asset and can be referenced directly

Edit:
6196798--679801--upload_2020-8-12_14-29-45.png

So I just happened to stumble upon the option to create Subgraphs. Might more intuitive if we could create subgraphs in the right-click create menu in the project window. Also an option to highlight a bunch of nodes in the default graph and convert them to a subgraph would also help.

This build is definitley a lot smoother than past ones though. I am actually seeing the potential of node based coding as we don’t have to wait for the engine to compile “script” changes everytime we tweak something. That is a big plus for me :).

2 Likes

The whole “creating graphs” story needs love, no doubt.

That’s planned. we used to have it, just didn’t find the time to bring it back !

Nice to hear ! Thank you for the feedback.

I have run into this error twice, where if you change a custom node’s class name via script editor, and if that node is in the current graph, it corrupts the whole graph forcing a re-do. So if you are making a fairly large visual script while creating custom nodes there is a good chance it will get erased.

Unknown managed type referenced: [Assembly-CSharp] Runtime.TestNode

Hello ,I can’t see any code in the code viewer~~

Yes, that’s a limitation of unity’s serialization. using [MovedFromAttribute()] should fix it.

We stopped generating code a few drops ago ?

Hi everyone, we have an important update to communicate about our visual scripting roadmap, please see this new thread:

Laurent

1 Like

Which makes this thread feel pointless now… :frowning:

1 Like

Why ? Dots VS is still ongoing.

4 Likes

Nice.

Okay – I guess I am totally confused now.

Was that other thread discussing just Bolt, or DOTS Visual Scripting too? – I got the impression that DOTS VS was being tossed to the side in favor of Bolt 1 integration.

Seems like others had that impression too.

How long are we looking at keeping DOTS VS around, now that it seems like eventual vaporware?

From my understanding, it seems that Unity VS (Bolt 1) integration will also have this (DOTS VS) integrated at some point. But this will also live as a separate DOTS only VS.

So the way it’s worded makes it seems like DOTS VS would be integrated and this version would be no more. Still not sure why there will be two DOTS integration though. Although it seems they will be using the same code base and maybe even the same UI.

Actually it seems some packages are doing a core integration as well as a preview package so is that what this is? DOTS VS will be preview package to get the latest and Unity VS with DOTS integration will be the stable core version?

They’re unifying all VS tools into a single tool that’ll cover both mono and DOTS. It’s not one or the other, it’s both and integrated into the engine by default instead being separate package donwloads. Perhaps animation state machines (Mecanim successor?) will also be part of the tool as they’re talking about unifying all VS workflows.

This is just having all the graph tools know about each other so you could use them in visual scripts rather than having to switch to C# because that’s the only API they are exposed to. This way those who want to use visual scripting can do so without reaching a roadblock and having to go to C# to code functionality for those things, they can just do it in the main visual scripting tool.