Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Official November 2022 Visual Scripting Update

Discussion in 'Visual Scripting' started by ashley_unity, Nov 22, 2022.

  1. ashley_unity

    ashley_unity

    Unity Technologies

    Joined:
    Dec 18, 2016
    Posts:
    19
    Hello, everyone!


    I'm Ashley Alicea and I work at Unity as the Product Manager for Unity Visual Scripting. As part of the product development updates being provided through Unity's Games Focus blog series, we recently shared some insights into the work currently being done on Unity Visual Scripting as well as a glimpse of what to expect in the future.


    You can read the blog post here, but I'll share a quick recap below. In short, we're hard at work on the next major release of Visual Scripting and you can expect a minor update later this year with some top-requested bug and workflow fixes.


    Visual Scripting is part of a larger initiative at Unity focused on supporting features that empower non-coder creators — such as game designers, artists, or level designers — to create and collaborate within the Editor alongside their development teams. As such, current work on UVS is aligning with this initiative's focus on expanding production use cases and improving unification with Editor workflows.


    Our work on a new interpreted runtime continues as a priority to ensure UVS can meet production-level requirements, including significantly improved graph execution performance and the ability to enable DLC graphs. This is being done alongside the integration of Graph Tools Foundation as the new front-end for Visual Scripting, Shader Graph, and other graph-based features. This will allow creators to benefit from a unified creation and customization experience across our graph tools while enabling seamless context switching between these features.


    These efforts will continue over the next 2-3 release cycles. Throughout this time, we're working directly with game studios and creators like you to ensure the additions and improvements coming to Visual Scripting make a difference in how artists, designers, and other non-programmers can achieve their goals in the Editor. If your studio has 5+ creators working on a project using Unity Visual Scripting and have feedback they'd like to share, let us know here to be considered for future user research studies. In addition to this forum, don't forget anyone can provide input on what they'd like to see next for UVS via our Unity Roadmap Portal, which lets you vote on listed topics or add your own for consideration.


    While no major updates will be arriving for UVS in 2023, we wanted to give a heads-up on an incoming release arriving later this year. This update will address top-priority issues like IL2CPP builds and certain causes of graph corruption, along with quality-of-life improvements such as the ability to add comments to your graphs with sticky notes. We'll share more news about this release when it's available.


    Thank you for all the great discussions and generous feedback you've shared as we work on the next iteration of Visual Scripting, keep it coming and stay tuned.
     
  2. vacantknight5

    vacantknight5

    Joined:
    Apr 2, 2019
    Posts:
    4
    new variable system and code generation need to happen as soon as possible
     
    Z_Kir, Ignacii and N04H08 like this.
  3. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    As the OP mentions, it'll be a two to three year wait.
     
  4. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,404
    Im stunned that Unity VS is getting no major updates for 2023; its a feature that many 'non coders' that I have worked with are interested in exploring but its difficult for me to even consider it in a current pipeline when the known big issues (performance, Il2CPP, etc) will still be there and not solved or addressed until atleast 2024 (or 2025?). Curious what some studios that Unity is working with directly for practical feedback think of this news. I appreciate the transparency, though!
     
    Last edited: Jan 6, 2023
    Z_Kir and N04H08 like this.
  5. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    I highly doubt many studios use Visual Scripting effectively as part of their pipelines, just like they didn't use Bolt for reasons that remain issues today:
    • Poor performance due to type boxing, reflection and IMGUI.
    • Increased build times and loading times on WebGL, mobile targets and other IL2CPP platforms
    • AOT issues on said IL2CPP platforms
    • Lack of debugging tooling (clicking an error in the console doesn't even point to the faulty node).
    • Lack of refactoring tooling such as the inability to rename variables across all graphs (have to hunt down all instances manually) and can't even collapse node selection to a subgraph
    • C# workflows until the most recent update broke graph serialization (one compilation error for a single custom node and your whole graph became unviewable if it contained the node but they addressed that now in 1.8.0 I believe)
    • Unity API changes due to package upgrades or engine version upgrades can create a lot of silent runtime only errors for reflected nodes, which is the main mode of operation for the tool. This also might've been improved in the recent update.
    • FullSerializer bugs also remain ever present, like Undo wiping your graph clean on occasion
    • No (official) graph search and general lack of QoL features.
    The tool was designed and marketed for complete Unity newbies, which is why it became the top selling asset at the time. And Unity acquired it based on sales numbers, it seems. Or perhaps it looked simple enough to then steer it in another direction, which I doubt since the plan was to initially ship the far more powerful Bolt 2, which later was discontinued in favor of integrating Bolt 1.

    With current multiyear development timelines on top of nearly 3 years under Unity ownership already, it seems like they've chosen to rebuild Visual Scripting from ground up.
     
    Z_Kir likes this.
  6. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,404
    Oh, I had to deal with most of those issues on Gigaya; we began the project as a hybrid of code and VS (and it worked out really nicely at the start! Making custom nodes was a lot of fun!) but then shifted entirely to code (removing VS) about half way through because we kept running into performance and compilation problems (I spent half my time just trying to fix broken graphs) and the roadmap for fixes (when we reported our experiences) seemed to be end of 2022. Its why I was dipping back into this thread as I was curious what did/didn't land.
     
  7. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    As far as I can tell, that was the plan until something changed spring or summer 2022. Until then UVS team was still communicating on the Visual Scripting discord server. But then they went on summer vacation and then just... never returned. So the only direct link to the team has been lost. One of the last devlogs posted there from a Unity person mentioned Graph Tools Foundation training the whole team had for a week. The UVS 1.8.0 preview of the new high performance interpreter also got silently pulled from public access, and the recently released version 1.8.0 doesn't have it.

    So I can only speculate on what happened, but perhaps Graph Tools Foundation was ready enough to start the porting process which likely is being timed with ports of most other Unity graph based tools, so it's a collective multiyear project. And they've mentioned in the past that making IMGUI additions necessary for the new high performance runtime is very time/work intensive effort and essentially would be thrown out as soon as GTF is available.

    Or perhaps some key design issues with the high performance runtime were discovered, so they're having another go at it. Or they've finally discovered that integrating Bolt 1 was a mistake, and it's unsalvageable due to defunct middleware like FullSerializer and it's easier just to go radio silent and redesign the thing from ground up. Who knows? Could be all or none of the above.

    We went 8 months without key bug fixes for the current version, so it's pretty safe to assume whatever they're doing, it's not building on the current version of the tool directly.
     
    Last edited: Jan 6, 2023
    Z_Kir likes this.
  8. useraccount1

    useraccount1

    Joined:
    Mar 31, 2018
    Posts:
    241
    I know that few companies attempted to use Bolt / UVS for prototyping (meaning, with a desire to rewrite everything to c#). Though, these studios were becoming silent about the idea quickly. I suppose that is either because the tool is unusable or because too few skilled designers bothered to learn this tool.

    Also, I feel like in 3 years we will hear something alongside "DOTS for Visual Scripting is the way to go so we don't plan to deliver any meaningful updates to UVS".
     
    Z_Kir likes this.
  9. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    I think DOTS VS idea died together with DOTS only runtime as a full alternative architecture to Monobehaviour, same as project Tiny. If there's to be any DOTS VS at all, it'll likely be complementary to GameObjects just like current ECS/DOTS is. And Unity have stated that any DOTS additions would live in the same Visual Scripting graph as Mono nodes.

    This is basically the latest update on DOTS VS we have.
     
  10. useraccount1

    useraccount1

    Joined:
    Mar 31, 2018
    Posts:
    241
    From little of what I have heard, it wasn't. Remember that UI Toolkit wasn't "Production ready" until 2021 LTS, and they have reached parity with IMGUI only in 2022.2.

    Back when they were developing UVS for DOTS, their front end was also very experimental, you could feel it as some versions were very laggy, and UI/UX was awful.

    I guess the company knew the team wasn't able to quickly develop what users wanted, so someone decided to buy an already available asset, spend a year or two on integrating and fixing issues, then move to their in-house solution or other projects.

    Now, how they managed to blunder so hard is a different story. I'm pretty confident someone decided to buy Bolt without making any long-term plan or talking with any developer.
     
  11. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,404
    IIRC (my memory is fuzzy but all this is in various public announcements)
    • Visual Scripting was being made in-house for a while then that shifted to DOTS-only to future proof it.
    • Then feedback was that users wanted MonoBehaviour support (and DOTS was taking longer) so decided to acquire Bolt as a current solution.
    • Bolt came with Bolt 1 and in-development plans for Bolt 2.
    • So Unity had effectively 3 VS systems in various stages of development. AFAIK none of them worked together (I think Bolt 2 was to be a rewrite?)
    • Plan was for Bolt 2 to eventually deprecate Bolt 1 and then DOTS VS would deprecate Bolt 2 when everyone moved to DOTS(?)
    • Bolt 2 got dropped (I don't remember why) and focus went to improving Bolt 1 and development on DOTS VS.
    • General focus shifted for a MB/DOTS hybrid workflow in Unity (instead of being all DOTS).
    • Radio silence on DOTS VS(?)
    • This announcement saying Unity VS (formerly Bolt 1) has no major updates until possibly 2024?
    Please correct me if any of this info is inaccurate. :D Trying to wrap my head around the timeline.

    Ideally, Unity would have ONE node based logic system that handles data input and output for both MB and DOTS. Maybe thats what is being worked on for long term?
     
    StefanoCecere likes this.
  12. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    Public facing production readiness doesn't apply to internal tools development. UVS team had Graph Tools Foundation training back in April/May of 2022. If they can train using it, it's internally usable. Since summer 2021 Graph Tools Foundation development has been internal only, they cancelled the package and are integrating it as core engine technology all Unity's graph based tools will use. They are very silent on any GTF progress but in OP post they state it'll come in 2-3 development cycles.

    That was the forever experimental GraphView API that is the current base technology of Shader Graph and VFX graph. Graph Tools Foundation is a complete redesign/replacement of that.

    DOTS VS ideas were based on a pure ECS runtime existing when they were still attempting to go that way but that failed for one reason or another and DOTS VS with it. No DOTS only runtime means no DOTS VS. And it doesn't make sense to deeply integrate a 3rd party tool and also plan to abandon it for an in-house solution later, it's just pointless work and a lot of user confusion.

    It's a lot of inept management and also a lot of unlikely coincidences. Unity approached Bolt dev way before DOTS VS even existed, he refused to sell then. Around the time DOTS VS failed, Bolt dev approached Unity to sell them the tool. Unity had a need for a Visual Scripting tool and bought it like the originally wanted to. So it's true that they didn't have a long term plan, They formed a long term plan some 3-4 months after acquisition and it involved cancelling Bolt 2, and integrating Bolt 1 which they would later migrate to Graph Tools Foundation with a new high performance runtime. They've been on that quest ever since.
     
  13. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    Yea, Unity presented a Monobehaviour based solution initially. Then cancelled it shortly after in favor of DOTS VS.
    I'm not sure about this. My understanding is that Unity wanted to acquire Bolt at the time Bolt 2 was announced (late 2018). The original dev Ludiq talked about that in Discord but ultimately decided not to sell because their visions for visual scripting differed too much.

    Unity announced their own Monobehaviour Visual Scripting tool around that time. Two years later, Unity have cancelled their mono solution and pure ECS runtime effort has either failed or Unity got the message that people don't want to completely rework existing pipelines for some idealistic performance heaven that's also a lot more complex to write. And no ECS runtime means no DOTS VS. I'm fairly sure Bolt dev approached Unity himself because, after two years of solo development, he was either burned out or wanted to do something else, and Unity offered good money. He's now leading a small studio with that cash. So it's more a coincidence than anything else and explains the lack of planning.

    EDIT: As for how I know all of that, I was Bolt Discord moderator and deep into the community at the time under a different name. The community pretty much died as a result of Unity's acquisition, Bolt 2 cancellation and inaction in regards to developing Bolt1/UVS further for nearly 3 years now. I've long since left it myself.

    Bolt 1 had been in maintenance mode since late 2018 - receiving minor bug fixes and no new features. Dev spent most of their time developing Bolt 2 for two years until the acquisition. At that point, Bolt 2 was in alpha and mostly functional Unity released one beta version of Bolt 2 after acquisition. I still have it and it's a thing of beauty to this day. It was about 6-8 months from a stable release, I think.
    Yea, around the acquisition of Bolt there was a big change up in management. Package manager fragmentation and dependency hell was at an all time high and management pivoted hard into the other direction - everything now had to be verified, tested and compatible with other Unity systems and tools. Bolt 2 was developed in a vacuum where it valued its implementation of visual scripting above all else - it had GUI creatable Enum alternative only usable in visual scripting, it's own home baked version of Scriptable Objects also creatable through GUI, multiple graph types each with their own pros and cons, it generated C# scripts for runtime performance reasons with a bunch of boilerplate code and it was nearly as fast as regular C#. And all of that made in IMGUI.

    Bolt 2 was all that the community asked for but it was also incompatible with Unity's new unification plans they came up with some 3-4 months after acquiring Bolt. So Bolt 2 got the boot and in goes the much simpler Bolt 1 because it's easier to steer it in a different direction such as GTF, high performace runtime with per node code gen rather than Bolt 2's per graph code gen, etc.
    Not sure if there ever was a plan, or it just coincided with DOTS VS failing and management wanted a visual scripting tool and Bolt dev offered to sell two years after intiallly refusing.
    The official wording was I think that Bolt 2 was too "programmer centric" what ever that means. DOTS VS lead dev was put on UVS team, so DOTS VS was already effectively dead even if they had a preview or two still, I don't recall.
    Yea, they pivoted hard.
    In the last DOTS VS preview thread the VS product manager at the time said it's paused indefinitely, focus is on UVS and they'll revisit DOTS VS later.
    Indeed. I believe current version is abandoned and they're doing a full rewrite with the current implementation as a blueprint mainly because they've commited to it via the acquistion and engine integration. The new high performance runtime was in preview for UVS 1.8 and that got pulled. That alone says all I need to know about current implementation. It's in maintenance mode if you can call 8 months of no updates a maintenance mode.
    That is indeed the long term plan they came up with 3-4 months after acquiring Bolt. Bolt 2 cancellation is a direct result of that plan.
     
    Last edited: Jan 6, 2023
  14. useraccount1

    useraccount1

    Joined:
    Mar 31, 2018
    Posts:
    241
    Well, If you read the roadmap, it's clear they want to continue making DOTS VS, but for now, they have better things to do.

    I also believe that some people at unity dream of abandoning monobehaviour, but no studio is ready to drop it altogether. I believe the move toward the full DOTS / ECS will be slow and gradual.


    The DOTS VS (the experimental version) has a dependency called "com.unity.graphtools.foundation", and its first official release was published in 2019. All of this is publicly available.
    https://docs.unity3d.com/Packages/com.unity.visualscripting.entities@0.5/changelog/CHANGELOG.html
    https://docs.unity3d.com/Packages/com.unity.graphtools.foundation@0.9/changelog/CHANGELOG.html
     
  15. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    It doesn't align with everyone's goals. Certainly not with mine. I don't need that kind of performance or development slowdown of having to write more complex code. Most gains of DOTS for everyone are on the editor side of things, optimizations for existing packages. Perhaps if the move is gradual and they lessen the boilerplate necessary, it'll catch on, but even then I don't see it as the default solution for all games.

    You read that they want to return to DOTS VS, but I read that they currently have no plans for DOTS VS, which is also true.

    I wasn't aware of them switching to GraphTools. But GTF is not the reason for DOTS VS failing. Their DOTS vision failed in general either through inability to deliver technically or through discourse with the user base, who didn't want to completely replace existing pipelines and knowledge base, which is counterproductive.
     
    Andy-Touch likes this.
  16. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    9,976
    Your rough timeline sounds about right, but this line doesn't quite make sense.

    When Unity bought Bolt, they kept selling it, until the community shamed them. If they intended to use it plug their MonoBehaviour shaped VS hole, surely they would have made it free immediately.
     
    Andy-Touch likes this.
  17. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,404
    I think it was around the time Unity wanted to add more products to charge for (like ArtEngine) so im not surprised that something as income-scalable as a logic tool for non-coders was decided to be charged. However, not the best idea when the main competitor has something as powerful as Blueprints for free and fully integrated into every workflow.
     
    Z_Kir and AcidArrow like this.
  18. useraccount1

    useraccount1

    Joined:
    Mar 31, 2018
    Posts:
    241
    I don't need that either, but it seems like that's the current direction of the engine. At first, finish DOTS to some acceptable state, then slowly move features to ECS/ DOTS, and finally offer a DOTS-based replacement for monobehavior and depreciate it.

    I believe the replacement will be either visual scripting (like in UE) or a separate language (like in Godot). We will see whether I'm right.
     
  19. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    9,976
    Personally I don't care about either monobehavior nor DOTS, I'm just really pissed off that most of the tools are in stasis while Unity faffs around with C#.
     
  20. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    If this was 2018/2019, I'd probably agree with your sentiment. Messaging around that time was entirely DOTS focused as the one and only future of Unity. But it's 2023. Pure DOTS runtime is still a faraway dream. ECS 1.0 is not even production ready yet, and it's a hybrid ECS/GameObject system. They are not even working on a pure ECS/DOTS runtime at this moment in time. You'll wait a very long time for a future that might never come.
     
  21. iScriptz

    iScriptz

    Joined:
    Jul 4, 2018
    Posts:
    3
    This is all painful to watch unfold. 3-5 years for a 'tentative' update and this latest patch took 8 months to come out.

    Unity shouldn't call itself a software dev company.
     
    REDvsGREEN and gladddos like this.
  22. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    They're developing software a lot, it's just all internal progress only for 5+ years with little communication because they get feedback from focus test groups in large studios. I bet the feedback is that the current implementation doesn't scale in studio environments so they're not even trying to ship incremental improvements which is actually good because that feedback is correct and a new more performant runtime doesn't address all the other issues with the tool. Wish they listened to community 2.5 years ago. It took them quite a bit to learn the state of what they've integrated.

    Their current plan is not bad, but Bolt 1 never should've been integrated as a core engine package. At least it's given them some frame of reference. The basic design ideas of Bolt are good, it just falls short technically. Before acquisition, Unity had no clue what to do with VS. Now they've committed to something.
     
    Ignacii likes this.
  23. altepTest

    altepTest

    Joined:
    Jul 5, 2012
    Posts:
    881
    OP said there are no plans for 2023 which I agree as current situation is "meanwhile we try to not get bankrupt". (my opinion only don't jump at me)

    Poor management, hard economic situation, corporate attacks from google and apple that do anything to mess with unity related products (they do this with unreal also but they have money for lawyers to fight back), big studios moving to internal solutions, general fall in new users wanting to learn game development and have the brain to actually do something.

    This last one is really a big issue going forward and not only in this field, as young people that are now around 18 years old have no interest in tinkering with this advanced stuff. They were raised using mobile devices where if something didn't worked they moved on to something else.

    In my time, and I bet for any of you was the same, you had to get savvy to actually play some games as most of the time the computer will fight back at you, games will have bugs. So learn about files, learn about drivers, learn about mods and on and on. Then you find out you like this stuff and then you try to figure out how this game dev work. How programming works. One thing leads to another.

    Now most of young people will touch some icons on their phones, "play" games that play automatically, watch youtube, watch tik tok, have a lot of things to do if some particular activity doesn't work. No need to figure out how to fix it. General education level is lower than ever, schools are a disaster. People are dumber than ever.

    This means that Unity community will never have the same number of people as it was years ago. There will be less new users with the desire to learn game dev and have the patience and goodwill in trying to fix all the issues unity has. Which is an issue for a game dev tool that was targeted at small to medium creators that had patience to deal with issues. This business method is death and buried

    Going back to this visual scripting thread, is no surprise they want feedback from teams that have at least 5 devs. Single devs are not a target anymore. And can you even blame them?
     
    Ignacii likes this.
  24. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    1,270
    It's just poor management. From what I can tell Unity is only a little bit more likely to go bankrupt compared to other typical IT corps of this scale. We're in this situation now because they acquired Bolt out of the blue, formed a completely new team, expected to finish and integrate Bolt 2, then found out it's too complex to finish in time for 2021.1 and doesn't align with Unity's newly birthed vision for Visual Scripting in Unity that came about after Bolt was acquired. So in goes the outdated and far simpler Bolt 1 which they can later mold into what ever they're working on now.

    It took a very long time to integrate Bolt 1 properly and fix bugs at which point they finally understood that shipping incremental updates for the current version is counter productive like the community said to them when Bolt 2 was cancelled years ago. Hence another 2-3 year wait time so they can redo the thing from ground up and do it properly this time.

    All new Unity workflows are aimed at large teams because that's where Unity historically has been weak compared to Unreal or inhouse AAA engines and higher ups want that piece of pie. Large teams is also where Unity get their money, solo devs are irrelevant to them financials wise.
     
    Z_Kir, Ignacii and Personuo like this.
  25. Max-Bot

    Max-Bot

    Joined:
    Sep 25, 2013
    Posts:
    83
    Correct me if I'm wrong please.
    Looks like UVS completely doesn't work at runtime IL2CPP.
    Tested on Android and IOS.
    Unity Editor 2021.3.17f1
    Visual Scripting 1.8.0

    Start or UnityEvent are never execute.
    Since Start is entry point to it - looks like it completely doesn't work.

    Can you confirm that UVS doesn't work in IL2CPP mobile builds (and potentially other platforms)?
     
  26. nomadic

    nomadic

    Joined:
    Mar 4, 2010
    Posts:
    42
    I can't confirm for Visual Scripting 1.8.0, but I can say that 1.7.8 is working on Android IL2CPP built with Unity 2021 LTS.