"visual scipting tools, share your experience (new Unity3Duser coming over from Quest)" (532819)

Hi there,
I am new to Unity3D and would like to know a few things about the biggest 3 visual scripting assets (Playmaker, uScript, Universe)!
There are many informations, postings, comparisons regarding this topic, but most of them became obsolete (< 2011,2012). I would like to get some “up-to-date” informations, because all 3 seem to be very useful.

Being a 3D-Allrounder and using Quest3D for years I am used to develop simple or complex applications without writing scripts. Most of my developments focus on specialized applications (f.e.: product-presentation, multitouch, AR, sensor integration, simulation, multi-display, kinect-stuff etc.), sometimes also small games. Quest is dead for a while and no more updates will be released…
So I am digging into Unity now and I really like it, amazing features, many things are so easy to do! One thing disturbs me: you have to code your logic in a text editor. I know there is nothing better than to write it directly in C#, but I like the visual thing and I am used to it. I read a lot in the forum about Playmaker, uScript and Antares Universe. I already tested uScript and Universe, Playmaker does not offer a trial edition. I also did a few C# scripting tutorials. But I think the visual way of programming will get me much faster to the goals I want to achive. Before I spend more time with one of them I wanted to ask you about your experiences with visual scripting. To make it easier and comparable, here are some questions. Would be great, if you could answer at least some of them / share your experience on one of those 3 assets!

  1. is it possible to create a complete, maybe complex game / application with each of them (without writing scripts at all)
  2. visual debugging possible? which one has the best debugging? (0-10; 0 = not possible; 10 = well done)
  3. performance impact of visual scripts? (0-10; 0 high impact; 10 low or no impact on performance)
  4. compilation time, testing while runtime? (0-10: 0= takes lot of extra time ;10 = very fast, same like normal scripts)
  5. best documentation (tutorials, reference, forum, etc.)? (0-10: 0 not existing; 10 best documentation)
  6. biggest community? Playmaker > uScript > Universe ?
  7. do all of them support FSM (playmaker seems to be a big FSM only)? (0-10; 0 not implemented; 10 well done)
  8. workflow: overview, shortcuts, nesting, reuse graph code, containers etc.? (0-10: 0=pain; 10=well done)
  9. combination with normal C# scripts possible? (0-10; 0 not possible; 10 working perfect together)
  10. future development; what do you think? will all 3 assets updated / available in the future? lets say the next 2-3 years?
  11. multiplattform: do they work on all plattforms like Win, IOS, Andriod, Website etc.

(12.) are there any plans from UnityTechnologies (maybe with the upcoming version 5.0) to implement a native visual scripting solution like Blueprint in the new UE4?

Thanks in advance!

Ah… Yes and no. It will get you faster there for simple thing. It will be horribly slow for anything more complex. When the code is well done and properly structure, I can beat any visual scripting by days or weeks of time.

Also… I guess MonoDevelop and Visual Studio could be considered “text editor”.

  1. Maybe. It would have to be very simple or use only the nodes supplied with those tools.
  2. Visual debugging is possible, I just don’t know which one as the best.
  3. If done right, the impact is minimal, but there’s always an impact.
  4. Usually, visual script has no compile time, because it’s data-driven and no new code is generated.
  5. No idea, sorry.
  6. I hear a lot more about PlayMaker. As for the size of their community… No idea.
  7. Usually, you could see visual scripting as a form of FSM. As for which one is more in line with the design… no idea.
  8. Dunno.
  9. They will all - I think - offer some way for you to add new nodes. In form of grouping existing node, or writing new one in code.
  10. That could only be answered by the owner of those tools.
  11. Usually, yes. I haven’t heard of any being restricted in some platform.
  12. I hope not.

Let me be clear, I’m not against visual scripting… I’m against unbound or unlimited visual scripting. I wrote my own “scripting” editor - which is not node-based - and it is very clear it is used by level designer to add smaller logic to their gameplay ingredient, not to code a new enemy AI!

I’ve seen what unchecked visual scripting can do to a project and a team trying to debug and maintain thousand of linked nodes. It’s fine for small things. If your “script” is getting above 25-50 nodes, you might be better rethinking that.

