Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. Unity 2020 LTS & Unity 2021.1 have been released.
    Dismiss Notice
  3. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Unity The road to 2021: Visual scripting in Unity

Discussion in 'Visual Scripting' started by UnityHas, Feb 3, 2021.

  1. UnityHas

    UnityHas

    Unity Technologies

    Joined:
    May 1, 2020
    Posts:
    26


    We recently shared our roadmap plans for 2021. Now, we invite you inside Unity to meet some of the teams working toward these goals. In this third post of our new series, we meet with the Visual Scripting team.


    Our Unity 2021 roadmap explains our priorities for the next year. Thanks to the excellent feedback we’ve gathered since that blog post, we’re even more committed to updating production-ready features and delivering new key features. Not only that, we’re determined to improve workflows and your overall quality of life when working in the Editor.

    A key element of our roadmap is communicating with you, our users, about how we plan to put this into practice. By giving you behind-the-scenes looks at our processes, we hope to help you better understand how Unity is working to empower creators.

    Meet Development Manager Adam Blahuta and Technical Lead Theo Richart from the Visual Scripting team. They’ll help us to understand what visual scripting is and why it’s one of the top six priorities for Unity in 2021. You may have already met them over here in the forums or on the visual scripting discord.

    If you’ve played Warhammer: Underworlds Online, then you’ve experienced visual scripting at work. Think of visual scripting as the workflow to create logic for games and apps without writing any code. This workflow uses visual, node-based graphs that both programmers and nonprogrammers can use to design logic or to quickly create prototypes.



    This freedom to streamline creativity matters more than ever today, as we’re constantly reminded of the struggle for work/life balance in the industry. Adam shares how visual scripting could’ve changed his entire team’s workflow on previous projects: “I wanted to go back in time and bring visual scripting with me. I wanted to help the dejected level designer who I’d told for the upteenth time that another interactable he needed to get his scene ready for review wouldn’t get done right away because the developers were busy with other features. I wanted to beg for forgiveness for mangling my artist’s UI with my terrible integration of his vision. I wanted to get the precious hours of my team’s life back stressing over iOS hotfix submissions that could have been avoided if we’d just had the means to push logic to the server directly.”

    By increasing the accessibility of visual scripting in the present, we open up opportunities for other use cases where coding has been the go-to digital solution. Could visual scripting be the way we connect with students in important sciences like robotics? We’re just scratching the surface of its potential. The magic of Unity is that once we put it in the hands of our community, you’re the ones that will really make it sing.

    It’s important to note that visual scripting isn’t meant to replace coding entirely. It enables more seamless collaboration between programmers and nontechnical team members like artists and designers. Think of visual scripting as a high-speed commuter train. You know you need to get from point A to point B, and by cutting out unnecessary stops and delays, you get to your destination a lot faster.

    “A good visual scripting solution is tantamount to giving control to users so they can more actively contribute to the game’s execution. Without it, the programmers become the bottleneck of all gameplay and artistic endeavors,” says Theo. “For users who have no access to programmers, the eventual goal is to ship visual scripting with an extensive library of high-level nodes like that, that can be repurposed for each project. We’ll announce more as we get closer to when.”

    You can use visual scripting to: :
    • Create scripted events like dialog between characters
    • Define new player skills
    • Produce VFX
    • Add traps to levels
    • Insert nodes like spawning guards
    • Adjust trigger boxes
    • Pick the right animation for the scene
    • And more!
    If you love writing code, you can still use visual scripting and code – the nodes are there if you need them, so you don’t have to choose either/or when it comes to how you work best. You can also use visual scripting to create templates for later projects.

    For all of these reasons, Unity is accelerating the development of tools and features for artists. Making the entire process of creating real-time, interactive graphics, content and experiences more intuitive and accessible for visually oriented creators a priority for 2021.

    TL;DR: With visual scripting, you can streamline your creative process by having the option to use nodes to create quick actions, rather than coding.

    We hope that you’ve enjoyed seeing the benefits that Visual Scripting can bring to your projects. We'd love to hear your feedback in the replies. What do you think about these Dev diaries? What has your experience with Visual Scripting been like so far?

    If you have any questions, let us know. The Visual Scripting team will be watching this thread and chiming in.

     
    Last edited: Feb 4, 2021
  2. Stexe

    Stexe

    Joined:
    Feb 2, 2014
    Posts:
    185
    I have questions but most of them have just been ignored before so... /shrug

    EDIT: Since it seems you're actually answering questions for now, I'll post some again later on.
     
    Last edited: Feb 4, 2021
  3. Jes28

    Jes28

    Joined:
    Sep 3, 2012
    Posts:
    693
    This blog post seems somewhat useless
    Do you have plans at leas answer what direction you move VisualScripting now?
    Something more than that "VS is cool and we do our best to make it to 2021"

    What will be with bolt 2 features or when we can expect anything?
    What good ideas of Bolt2 and community you decide to throw out and what to implement in your vision?
    Actually what is your vision? You say you gather feedback from community but you never say what you do with this feedback just silence.

    Everything we know for now is that you ignore Bolt2 features and go back to good old Bolt1.
    May be now 4 months later you have more to say about your vision and what we can expect from Unity 2021 VS solution?

    For me it is more interesting when you plan to bring Bolt2 like VS into Unity if ever?

    You promise to answer our questions in this thread https://forum.unity.com/threads/visual-scripting-roadmap-update-september-2020.978732/ but it is never happened. May it is time too?
     
    tobiass, Neonage, JoNax97 and 2 others like this.
  4. mountblanc

    mountblanc

    Joined:
    Sep 24, 2015
    Posts:
    88
    I have a ton of questions:
    When Bolt was taken over by Unity it was said that bolt 2 would be in the process of being released as beta in a couple of weeks from now(23 April 2020) I had my dough ts already then https://forum.unity.com/threads/welcome-to-bolt-2-beta-coming-soon.874729/page-2#post-5817064

    Bolt 2 seems to be dropped and now bolt 1 is about to be integrated into Unity and it blows my mind even further.
    From what i understand its a rewriting of namespaces and some class and method names to make if work better with the existing structure.
    It's more complicated than that i am sure but the basically its Bolt1 merged into Unity.
    At least that's what i understand about it.

    I have the following thoughts:
    first off Bolt 2 power was that it would generate script files and so reduce much of the added lag using an other layer of coding.
    Secondly it seems Bolt 1 integration isn't using the Graph and GraphView etc libraries but it seems to still use the Ludiq framework still.
    What i find puzzling to say the least.

    Third: How about using visual coding using the Dots system ? Is that project dead in the water?
    I am not sure what the current status of Dots is and about the visual coding that did use Graphview. But it seems Unity is betting on all kind of horses at the same time. (My personal opinion is that Unity should have created a total new branch with only Dots rather then trying to integrate it in the current Unity build but that's an other discussion )

    I understand that there is much interest in visual scripting. Hack i think it has great potential for me at least for big project (Not even game related) to get quicker an overall working of a program and dive deeper in your code and see what is happening visually and visually debug while the program is running.

    For people wanting to code but finding it to hard i can imagine that visual Scripting seems a much lower stepping stone. I just hope that visual Scripting will take on the DOTS and other systems and provide script export functionality to be able to use Visual Scripting with at least performance loss as possible.

    So I do not understand the roadmap and how above concerns i have (And hopefully many others) are being taken care off or are even considered.

    Truth be told i haven't read much the forums and stuff last year so i might be unaware of some stuff but that's reason to write here to get answers and information and be corrected and i am just a hobby unity user .
     
    Stexe likes this.
  5. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    111
    I’d like an update on what's being technically done to improve the main Bolt 1 issues - performance, API documentation, variables and custom events weak typing/general usability issues, QoL features like graph search and error highlighting in the graph when clicked in console. The roadmap mentions most of these will be addressed, but it's not clear how and how soon they will be improved.

    I’m not asking about concrete dates, I’d just like some kind of list of priorities like the old Bolt 2 roadmap back in the Ludiq days. Lazlo never gave any dates, but we could see what’s the plan and what’s being worked on now. Sure, some list items were later removed and assigned as unfeasible for one reason or another, but that’s part of development.

    Basically I'd like to get some kind of idea in what direction the tool is moving and roughly when it'll get there. Right now it seems it'll be years until all main pain points will be resolved, which is confusing because Bolt 2 already had addressed all my current Bolt 1 issues.
     
  6. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    168
    We have a plan for the performance that doesn't involve generating code for the entire graph, which is problematic in a lot of case.
    The plan is to unify all of our node based tools frontends with the new GraphTools Foundation. However, that takes time, as we first need to split the frontend and backend of bolt, which are heavily coupled.
    No, but the current focus is on the tech that is already released and used by a lot of people: game objects.
     
    Haneferd likes this.
  7. Ruchir

    Ruchir

    Joined:
    May 26, 2015
    Posts:
    315
    There was absolutely no information whatsoever as to what is the actual roadmap for visual scripting, it's just written that it's awesome and will help many developers but that's really useless to be in its own blogpost at such an early stage when visual scripting is so bad right now.

    There have been no updates on the graph view and its usage in other packages or even providing a public API for it
    In its current state Visual scripting is pretty much useless for anything other than prototyping in a small game jam.

    I can't build anything on top of it because it's just really bad right now(no type safety, no error prediction(compiler error kind of thing), nowhere near comparable to performance to C#), and it's sure to have breaking changes in near future, so I really don't see what goal unity achieved by integrating it as core package at such an early stage, I would really like to get some insight into the real roadmap for visual scripting instead of what was in this blogpost
     
    Neonage, Jes28, JoNax97 and 3 others like this.
  8. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    168
    We're working hard on validating that vision so we don't overpromise. it's the usual issue of "too much details and we'll change our mind" vs "not enough details/too careful".

    Bolt2 solves some of those problems and we'll take inspiration from it and from DOTS VS:
    - perf is being worked on. new backend and all
    - frontend will be unified with other unity tools. as said earlier we need to split the front end and back end which are highly coupled in the current implementation
    - typing, weak events, variable boxing are high on our priority list
    - QoL will come next - for most of those features, we'd rather implement them once on the new front end than twice on both front ends.

    I hope that clarifies a bit the plan.
     
    Haneferd and WendelinReich like this.
  9. WendelinReich

    WendelinReich

    Joined:
    Dec 22, 2011
    Posts:
    226
    Hi @theor-unity - this is great stuff, we're very excited about VS. Could you tell us more about your plans to make it customizablea and allow developers to create custom nodes and maybe even custom graphs? For example, if a developer wanted to use VS to create a custom version of behavior trees (which involve both special nodes and special execution logic), could they do that? If not, is it on the roadmap?
    Thank you!
     
  10. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    2,976
    Any plans on adding code generation later? or will it be a never
     
    Jes28 and Ruchir like this.
  11. Jes28

    Jes28

    Joined:
    Sep 3, 2012
    Posts:
    693
    IMHO better publish you current vision with BIG label of "EXPERIMENTAL VISION!!! EVERYTHING CAN/WILL BE CHANGED UPON RELEASE" :) Than keep us without info about direction Unity is moving.

    Or may be just return BETA users sub forum and restruct access to that forum only for developers that actually understand what is Experimental or Preview version of package :)
     
    Neonage and Ruchir like this.
  12. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    168
    We're still working on the details/processes/... but yeah, you're right, we haven't communicated enough recently
     
    Ruchir and Stexe like this.
  13. Neonage

    Neonage

    Joined:
    May 22, 2020
    Posts:
    203
    Any news on Graph Tools Foundation?
     
  14. sinjinn

    sinjinn

    Joined:
    Mar 31, 2019
    Posts:
    142
    I really like Bolt, but I understand it's not perfect,or runs slower than C#.
    Is translating Bolt to C# later straightforward? or is it a minefield?
    How soon are we going to be able to use DOTS within Bolt? I understand there's a lot of things you guys are trying to do, but is this a multi-year thing? I guess I don't understand what the actual plan is anymore. DOTS seems very useful, and the sooner it gets into Bolt the sooner Bolt gets supercharged. It might be a better way to get devs to take advantage of that power without feeling overwhelmed.

    Can you guys even say if you are actively working on the DOTS/Bolt integration now, or is it waiting for something else to get done, like redesigning Bolt first?

    Also, is it likely that Bolt/DOTS will be an order of magnitude faster to run than just Bolt, like DOTS to OOP, or is there still something that will critically slow down the code just by the nature of it being Visual Scripting?

    cheers
     
  15. theor-unity

    theor-unity

    Unity Technologies

    Joined:
    Feb 26, 2016
    Posts:
    168
    It's going great. The first focus is for internal usage: enable new tools/migrate existing tools to it.

    We're not working on the DOTS integration at the moment - we first need to rearchitecture bolt to support multiple backends, and then to replace the front end with GTF. we'll then reevaluate (see the evolution/adoption of DOTS etc to prioritize correctly the dots/vs integration).

    About perf: I sure hope we'll get another boost with DOTS, but remember that at this point, you'd need your entire project to be made for DOTS to get real benefits, not just your visual scripts.
     
  16. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    5,391
    Well this one said absolutely nothing useful in a couple of thousand words, so not really happy with it. Dev diaries are great if they're about what developers are actually doing.

    If you have exactly zero things to show for your effort yet, maybe don't make a big fuzz about it? Like

    There's nothing behind the scenes in any of the stuff you wrote? You're just saying that you're working on the same things that you said that you were working on September last year.


    Look, like, we get that it takes time to make stuff. If your engineers doesn't have anything that's ready to be shown, nor anything concrete to promise other than "we'll keep working on it", just wait until they have. We're not in a hurry to be marketed to.


    Edit: Just clicked some more around the forums, and every single one of theor's posts are much more informative, interesting and useful than your entire blog post. Maybe cut out the middle man next time?
     
  17. JoNax97

    JoNax97

    Joined:
    Feb 4, 2016
    Posts:
    458
    Agreed
     
  18. guybro_thunderboots

    guybro_thunderboots

    Joined:
    Aug 27, 2015
    Posts:
    40
    I'm seconding the call for more information on custom nodes and graphs. Being able to call methods on MonoBehaviours is nice and all, but there's some real power to be had from custom nodes. Easy guards for accessing singleton systems from under the hood, multi-flow splits, hooking into generic game systems and exposing their operators through VS, etc.
     
  19. steve_zeng

    steve_zeng

    Joined:
    Aug 6, 2019
    Posts:
    22
    I bought Bolt, and while I was happily waiting for the official V2 release, it was acquired.

    I didn't get any compensation, and I didn't get the features and performance I wanted in the new version, which was very disappointing.

    I think the authorities are too slow and I don't want to wait.

    Later, I bought the uNodeV2 plugin, which implements all the functions of Bolt2 with better performance, and now I use uNode, which I think is fine.There's vertical streaming, there's code generation, and even the ability to turn C# code into nodes, which helps me learn and understand C# code better.

    I've given up on Bolt for now, and based on official development efficiency, I think I'll come back in 2-3 years.
     
    m0guz, Stexe, Ruchir and 2 others like this.
unityunity