Bolt / Unity Visual Scripting Recommended Practices

preview_player
Показать описание
Five recommended practices that will make using Bolt / Unity Visual scripting easier and more efficient.

Рекомендации по теме
Комментарии
Автор

This answers the vast majority of questions I had. Finally found a good video

__dane__
Автор

Great tips! Exactly what I intended to use Bolt for, just for diagramming out the flows and states.

ers
Автор

A 3rd option to the beginning is writing the code as a bolt unit so it can become a node; if you know it may be used in multiple places in this case you are representing a class that inherits unit, where you define the inputs in code running the logic within it and then returning the outputs you need. In this way you are hiding your scripts while still keeping the node look and your script can take multiple bolt inputs to fill variables and run methods without needing scripts plugged into scripts and listening to events.

DeathxStrike
Автор

Thank you for this info i am currently relearning unity and im going ot use VS/Bolt for my projects. If you have any more tips i would love to see them. Right now im just going through collecting tips and tricks for VS so i can avoid or learn from them before i get knee deep and cant dig my way our.

dayanson
Автор

Thanks! you do a very nice job with this. Greetings.

holoments
Автор

Interesting. I was under the impression it was possible to create a full game with Bolt. Is that not the case?

jean-marcsanmarco
Автор

cheers, I find videos like these invaluable, it shows an alternative way of thinking based on experience... I'm making a game and using Bolt for the first time (due to being a weak coder), but hope to increasingly understand the value of these methods, as I'm already concerned about super large unwieldy graphs... anyway, just a few questions:

5:28 would ctrl-z recover the graph?
6:10 would select/copy/paste work?
18:35 if CleanUp Store were added as a Transition (like the ones being added here), wouldn't it always trigger after XButton clicks?

ytubeanon
Автор

Point 1 - Use super units (sub-graphs) for logic.
you can reuse and edit the super unit and changes are copied across every node referencing the super unit.

Code is still faster to write, but if your allergic to code, it will work pretty much the same upkeep/maintenance/bug-fix wise

spoonikle
Автор

great video, thanks for the tips!
I'm a bolt adventurer and I have no idea how to avoid bolt variables as I don't know how to write a line of code.
I think I will remain lost in the variables for a while longer. and... well lost!

pinatranaves
Автор

thx for this now i was thinking maybe bolt is useful but I'll stick to code I was already confused af (and I hate variable system from start b4 even knowing that one u mentioned )

TheF
Автор

Nice video! Gives Me a lot of ideas too. I just recently switched over to the new input system in Unity2021, and been having issues with First person controls not working right. I'm making a space shooter/salvager game, and wanted some off ship parts. My ship controls work fine, but FPS with a gamepad is all wonky (using Bolt/VS). Might have to use C# for the FPS parts. Oh btw, I'm from WMass too.

DarkCyder
Автор

I am really new to Unity Visual Scripting been at it about 60 days at this point, here is my 2 cents, take it for what it's worth. Visual scripting is NOT fast. It can be clean, with a little effort, but setting up the nodes is slow.

I really don't get the rancor for the variable system. Graph is private, everything else is public. It's a simple way for people who have no idea about coding to quickly wrap their head around it the idea. Personally, I tend to use scene and app 'variables' for constants and often used object references. In the video the author flips back to the object inspector to add the variable, this is unnecessary simply hit the plus sign and add the variable there.

The author uses an example of multiple stores, this can be done using Prefabs, simply drag the object off the hierarchy to the assets window, I suggest using folders. Seriously, use folders. You can either update the Prefab directly or you can update the instance and then use the override button in the inspector to update the prefab, depending on your needs. You can even make prefabs of prefabs if you want something general to become something more specific.

You do not need to learn c# to do most things... but I admit it is much, much, faster if you already know how. Typing a few lines of code is faster than dragging the nodes and connections. It can very quickly get messy. Which brings me to my last point: Embeds, embeds do have a place, they are basically private functions for visual scripting. If you find that an embed can be used in another graph convert it and it becomes it's own graph nested in the original (public). Once again, I suggest you USE A FOLDER to save your no-longer embedded functions. If I find the need to Control-Drag and colored window to make a note about a block of nodes... it's time for an embed. The colored windows are pretty but currently a bit buggy and lets face it the embeds make the readability of the code easier.

The rest of the video I completely agree with. The great thing about unity is there is many ways to get to the finish many are personal taste, but some are skill level. I didn't see anything the author did that you cannot do through visual scripting but I will be the first to admit, it is a slow process to set up as opposed to C#.

All in all great video, thumbs up :)

jasonlowry
Автор

i need to really learn this i can't understand code in any programming language

TimeLords
Автор

Surely super units will let you reuse flow graphs and remove the first issue listed in the video?

ElliottBearYT
Автор

What about super units? Can't you keep the logic there and reuse over and over again?

keyofvoid
Автор

Why you use bolt instead of c# even if its gives x8 less performance? (no offense just wondering)

fvx
Автор

I can not find a book on Unity Visual Scripting or BOLT - any ideas?

donaldblattner
Автор

Nice Video :)
I think Bolt would be good it it lets you get specific outputs as you can with C# imprementing, cause as you said you can have all the scipts embeded and get calles in different scipts.

But i have tiny issue with your method
How will you set the GameObject variable as In Bolts Variable Game Object type, that you select and then you have it "forever".

I explain roughtly my method, I have a Scene Variable that links to GameObjects "Player" and "Scene Logic" In my project I have ton of childs with the respective codes and variables colling the childs (stupid I know) And then I start linking in Bolt Game Object Variables Object type. To locate where the vartiable that I need is.
That way, in my script I dont´t have to link each gameobject that I want to use.

{I will talk thinking in Bolt C# implementation, not code itself}

In yout method (correct mw if I'm wrong :) ) To get that fist object to call the childs, I have to link my script to every one of the scripts that needs this reference.
Is there anyway to call the Game Object globally like in a scene variable.
I don´t need to select it, as it is in Bolt, I don´t know if I have to put a GameObject.Find in a void Start or how can I manage that :0? In order to not defining each time a specific variable for each object that needs it.

Thanks in advance, great tips, I had messy reference for events, and this is suuuuper coool
:)

yorokobinikki
Автор

I know this video is a year old, but your concern about logic in Bolt vs code seems no longer relevant with the introduction of Super Units. Is that true? Also, your concern with variables, you proved your point only using object variables. Do these problems still exist when using scene and application variables?

hoodwinked
Автор

Yeah, Yeah... For every change in code (like add new var or new script) - Please, click "Build" button and wait! Super! ... For Every Bolt Flow create an addition script for Vars, and for logic. Super!... Maybe you will use just code?)

DGMaxxx