Thank you LightStriker for your detailed answer!
Got your point! I was afraid of that… :rage:

Other opinions / experiences? :face_with_spiral_eyes:

I haven’t used uScript or Universe but my YouTube channel has some examples of what you can do with Playmaker if you want to see practical application.

Brevis is entirely done with Playmaker so far. I’ve tied together assets I’ve bought from the Asset Store with Playmaker to fill in the gaps, and just scripted custom actions for it when I need to.

Hope it helps you get a better idea, maybe someone else can post some uScript Universe examples for comparison/reference as well.

I’m also interested, I’m looking for another visual scripting solution since quest3d passed away.
I also saw that unreal 4 blueprints is a tool that replaces kismet and should let the artist program a game without coding.
My concern is: how much these tools let you do without having to write some code? I mean I think it’s easy to script the behaviour of a game object, but what about things like TCP/IP connectivity, dynamic loading of assets, or internal database management? can these things be done with these tools as they could be done in quest3d?

There’s also plyGame.

No need to repeat the other great answers, so I’ll just fill in a few:

Unknown Orbit is another game done entirely in PlayMaker, among many others. Lacuna Passage is being done “90% in PlayMaker.”

uScript’s is prettiest, but PlayMaker’s is the most complete (just my opinion).

Yes. This doesn’t just mean a bigger support network. PlayMaker also has the most third-party add-ons.

Yes. In fact, FSMs are one area where visual scripting tools may be superior to text code. You have to write a significant amount of code to build an FSM – not a massive amount, but still every line of code is a potential bug. A visual FSM gives you a big picture of how states transition to each other. And they’re easier for designers to understand and tweak.

Thx LaneFox, I have already seen your videos! Did not know that the complete game was made with playmaker, which show that point 1. is definetly possible!

Thanks TonyLi!
I thought uScript did not offer a visual debbuging?! maybe I am wrong! I will have a look at plyGame, too!
Thats excatly what I think, why to use a significant amout of script (with potential bugs) when there is a simplier way to use FSM insted to manage the states…

Made a little test scene with 2500 (50x50 grid) cubes, each cube has a simple “look at” script attached. As expected visual scipting is slower then C#, but uScript seems to be a bit faster than Universe (if I set up uScript and Universe scripts correctly)! Overall performance loss with 2500 visual simple scripts is existing but better than expected!

empty scene: 1100fps
cube C#: 122fps
cube uScript: 76fps
cube Universe: 43 fps

