Search Unity

Bolt – Visual Scripting

Discussion in 'Assets and Asset Store' started by LazloBonin, Jul 11, 2017.

Thread Status:
Not open for further replies.
  1. jayderyu

    jayderyu

    Joined:
    Dec 28, 2015
    Posts:
    17
    1) Sorry, could you go into more details, please? Maybe a screenshot.

    2) yes, I made sure they are included in the AssemblyOptions.
     
  2. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    1)


    2) Then I'm not sure what's happening, please open a support ticket on: http://ludiq.io/bolt/community
     
  3. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Mark_01, mensch-mueller and rakkarage like this.
  4. jayderyu

    jayderyu

    Joined:
    Dec 28, 2015
    Posts:
    17
    @ludiq Thanks, for the screenshot. I'll open a support ticket. I appreciate you looking into this.
     
  5. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Big news: Join the Bolt team: we're hiring!

    As some of you may know, I created Bolt as a single developer over the past two years. My goal was to empower every gamedev to bring their ideas to life, collaborate in diverse teams, and have fun while creating.

    Today, a few months after its release, Bolt is the #1 extension for Unity, used by thousands of gamedevs. The reception has been phenomenal and I am deeply grateful to everyone who has downloaded Bolt. Thank you!

    But I'll be honest: I'm having trouble keeping up! With an ambitious roadmap and plenty of new users, I want to make sure everyone gets a top-notch product and quality support. There's only one solution: assembling a team of passionate tool crafters. That’s where you come in!

    I'm looking for three spots to fill:
    If you think you're the right candidate, email me at: hello@ludiq.io

    Or if you know somebody who is, send them this link: https://ludiq.io/bolt/jobs

    Growing Ludiq is a big step for me, I hope you're as excited as I am about this news!
     
  6. strife77

    strife77

    Joined:
    May 15, 2014
    Posts:
    29
    This isn't compatible with Unity 5x?
     
  7. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    No, Bolt requires Unity 2017+.
     
  8. strife77

    strife77

    Joined:
    May 15, 2014
    Posts:
    29
    That's a shame. Would've been a purchase for me, but I guess I'll stick with NodeCanvas + FlowCanvas since it supports those of us on older versions.

    Good luck with it. Looks nice.
     
  9. Zbad

    Zbad

    Joined:
    Nov 20, 2014
    Posts:
    15
    @ludiq The inclusion of System.Threading.dll is killin' me - I can't use .net 4.x. Why not include an alternate assemblies folder zip file in the asset package built for 4.6 that the user can just unzip and replace the existing folder with?
     
  10. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    This set of assemblies already exists... but a Unity bug prevents it from being loaded in Unity.

    https://issuetracker.unity3d.com/is...ble-objects-are-not-recognized-in-4-dot-6-dll

    I've pinged one of my contacts at Unity and they assured me the issue is being worked on. It should be backported to Unity 2018.1. I couldn't get an ETA though.
     
  11. Zbad

    Zbad

    Joined:
    Nov 20, 2014
    Posts:
    15
    @ludiq In the xml you provided you're referencing a specific UnityEngine.dll copy. Double-check that both the Ludiq projects and the Bolt projects reference the UnityEngine.dll referenced by a unity-generated .csproj file for a new empty 2018.2.0b4 (latest beta) project targeting 4.x. Open the solution it generates in visual studio and use solution explorer -> references to determine the exact path to the correct UnityEngine dll.
    Use the latest beta (2018.2.0b4) since it may have 4.x support improvements.

    Alternatively, you could move your source into a Unity project and use .asmdef files to have Unity build your DLLs, since Unity seems to have no problem recognizing those objects in a project that uses .asmdef files for code separation.
    If that works, you could just take the .dll files in the \Library folder and distribute them, if you wish to keep the source secret (which sucks for the rest of us, but I get the motivation)
     
    Last edited: May 19, 2018
  12. Zbad

    Zbad

    Joined:
    Nov 20, 2014
    Posts:
    15
    @ludiq Hopefully Unity won't pick up System.Threading.dll if you embed it into the lib projects that require it.

    I recommend trying the "embedded resource" method first, but if that doesn't work try the tool this page recommends.

    http://www.manuelmeyer.net/2016/01/net-power-tip-10-merging-assemblies/

    2. Embedded Resource and AppDomain.ResolveAssembly, aka the Jeffrey Richter approach
    In his book “CLR via C#”, Jeffrey Richter describes a sexy approach:

    http://blogs.msdn.com/b/microsoft_p...r-excerpt-2-from-clr-via-c-third-edition.aspx

    Basically, you add the assemblies to the project and set their Build Action to “Embedded Resource”. Then you register a callback method with the ResolveAssemblyevent of the AppDomain class, like so:
    (picture embedded)

    An improved version of this approach with less manual work is implemented in the Nuget package Fody.Costura that is presented in the next section.

    3. Fody.Costura
    Fody is a .NET Assembly Weaver. Think of a tool that assists you in metaprogramming. And by metaprogramming I mean modifying .NET assemblies on the intermediate language (MSIL) level, after the build process. Fody is designed as an extendable platform with a long list of plugins. Check out the full list on https://github.com/Fody/Fody/

    Costura is one of these plugins that can be used to merge assemblies as embedded resources.
     
  13. rakkarage

    rakkarage

    Joined:
    Feb 3, 2014
    Posts:
    683
    Zbad likes this.
  14. Zbad

    Zbad

    Joined:
    Nov 20, 2014
    Posts:
    15
    @ludiq I got it working for .net 4.7.1

    I got it working in Unity 2018.2.0b6 in a project configured to use 4.x framework. It actually uses 4.7.1 since it was the latest framework I have installed on my system.

    I left all the "46" source code naming as-is, but the projects / output targets 4.7.1.

    Before you try to open the example project in the zip I sent make sure you have these installed to avoid any unimportant issues that might arise:

    https://docs.microsoft.com/en-us/dotnet/framework/install/guide-for-developers#installation-choices

    Install the targeting & developer packs for 4.7.1.

    I have everything installed from 4.6 through 4.7.2 so if you want to match my setup more identically, install all of those too (shouldn't be necessary)

    Steps:
    * Created a new example project.
    * Imported the unmodified "Bolt_1_4_0_Alpha_2" build package from your site since I couldn't easily find any script for generating a .unitypackage file from the build output folder contents, so I figured I'd start with all intended package files first.
    * Copied from the modified solution's build output folder all the DLLs/etc to the example project's Assemblies folder, allowing it to overwrite the existing files from the official package I installed prior.
    * Deleted any System.Threading.* files from the example project's Assemblies folder.

    The setup wizard successfully generates Documentation & Inspectors. It has an error in the console when it tries displaying certain lists (I haven't looked into that) but just keep going and it finishes and you can proceed with following the tutorial from youtube

    Everything works / saves / runs just fine. Tried out the tutorial flow graph editing and everything.

    https://imgur.com/a/sKDJfPp



    I will send you a private message with a link to get the zip. I suggest using something like WinMerge or any favorite diff tool to see exactly what I changed in the source code. Or I can describe it in detail if requested. I just did one of the earlier things I suggested.
     
    Last edited: Jun 2, 2018
  15. itsYloon

    itsYloon

    Joined:
    Nov 9, 2016
    Posts:
    7
    Hey everyone, I'm Hasan, Ludiq's new Community Manager.

    As you may already know, Bolt Live (Bolt 1.4) has been released! Here's an article we published on Unity Connect that goes over the new version in great detail, juicy gifs and all: https://connect.unity.com/p/bolt-1-4-0-release-bolt-live-is-here

    f71b154c-7d99-4883-850d-9be17c5a4d46_scaled.jpg

    "Bolt Live is the equivalent of realtime 3D: the changes you make are instantly reflected in your game, on all objects, with zero second of wait."

    Here are some examples of live editing in action:

    Live editing.gif

    Propogation of graphs.gif
     
  16. itsYloon

    itsYloon

    Joined:
    Nov 9, 2016
    Posts:
    7
    Here is a new video from the Ludiq Channel highlighting all the new features in 1.4:



    -Hasan Al Salman, Community Manager at Ludiq
     
    rakkarage and Mark_01 like this.
  17. itsYloon

    itsYloon

    Joined:
    Nov 9, 2016
    Posts:
    7
    In this quick lesson you'll learn how to create a first person controller completely in Bolt:



    -Hasan Al Salman, Community Manager at Ludiq
     
    Mauri and Mark_01 like this.
  18. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
  19. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Two more tutorials! Third Person Controllers and AI!



     
    JLO, Bartolomeus755 and Mark_01 like this.
  20. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Nice tutorial.

    Those FSM loop in a predefined logic. Can Bolt do interruption events ?
    For example the enemy take damage below a treshold and it should flee as priority action.
    Or enemy is doing patrol, and player do some attack ranged, from distance the enemy can't detect, this would be another interruption event, giving the enemy a longer detection range able to see the player.
     
  21. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Hi zenGarden! Sure, Bolt can define multiple transitions (ingoing our outgoing) per state, each with their own logic. Each transition is actually a full flow graph as the tutorial shows, so you're not limited in any way for condition checking.
     
  22. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I already baught Bolt some time ago.

    About interruption, it doesn't start with a state, it's an event that occurs and interrupts all other states that are already running. I don't think it's possible in FSM until a specific event node system is build.
     
  23. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    There is a Custom Event unit that triggers on all graphs on a given object, so any transition from an active state would receive it. There's also the Any State that was introduced in v1.3 IIRC which lets you reach states regardless of which one was previously active.
     
  24. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Big news! Today, we're announcing the next major version, Bolt 2!

    C# Generation, Classes & more... Discover all the features on our blog post here!

     
  25. Mark_01

    Mark_01

    Joined:
    Mar 31, 2016
    Posts:
    634
    Love it!
     
  26. AndrewKaninchen

    AndrewKaninchen

    Joined:
    Oct 30, 2016
    Posts:
    149
  27. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    This is what Unity should have, i doubt they will do better if they make a visual scripting :D
     
  28. Bartolomeus755

    Bartolomeus755

    Joined:
    Jun 20, 2013
    Posts:
    283
    Really amazing! :)
     
  29. AndrewKaninchen

    AndrewKaninchen

    Joined:
    Oct 30, 2016
    Posts:
    149
    Kinda saddens me really. Worst of all, it doesn't make much sense for them to acquire and integrate it given they are almost there in their own api's. UI Elements and GraphView API are actually pretty good.
     
  30. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,076
    Great news, can't wait for the final release!
     
  31. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Once these APIs get out of experimental in the future, we're not opposed to refactoring Bolt to use them, UIElements in particular. The GraphView API might be a bit too limited for some of our later workflow plans, but we intend to match the native look of the Unity editor as we go, so it should at least feel like GraphView.
     
    AndrewKaninchen and Mark_01 like this.
  32. AndrewKaninchen

    AndrewKaninchen

    Joined:
    Oct 30, 2016
    Posts:
    149
    Quite honestly, I'd really like to see Bolt as the default Visual Scripting solution for other things to be built upon. Always thought it looked amazing and this V2 being announced just after Unity's own Visual Scripting system makes me once again completely divided as to which I should use for my own purposes. On one hand, if I use Unity's native thing, it could be commercialized eventually at some point. On the other, it would be better because Bolt is better.

    On another note, this image really brings my mind to this topic I created in the UI Systems Previews forum, about better window management for Unity.

    Would love to see your input there (I even used Bolt's full sized mode as an example of a workaround for Unity's poor systems in this regard).
     
  33. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    To be clear, any game made with Bolt can be commercialized. You just can't redistribute assets/plugins that include Bolt.

    One thing we're looking into in the future is open sourcing Ludiq.Core and Ludiq.Graphs, the graph framework that powers Bolt flow and state graphs, reflection, serialization, etc.: basically, they do all the heavy lifting. That's probably not for soon though!

    Chimed in on the linked thread!
     
    MasterSubby likes this.
  34. MasterSubby

    MasterSubby

    Joined:
    Sep 5, 2012
    Posts:
    252
    Oh man, I sure hope this happens at some point! Once I got my hands dirty and understood it all, it really is one of the most clean and expansive frameworks. Definitely how you define ports and how the drawing and attributes to connect things have inspired my own work in that direction. Even created an inspector state machine, where transitions are defined similar to ports in bolt. Very cool.

    You guys are killing it, can't wait for 2.0!

    PS, got something real special, at least to myself for Bolt coming, starting tomorrow most likely. I call it UAlive (Unity Alive). Edit every aspect of Unity with Bolt graphs live and in real-time. Already have everything working for EditorWindows. Cool thing is variables behave the same between editor instances, just like editing live gameplay and leaving play mode. Just making it pretty.

    Didn't know if it was best posting this here, but I figured it could show just how expansive the framework for Bolt really is, can't hurt. It's about a week old. But it's intended to be free, and a larger plugin to replace a designer I once upon a time, was creating. Maybe I'll make a separate thread, as I think it could eventually have more reach then me shouting in a discord or on Twitter. I don't like yelling.

    Pre-Instanced windows
    EditorWindowTest_rect.gif

    Instanced Windows
    EditorWindow_UAlive_4.gif
     
    Mark_01 and rahuxx like this.
  35. AndrewKaninchen

    AndrewKaninchen

    Joined:
    Oct 30, 2016
    Posts:
    149
    Yeah, that's just the thing. What I want to build is just that, and it doesn't make much sense to sell an asset with a dependency as expensive as Bolt.


    This changes a few things. It starts to make sense using Bolt's graph api instead of Unity's if it's free, and then offering a Bolt integration for free alongside one for Unity's own Visual Scripting. Wouldn't even take that much effort on my part, as my system would only contain some event calls I would create embeded flow machines to answer to. I'll keep an eye for it!

    Thanks! Much better to have someone who has actually done something successful already helping pressure them about it!
     
    Last edited: Nov 3, 2018
    Mark_01 and MasterSubby like this.
  36. itsYloon

    itsYloon

    Joined:
    Nov 9, 2016
    Posts:
    7
    We have 2 new official video tutorials to share with everyone:



     
    Mark_01 likes this.
  37. itsYloon

    itsYloon

    Joined:
    Nov 9, 2016
    Posts:
    7
    Introducing the new Unity Bundles - Black Friday!

    RedditAd3.png

    The Unity Asset Store has announced new bundles just in time for Black Friday. Bundles offer a major discount on a select group of assets... and if you already own any of the assets, their price will be deducted from the total cost.

    When you buy the new Essentials for Professionals bundle you'll get Bolt and the following editor extensions at 55% OFF:
    • Odin Inspector and Serializer
    • DOTween Pro
    • P.A.T.C.H
    • Console Enhanced Pro
    • QHierarchy
    • Amplify Impostors
    • Shader Painter
    This is the perfect bundle for game developers looking to make serious improvements to their workflows. This bundle brings the price down $148 from $300, saving you $182. And if you already have some of these assets, they'll be deducted from the total cost.

    Act fast! This 55% rebate is available until November 25.
     
    Last edited: Nov 20, 2018
    Mark_01 likes this.
  38. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Mark_01 likes this.
  39. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Bolt 2 Alpha 2 is now out, featuring a whole new GUI redesign including vertical flow, compact units, port proxies and more workflow improvements. You can download the early access beta build from our website here:

    https://ludiq.io/bolt/download/2.0.0a2



    Also, there's only 4 days left to get Bolt 50% off during the Cyber Week Mega Sale!

    It's our lowest price point ever and includes a free upgrade and early access to Bolt 2.
     
    Bartolomeus755 and red2blue like this.
  40. knup_

    knup_

    Joined:
    Feb 23, 2017
    Posts:
    19
    Looks like a great asset! I have some questions about run-time capabilities. Would this asset allow you to build flow-graphs at run-time (in a build) via an API?
     
  41. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Hi Knup_! That is currently possible, yes, although the API for creating graphs is not documented. Also, in the future, Bolt 2 will require you to compile your graphs before running your game on AOT platforms, so runtime-created graphs will not be a possibility.
     
    knup_ and Catsoft-Studios like this.
  42. knup_

    knup_

    Joined:
    Feb 23, 2017
    Posts:
    19
    Very cool, and thank you for the reply! I assume that is possible because Bolt is based on reflections?

    Since the API is not documented, and the project source does not seem available, what would be the way to learn more about how to go about creating flow-graphs at run time?
     
  43. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Yes, Bolt 1's runtime is reflection based with some major optimizations (JIT + delegates). But that's also why it doesn't play well with AOT if you don't do some kind of pre-compilation.

    The source is available from our website on the download page. All you have to do is link your Asset Store invoice number to you Ludiq Account to have access to the downloads!
     
    knup_ likes this.
  44. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Mark_01 likes this.
  45. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    Can't really use Bolt until C# script generation arrives. My project is in unity 5.6.6 which Bolt does not support. It isn't worth upgrading my project to use Bolt, because ALL the other developer assets I use support 5.6.6. If C# script generation worked I could use Bolt in a separate project, generate the C# script and port that ( with tweaks if necessary) back to my Unity 5.6.6 project.
     
  46. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    Will their be an auto-upgrade from the current version of Bolt to the new 2.0 version with C# generation? If so, I will begin using the current version I own.
     
  47. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Hi Wood333, we're not intending to support 5.6.x in the future, because less than 12% of Unity users are on this version and it is no longer officially supported. As you know, C# script generation will be (slightly) coupled with Bolt runtime classes, so it cannot be dropped in a project without Bolt unless you make modifications manually.

    Yes, we plan for all Bolt 1 graphs to be compatible with Bolt 2 after mix of automated & some manual migration steps.
     
    StevenPicard and Mark_01 like this.
  48. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    Thank you for the prompt and informative response. There's nothing I appreciate more than a quick concise answer. I was going to give Bolt a try, ( I bought it a while ago ) but it's not going to work out for this project. Maybe in the future. Best wishes for the success of Bolt.
     
  49. sledgeman

    sledgeman

    Joined:
    Jun 23, 2014
    Posts:
    389
    @wood333

    Did you try other VS add-ons ? I think uNode is v5.6 compatible. Wish you luck.
     
  50. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    Thanks for the tip. I wasn't going to mention other VS assets on this forum, but now that you mention it, uNode does claim to produce C# code without dependencies. I also own Nottorus (though the developer is going to end support,) which generates C# code without dependencies.

    Bolt looks nice. I was going to try it first, because I hoped it would be easier to read and create. I don't blame the developer for not supporting Unity 5.6.6. It's business, and you gotta do what you gotta do. I have about 20 significant assets in my project folder, now, with a few more to be added. They all still support 5.6.6, but a few don't support newer versions of Unity, (water asset for example), so the right move for me was to freeze my project at Unity 5.6.6.

    I wish all developers of assets and games great success!
     
Thread Status:
Not open for further replies.