Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Introducing the uScript Visual Scripting Tool for Unity!

Discussion in 'Assets and Asset Store' started by uScript, Apr 6, 2011.

  1. giyomu

    giyomu

    Joined:
    Oct 6, 2008
    Posts:
    1,094
    ah look tasty ^^, well as many other i am waiting patiently this beta :)
     
  2. ali31

    ali31

    Joined:
    Mar 30, 2011
    Posts:
    129
    Ignore this
     
  3. MaDDoX

    MaDDoX

    Joined:
    Nov 10, 2009
    Posts:
    764
    Count on it! I'm a man who puts his money where his mouth is ;) Actually you've made my day just for hinting that it's in your plans, mouthwatering to say the least!

    Care to list what bugs are those? Alex has been fixing whatever has been reported in an amazing rate, and the community has also contributed actively with minor enhancements to existing actions.

    BTW, I forgot to mention. The main thing I didn't enjoy in the first uScript video, is that some field contents had to been filled manually with its name (string). Apparently you can only drop an object directly into the canvas and not to a field. I also didn't see any dropdown option for existing variables like in PlayMaker, that's an extremely handy feature.

    Erm.. okay, that sounds weird :S

    One thing which helps tons with that is variable/parameter encapsulation (one of the congenial features of OOP :)). If you're forced to see connection lines to variables which will be used tens of times in a chunk of code, you're bound to spaghetti lines no matter what. Playmaker does variable/parm encapsulation by default, you never see the FSM variables in canvas, it's in a separate tab, although variables can be - selectively - exposed in the inspector for ease of reference. uScript from what's shown in the video has that as an option, you can select the variables directly from the component properties panel, which's very nice. Yet unfortunately it seems like an "either/or" approach, ideally it would have a global toggle to show/hide all variable "bubbles", and even create/expose bubbles from properties-assigned variables. Another great option would be having connection "terminators", which would hint that there's a variable bubble connected there, but would only show the bubble + connecting line once the terminator is hovered over.

    Just my $0.02, keep up the great work. You've got our attention ;)
     
  4. Wahooney

    Wahooney

    Joined:
    Mar 8, 2010
    Posts:
    281
    This is looking cool so far, but like everyone else, I have questions ;)

    We're currently using playMaker in our pipeline, which works out well in most cases. But a problem arose when our level designer wanted to add some ambiance by having any bush that's triggered by a player or NPC to play a rustling sound, which worked out pretty well. But when that bush was replicated 100+ times playMaker ground Unity to a halt. Notes: Unity ground to a halt while in Edit mode, not Play mode.The bushes were also all all linked, unaltered instances of a prefab.

    I'm aware that using an entire FSM for each bush in a game level is at best ill-advised, but most designers and artists aren't.

    So... Finally ;)... The question is: If uScript were to be used in this fashion, how would it perform? Or are there methods to say, pass an array of objects as a parameter to a "Bush Rustle" (sub)sequence?

    Waiting for that beta with baited breath :D
     
    Last edited: Apr 15, 2011
  5. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    That's a good question. Is there an efficient way in uScript to make a bunch of the same object... for example if I wanted an object to play a sound when you run into it or when you pick it up... then have like... two hundred copies of that object? Is there a way of doing this? like instancing or something or saving the object as some kind of prefab?
     
  6. GusM

    GusM

    Joined:
    Aug 27, 2005
    Posts:
    585
    I would try to use just one sound on the player and/or NPC, and play it when they enter the bushes triggers.
     
  7. EmadGh

    EmadGh

    Joined:
    Jun 10, 2009
    Posts:
    147
    @uScript, Can you show us a sample code to know how we can write our own Blocks ?
     
  8. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Wow, a lot of great questions everyone. I'll have to respond in detail to most of you later tonight as today is a busy day, but for now:

    Yes to these. uScript would perform no different than if you just did all that via C# scripts in Unity. We support variable lists (arrays) that you could fill dynamically at runtime with whatever you like to perform mass operations on them.
     
  9. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    We plan to discuss this feature in more detail very soon. For now I'll say it is not much different than Universe or playMaker's approach, so if you can write blocks for them it should be pretty simple for you to write nodes for uScript.
     
    Last edited: Apr 15, 2011
  10. EmadGh

    EmadGh

    Joined:
    Jun 10, 2009
    Posts:
    147
    @uScript, Thanks for answer.
     
  11. Wahooney

    Wahooney

    Joined:
    Mar 8, 2010
    Posts:
    281
    @uScript, sounds awesome :D
     
  12. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    That might work, but the audio sources have to come from the bushes... not where the player is. If the bush is on my right, I'd like to hear it rustule from my right, not from the center.

    @uScript. This is really awesome. I can't wait for this to be released.
     
  13. azmilarash96

    azmilarash96

    Joined:
    Oct 2, 2010
    Posts:
    60
    must get this!! i watched some of the videos, impressive!! It look much easier than Kismet/Virtool, isn't it? lol, over-excited. :D
     
    Last edited: Apr 22, 2011
  14. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    Some of the videos? It's only two. You can try Universe now. This is going into beta soon, and PlayMaker you'll just have to watch videos, read documentation, and see what others have to say since there isn't any demo...

    The thing I didn't like about Universe is more on the documentation end. I know it doesn't have much, but I didn't see any practical use tutorials with it. There was one with like ten videos called Beginner level or something... Most of the videos were showing me how to write messages to the debug console... that's great and all, but I was hoping for more useful things for designers... not how to write debug messages.
     
  15. azmilarash96

    azmilarash96

    Joined:
    Oct 2, 2010
    Posts:
    60
    Yea, its only 2. But its good enough for me making myself understand the concept of uScript. And i've tried Universe, i don't really know how to use it rather than what i see in uScript video, seems understandable. I think Universe is more advanced while uScript have an simply interesting editor. Universe might be more useful for someone who have some knowlenge of scripting. I'm actually really noob with these scripting stuff.
     
  16. azmilarash96

    azmilarash96

    Joined:
    Oct 2, 2010
    Posts:
    60
    built-in curve editor? anyway, i hope uScript will be as great as i thought. I'll look forward to it. Since its not yet released, i'll stick with either Universe or Playmaker!

    (read this)
    Just noticed there is already uScript. I search the word "uscript" in youtube and google, and the result is almost all of them are unrealscript. I think this tool maybe got to change its name soon. hmm... let me give opinion, uScripter/uScriptor/uCode/etc? :/ i don't mind if the name won't change, it seems being comfirmed. And i'm fine with the name, its sound very unique! :)
     
    Last edited: Apr 22, 2011
  17. larvantholos

    larvantholos

    Joined:
    Oct 29, 2009
    Posts:
    668
    Suppose they could just go with uvScript then (unity visual scripting).
     
  18. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    I don't think it's much of an issue. From what I've read, "UScript" is just an abbreviation for "UnrealScript". Unless someone's registered "uScript" as a trademark (which I didn't find in a quick search), shouldn't be a major issue (although it might be a bit confusing to someone who happens to use both Unity and Unreal).
     
  19. RichBosworth

    RichBosworth

    Joined:
    May 26, 2009
    Posts:
    325
    UVScript sound like it's just for editing UVs :s
     
  20. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    uScript is fine.
    You all only see it as a negative point but at the end of the day its a major positive points as it allows to potentially draw attention of pissed UDK users (which I'm sure exist to a similar if not higher degree than they do here) towards uScript Unity :)
     
  21. Toad

    Toad

    Joined:
    Aug 14, 2010
    Posts:
    298
    Wow, this looks amazing!
     
  22. Infeecctteedd

    Infeecctteedd

    Joined:
    Apr 6, 2011
    Posts:
    70
    Woooooooow, this is so great! Kismet one of my favourite features of the UDK, because I really suck at scripting. This is incredible. Good stuff.
     
  23. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Thanks for the concerns regarding the uScript name (the product's full name is 'uScript Visual Scripting Tool' btw), but dreamora and others are correct-- the term "UScript" has been used as a slang term for both UnrealScript and Unity programming (and other things I am sure). We're fine.
     
    Last edited: Apr 17, 2011
  24. microneezia

    microneezia

    Joined:
    Mar 29, 2011
    Posts:
    23
    Hello there,

    I am an independent developer just getting started with unity, I come from a modeling / art asset creation background for other larger companies and have used UDK to build small technical pieces or parts of gameplay using my models and art assets... I have built small things in Kismet, but mainly I have had more experience with already built Kismet networks that I effect later to suit my specific and current needs.

    I am looking for a visual scripting program for my personal project and will need one in about 3 months or so for my unity project. I plan to hire a more technically savvy person to code the simple casual game im making - but I will require that this person use a visual scripter so that I can later effect, copy and paste the code and just generally have a better chance at dealing with it all after he has moved on past development, when I want to add additional content that functions the same way ect...

    so I have some questions, please excuse if you have answered these before or if they are really obvious, I have no background knowledge in this area;

    1. by putting the code for my game through a visual scripting application (Uscript specifically) or front end, do I suffer some kind of performance hit for this?

    1a. does simply having Uscript in the mix cause performance to be slower in any way than if it was just all traditional code?

    2. Does using a visual scripter encourage networks that require more resources or performance hits than traditional code, because in order to make the operation easier to understand for a code layman, the visual scripter is used in a longer "round about" way than simple traditional code?

    2a. by telling a coder to use a visual scripter does it force him to put in a code network that takes more resources than if he just wrote the code himself line by line. Both ways of course doing the same operation, but the coder has a way in C# to do some operation, and a visual scripter will take more steps to do it in order to make it easy for the layman to understand...

    3. I see some hints aimed at Maddox that Uscript will be able to take its visual networks and output traditional style code, is it ridiculous to even ask that this could be done in reverse? Uscript reads traditional code and creates visual networks for layman like myself to read?

    I am watching the battle that is taking place in the Unity forums between all these visual scripters - it even seems that the other contenders are bringing the battle right to your doorstep here on your release thread - but I have to say that Uscript looks to me, an artist with no coding experience the clear choice for jumping over the technical hurdle. Ive looked at the others offerings and watched their videos and I just dont understand whats happening - but when I watch your videos I understand, and further believe I could replicate and generate new networks. Perhaps its the Kismet experience. Anyway thanks!
     
  25. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    More than 80% of the Logic Blocks in our Universe has builtin documentations (since 1.05(beta)). Just move your mouse on the block button in the Tools panel or press "Open in browser" button.
    Online docs tutorials in progress. Sorry - it's still beta now.
    But we have about 20 demo projects on our forum : http://forum.antares-universe.com/tutorials-f5.html
     
    Last edited: Apr 17, 2011
  26. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Hello microneezia! You may want to start a new thread for this topic to allow you to get more general feedback of all the potential options and what may best suit your needs-- this would allow competitors who follow rules of etiquette to more freely answer your questions as well. I'll attempt to answer your questions regarding uScript here as it definitely will be an option for you by the time your project starts.

    Not with uScript. We are preparing a feature announcement regarding this very thing shortly.

    uScript does not encourage that behavior, though just like any tool it is the operator that decides on how to use it! As far as if the "user friendly" side of uScript would negatively impact its performance-- not at all! uScript's end results is no different than if you had hired Detox's programmers to work on your game directly.

    Your programmer can make uScript extensions in C# for whatever may be needed for your project. The up-side of this to you is that these new uScript extensions are now available to you in future projects. If your concern is how the programmer may decide to create visual scripts that you later need to interpret-- this is one of uScript's shining features- its ease of use and readability for non-technical people.


    As far as uScript reading traditional/random code to visualize it-- that is not our focus at this time. However, uScript visualizes code written for it just fine (like new nodes).


    Thanks again microneezia! We try to focus on our own development and innovation with uScript rather than on what competitors may be doing or how they are reacting to our presence. All of our energy is in executing our vision for uScript. At the end of the day we have put this massive effort on making uScript something that game creators like you can use easily and effectively to make us all awesome games to play!
     
  27. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    @uScript - So new nodes have to be written in C#? Any plans to support UnityScript also?
     
  28. microneezia

    microneezia

    Joined:
    Mar 29, 2011
    Posts:
    23
    thanks for your really quick response! - I didnt start a sepatate thread because im specifically interested in uScript due to how easily i can understand it right away.

    i'm subscribed to your thread and patiently awaiting new information... thank you!
     
  29. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    I think, there is no difference where you write the blocks for uScript : C# or JS
    There is no difference for dotnet Reflection
     
  30. microneezia

    microneezia

    Joined:
    Mar 29, 2011
    Posts:
    23
    Neodrop is answering questions for uScript now, he obviously wants to defect - i'd tell you to "bring him in from the cold" uScript... but you are obviously doing fine without him...
     
    Last edited: Apr 17, 2011
  31. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Neodrop and his team have been working just as hard on Universe as we have on uScript I am sure. :)

    He is correct regarding dotnet Reflection. uScript will detect and visualize any scripts loaded into a Unity scene. However, beyond reflection you can also use C# to write your own more friendly custom nodes (blocks) as well to do whatever you want. We also hope uScript users will share their nodes (and advice, new GUI skins, etc.) with others on the uScript Community Website.

    So yes, if you write a script in UnityScript, uScript will access that script and allow you to visualize it as nodes, properties, etc and use them in your visual scripts. However, you can write specific "professional" uScript nodes as well to extend uScript however you like-- but that requires C# due to many C#-only features that gives us a lot of power and flexibility within uScript.
     
    Last edited: Apr 17, 2011
  32. rmele09

    rmele09

    Joined:
    Nov 8, 2010
    Posts:
    712
    when is open beta!?
     
  33. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    Ok, understood. Too bad, I'm pretty comfortable with Unity Script / Javascript so I was hoping I could add this as a supplementary tool.
     
  34. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Just to be clear uScript does not require ANY scripting/programming to use-- just to customize it further if you have special needs. Also, as mentioned before your UnityScript/Javascript scripts will be seen by uScript, allowing you to use them in conjunction with your visual uScript graphs and nodes. Also as you will soon see, making your own new node blocks for uScript is fairly simple-- even if you are not experienced with C#. I'm also sure people will be creating new nodes for uScript and posting them to our soon-to-be-open uScript Community Website.
     
  35. Cnaff

    Cnaff

    Joined:
    Apr 3, 2011
    Posts:
    82
    Looks awesome!
     
  36. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    The Part 2 video is building now. Should be up in the next hour or so!
     
  37. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    That's great news... I'll be waiting.
     
  38. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    Sooo... how 'bout that video...? ... sorry didn't mean to rush you... *sits and waits anxiously.
     
  39. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Making the post now!
     
  40. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    We have just put up the second video showing some of the uScript Visual Scripting Tool in action. This is part two of a two part video called "uScript Fast Gameplay Setup".



    Here is a link to the Screencast version if you can not access YouTube.​


    If you missed Part 1, you can see them on YouTube or Screencast.

    As always, we love feedback, so please post on this thread with any thoughts, suggestions, or questions you might have. We'll do our best to answer what we can!
     
    Last edited: Apr 18, 2011
  41. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    1,047
    Hi a question about the workspace size - can you zoom in/out or do you only pan around?

    Great demo's btw ...

    iByte
     
  42. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Thank you iByte. We do have canvas zooming working, but it isn't fully implemented yet in the demo build I was using for these videos.
     
  43. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    This is great. I think this was asked already... but can we highlight a lot of nodes and pack them inside one node... like all the stuff for the alarm and the door, can we put inside a Door Alarm node so that things will be less crowded?
     
  44. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Yes you can. I'll be doing a quick video soon showing that very thing actually!
     
  45. MitchStan

    MitchStan

    Joined:
    Feb 26, 2007
    Posts:
    568
    Another great video. UScript looks awesome.

    I have a question but maybe this is not the time/place to ask, but I'll try anyway. There are 2 triggers in your scene - one for the alarm and one for the hack. And you have two OnTriggerEvents in your graph. I see in the pt1 video that you dragged and dropped the alarm trigger from the inspector onto to the first trigger event.

    But in the pt2 video you don't drag/drop the hack trigger on the second OnTriggerEvent. How does the second OnTriggerEvent know to respond to the hack trigger box? Did I miss something?
     
  46. uScript

    uScript

    Joined:
    Feb 20, 2011
    Posts:
    232
    Great catch MitchStan! I had to go watch it again myself to see what you meant. In making these videos I usually do a couple of takes and pick the best one. I believe in the take I had chosen I had already set the instance on that OnTriggerEvent from a take before and forgot to reset it. You are correct in that you need to set the instance on the event to the trigger you want to use.

    Another way you can do this is by drag-dropping the trigger onto the canvas and choosing Event instead of placing it as an GameObject variable (the videos are from an older build and didn't show these menu options at the time -- that context menu is still a work in progress):

     
  47. MitchStan

    MitchStan

    Joined:
    Feb 26, 2007
    Posts:
    568
    Ah, thanks for clarifying. And nice to see other ways we can do this in your explanation.

    Great videos by the way. Please keep them coming if you can!
     
  48. Schlumpfsack

    Schlumpfsack

    Joined:
    May 30, 2010
    Posts:
    608
    this looks really really good. i think you already have a customer here :)
     
  49. Havok

    Havok

    Joined:
    Aug 21, 2009
    Posts:
    36
    This looks great!
    3 main things I am liking here.

    1.) The drag drop of the objects to make variables etc.
    2.) The fact that one can make ones own nodes and then share them. It means eventually one will have a library of nodes etc to choose from for rapid prototyping to full development.
    3.) Great feedback from Dev.

    Loving the videos. Would this be available on export for Free/Pro and all iOS /Android builds?
     
  50. Thorgarad

    Thorgarad

    Joined:
    Apr 18, 2011
    Posts:
    10
    I have few questions:

    1. When will be a release date, if current version is 0.1?




    2. How should I use reflection for other classes of UnityEngine or Mono? How should I make a function call, for example? If I have only this:



    And why uScript use reflection for access to native UnityEngine objects? Or the word "reflection" is necessary only for advertising?

    3. Is prefab pipeline supported with uScript?
     
    Last edited: Apr 18, 2011