I gotta vote for PlayMaker here. We had engineers make custom actions which our level designers were able to drop into PlayMaker’s finite state machines. We used it for scripted events and quest chains. Eg: We wrote a custom action (in C#) that can up a counter by one when a provided enemyId is killed. Then our level designers can use that action for all kill quests.

Of course you can only do so much with visual scripting. While learning syntax sucks, when it comes to large games the hard part is figuring out how to do things, not necessarily the words needed to make a computer do those things.

EDIT: Just to add a couple of points. PlayMaker is very well supported. They’re like the 2nd most popular addon after NGUI. Hutong Games are active on their forums. We have used it with iOS, Android, Windows Phone, and Windows Store apps. Code reuse is very high once I understood how custom actions fit into their system. Highly recommended. I’m not associated with Hutong Games in any way.

EDIT 3: I can’t imagine making an entire game with visual scripting. I can only imagine how large the entire game would look with thousands of boxes everywhere, and that seems like a huge pain to organize and debug.

I want to second Garth Smith’s statements.

On their own, your game is going to remain very simple. But when you have a engineer/developer there to write custom nodes for you, that’s when they can become super powerful.

They have their place for some things, but not for others. Hey, you want to make a script that rotates something like a pinwheel, or triggers an event that makes an animation play, or other simple scene event driven stuff. Oh hell yeah, they are great for artists and content developers who don’t want to, nor should have to, learn to program. What’s awesome is that they don’t have to worry about some weird syntactical issue causing an error… it’s purely logical, which lowers the learning curve.

But make an entire game that way?

OK, like 7 years ago or so is when I first started to program. I was young and dumb and never wrote a line of code in my life. We wanted to make a video game and me and 2 friends moved into my garage, bought a bunch of hot pockets, and spent a few months teaching ourselves how to do it (note, my 2 friends had already gone to college to learn the art side of things… I had… well, a book on C++ and another on C#). One of the first engines we started with worked with XNA, and it had a visual editor (we tended towards XNA because I found C# easier, and I really didn’t like the idea of learning one-off languages like torquescript, or utscript). We quickly learned how tedious it was to do anything more complicated than basic triggers and the sort. I actually wrote the first version of the player’s input controller in it, and any time we wanted to change even the smallest piece of logic became a NIGHTMARE.

I was essentially forced to learn to program… begrudgingly… since I was procrastinating that part. I wanted to make games, not muck about in this “learning” business. We thought we found our sweet spot with a visual editor… we were wrong.

I will say, programming didn’t take long to pick up. We never did finish that game (though we’ve revived the project for a game I’m working on right now), but it did give us enough in our portfolios to get jobs in our respective fields.

Here’s my two cents.

I actually developed a complete game with quest3d. I can’t tell you how “big” it was since it is my only game so far, but for me it was complex, It was a turn-based strategy games, with lots of screen, options, and even an a.i.
I didn’t write a single line of code, everything was done with visual blocks, and yes it was complex to debug but not impossible, the only thing is visually organizing your blocks (something an artist is supposed to be very good at).

What I’m trying to understand is if there’s a technical limit to what you can achieve with playmaker, antares etc, or is purely a choice. I mean, if you don’t care about graphs getting huge, if you don’t mind about debugging by searching tons of tiny flashing boxes, can you technically make a complex game like a mmorpg? I wrote mmorpg not because I want to develop one but because probably it’s the most complex kind of game to develop, it requires networking, dynamic loading, database connectivity.

I’d like to avoid spending a year or so in learning unity and it’s visual scripting addons just to discover that there’s a techincal limit that I can overcome only by learning c# or hiring a coder something I really can’t afford to do.
So I really don’t understand when people write that you’ll still need a coder. Do you need it because it’s more polished to code something rather than creating a huge graph? or because simply playmaker co. do not provide you with enough nodes to complete a game from a to z?

I thought uScript did not offer a visual debbuging?! maybe I am wrong!
No, sorry, I got distracted and was thinking of something else. But my other comments still stand, and I’ll also join with Garth Smith et al. to recommend PlayMaker. It has broad enough third party support that you might just be able to make an MMO with it, with enough third-party add-ons. Complexity of FSMs can be managed by keeping them small and modular, just like with traditional code.

I don’t doubt you could write an MMO in visual scripting. But I think the time requirement put in would be so enormous, you might as well learn programming anyway. Most MMOs require entire teams of engineers. I don’t think you’'ll find a large pool of top-end programmers that have a lot of experience in visual programming.

As an analogy… Why did humans move away from hieroglyphics (basically little pictures) and move towards letters and words? Why isn’t every book a picture book? It’s because words are generally clear and concise. Images are open to interpretation.

How many images would it take to explain the concepts talked about in this very post?

coding can be pretty fun.

honestly, if you have the discipline to build and debug a full game w/ tons of screens and functionality using a pure visual editor, then you probably won’t find coding that hard once you get the hang of it. I can’t imagine dealing with anything close to a non-trivial game in a visual environment, so hard to keep track of everything after it reaches that point of horror.

I’ve seen some other amazing feats of programming by non-programmers, crazy ass excel spreadsheets come to mind. But if you’re going to spend a ton of time in the future making games, at least learning enough code to tweek other peoples code will certainly save you a lot of time in the long run. If you can achieve a full game in visual graph, you can certainly code if you set your mind to it.

Got nothing else to contribute to conversation. Coding rocks. Everyone should learn how to do it.

If the visual language provides everything is specific to each one. Does PlayMaker have everything, I don’t know, I don’t have the experience to say. Do any of the other ones have it? Well, which one? But again, I don’t know, I don’t have experience with them.

Things is, you’re going about the question all wrong.

You can’t say “Do PlayMaker and Co. provide you with enough nodes to complete a game from a to z?” Each one is unique, one may, one may not. What are we supposed to say to that? Do you want us to break down every visual editor out there? Pick one, research it, move to the next one if it doesn’t meet your needs. Don’t expect us to do your research for you… this is your project, we shouldn’t be doing that work for you, we are here to give you what information we have on hand.

You came to a scripting forum and asked us a generalized question about visual editors, we gave you a generalized answer, along with our experiences with them.

And it’s generally… chaos. For small stuff it’s great, for anything larger, it’s complete and utter chaos. It should be used as a tool in the game making process, but not the only tool.

Can you do it? As long as the visual editor you choose has all the nodes required (there should be documentation for it, just figure out what you need, and see if it has it. You need networking, check if it has it). Sure… it’s POSSIBLE.

Would any of us want to? No. I’ve built a tree fort with rocks and rusty nails… it’s possible, but I don’t want to build my house that way.

You also bring up mmorpg, but say you don’t want to make an mmorpg specifically. But you’re implying you want to make a large game.

You’re also saying you can’t afford to learn to program with a language, or afford to hire someone to program for you.

Here’s the thing… what do you mean you can’t afford?

I totally get not affording to hire a programmer. That takes money, and if this is a hobby, you might not want to hire someone to do it.

But you can’t afford to learn it? It’s free to learn! All it takes is time. And our point is… the visual editor is going to take time as well! And to do complex stuff like a LARGE game… the amount of time needed is going to far surpass that of learning to actually write some code.

My point… if you are the only person working on a large scale project like making a video game. You can’t afford to NOT know how to code, or NOT have someone who knows how.

I wouldn’t go quite as extreme as lordofduct here, after all if this is a hobby effort - go about it however you like.

But if it’s a long term hobby, something you may spend years in the future working on - learning at least basic scripting will definitely save you time and frustration in the long run. The decision about if it’s worthwhile learning to code or not really comes down to what kinds of limitations you’re willing to accept, and what your time horizon is. If you can build a game using a visual editor, and that game worked, then you have the discipline to add code to the mix.

I’ve also never worked with playmaker, so I can’t contribute there. I will say that dfgui has some pretty excellent visual editing support for gui work. Almost everything is drag and drop. How well it integrates with something like playmaker I’m not sure about, but it’s probably worth checking into. I was somewhat frustrated with dfgui because it’s so ‘visual editor’ centric, but it may fit the bill in this case. Probably worth looking into.

Well no I don’t want anyone to research for me, I’m actually doing it. I just wanted to know if there’s some quest3d castaway in these forums that have my same background.
However from the tone of the answers I had some revelations: you can do everything with these tools but large projects become visually large, therefore in the long run coding is better. However this is purely a project management concern, not a technical one.
This is what I wanted to know before investing my limited spare time to learn unity, so thank you.

Thanks guys! Great you could give some additional point of view! Playmaker seems to be very popular and widespread!

Maybe I posted into the wrong forum (scripting), but in my opinion there is no better place here on the unity-forum!? The title of this post is named “visual scripting assets; share your experience”! There should be no problem to ask these questions, the aim of this is to collect some useful information. Coming over from Quest3D, used to visual scripting (and quest does this very very well!), its natural to search for a similar workflow in unity.

I do this for fun (20%) AND to earn money (80%). :wink: I did lot of projects with Quest3D, smaller and bigger ones, but now I want to get into Unity quickly, with visual scripting and learning scripting C# on the side…

And you are right, coding can be fun, too! Writing the first working mini-scripts gives some feeling of success :slight_smile:

However, technical limits of visual scrippting assets are important for me! I would like to know what cannot be done with these assest?

I also made the experience that a complex visual graph can get difficult to debug and confusing, but at the end this is no problem if someone is used to it and organized! A messy code is not better at all.
Maybe some of you had a look on Blueprint in UE4, this one is a good example how valuable visual scripting can be.

Do not crucify me if I dare to ask: when you use these visual scripting tools can you have a translation of your graph into c# or other coding languages? if it was so it would be great for learning.