Visual Scripting with DOTS

I recently dived into the old DOTS Visual Scripting drop threads, I was looking for a solution for our game mode development. To my surprise I realized it was sort of put on hold?

Now, I’ve looked at the actual drop and the examples with it and it looks kind of enough for what we need for now. The things I’m missing can be made with custom nodes I think.

I know it’s not for production and graphs might not be future version compatible. But that does not bother we so much, we need to increase our prototyping speed on game modes, and drop 11 looks like it can solve that for us. Our current requirements are very low outside of iteration times.

So my question is, if drop 11 does what we need, would it be resonable to use it as it is? I’m mainly concerned with serious performance issues (like GC spikes) and combability with future ECS/Burst/DFG versions. Will that sort of stuff be sorted out in the future? Or is it generally just a dead project and not recommended to use at all?

I don’t want to put words in anyone’s mouth, so I’ll point you here: Visual scripting roadmap update - September 2020

I get the feeling that any graphs you create using the last DOTS drop won’t be forward compatible with whatever this new, unified solution is.

1 Like

I’ve already read all of that, it does not answer many of my questions… But I think you are right, I just really hoped that the current DOTS VS could be used even with it’s flaws.

Why don’t you use Bolt? It was made available for free, is production-ready, future versions will be backward-compatible and you will have basically free performance improvements as they update the core.

I might be missing something here… but Bolt is not DOTS right?

It won’t be compatible with future versions.

There’s been no official word on this, but I think if you look at what’s happening in the visual scripting space, making sure that vfx and shader graphs have a ‘smooth’ migration path is a higher priority than having the experimental dots scripting graphs do anything other than work ‘as is’.

Define ‘sorted out’, but lets not beat around the bush here and try to sugar coat it:

A new version in the future that’ll be awesome? Definitely.

A new version in the future that has backwards compatibility and you can simply drop in and use your existing graphs with?

Absolutely not. If you want that, don’t use it.

Dead is perhaps a bit harsh, I’m pretty sure people are still working on it.

Drop 11 is probably a ‘dead end’ in terms of tech paths though; if you want to freeze to a snapshot of a particular version, go for it, but if you want to work with rolling upgrades, I’d probably stay clear of it.

1 Like

Thanks for the answer! It’s sort of what I gathered. We are actually considering just using drop 11 straight up and working with that until it breaks or another solution comes along.

I Love DOTS. But when the problem is more about relationships between a widely spread collection of entities all over your game, then I feel you really want to visualize the communication and data flow between those, and the ability to rapidly change it. Right now It’s just so time consuming to do in DOTS.

From what Unity team already said about, in the future Bolt graphs should use the same backend as the DOTS graphs, so you will still code in OOP but have (close to) DOTS performance “for free”.

But yeah, it is not DOTS, I thought you wanted it more for prototyping as you mentioned that, if you want to actually develop in DOTS with VS you need to use drop 11, but be aware that it might not work on the next version.

2 Likes