About visual scripting

Although UE4 doesn’t seems like it’s the only tool offering wide visual scripting capabilities, but it seems it was the first one for many to actually try the subject through Blueprints. Including me.

Initially I took it as a tool to utilize some basic, built-in functionalities without bothering with actual programming. I think I actually saw some tone of other opinions kind of ‘well yeah it’s great basic-programming-for-dumb tool, even our marketer was able to create something’.

For example, initially there was no possibility to do the math other than through placing tons of ‘a + b’ nodes for any simple formula. Now, with 4.2 release, they are introducing nodes where you can actually write an entire formula. I wonder if there would be an opportunity to create a custom nodes with a normal code in it. Sure the possibility to make C++ code and Blueprints to interact each other is already there. What I’m talking about is to do the ‘raw’ coding right there in the Blueprints and immediately make it available to reuse as just another visual node.

Overall, finally I’ve seen it not like an additional tool alongside with the ‘real-man way to code’ like traditional IDEs, but as the perspective to replace traditional coding entirely, because it’s only a matter of time when things like Blueprints would be as flexible and universal.

But even if it will be as flexible as traditional coding, why would people switch to it? Main reason is the visual way to program potentially a way more efficient than traditional verbal way. The reason why marketers and artists are successfully making their first steps in the programming via Blueprints is not kind of ‘Blueprints just simpler for lesser creatures to start’. Visual perception is producing most of information flow in brain, and for hundreds of millions of years brain was developed around it. While speech is just some sort of side capabilities we have recently got. Visualization just involves more of brain into the process. Thus even not experienced people became capable to figure out how to actually program something.

So there is at least one truly fundamental reason why visual scripting/coding would eventually compete verbal coding at least in application area (Java, C#, etc).

Conclusion: UT has to jump in this passing train until it passed completely. Visual scripting is not just another fancy tool, but one of most important things to develop. Better if it would be an cooperation with some language developer, for example, why wouldn’t Microsoft to make theirs Visual Studio truly visual. :smile:

That’s good that you can write formula in the new BluePrints. I often though combing BluePrints with something like Mathematica would create something very powerful.

It would be great if the formula you write were formatted as standard mathematical expressions. Since that’s how our brains process maths the best:

eg.

Instead of “Sqrt(x^2+y^2)/4”
It should be displayed in the node as:

1630892--100399--$math.gif

What do you think? Maybe someone should suggest that to the Unreal people.

Thats smart, I like it and I approve this message.
Say NO to writing!

I think you essentially can do something like that as described here:

https://wiki.unrealengine.com/Custom_Blueprint_Node_Creation

A think they aware of what way they could improve Blueprints even more. My suggestion, however, is for UT to take Blueprints seriously and introduce their own ASAP. :smile:

Hm… I’d definitely try it if Unity released their own. It doesn’t seem great to me from the perspective of never having used it before (which means that what I say can be taken with a grain of salt). But it seems like it would get really cluttered and be difficult to organize. And in some situations it may take up a lot of space when there wouldn’t be that much writing involved doing it through code?

And can you possibly match the power of programming in an effective way? I am skeptical about it, but willing to try it if Unity would release it without me having to pay a lot of money for it…

There is, since 2011 an Antares Univers Vizio plugin for UT, that has also visual debuging tool, and it is 1:1 to UT classes, I made games and multiplayer project using just this plugin, no line of code at all!
The reason that I came form UDK to Unity was this plugin as Kismet was not good enough for me.
I didn’t check the blueprint, but it resembles AU Vizio a lot. When I have a time I will work with blueprint, but for now AU Vizio and UT is working perfect.
There you have some links about it:

aplications made with Vizio
Antares Universe Vizio

The same, I believe, could be said about OOP compared to old-school functional programming, and any other higher level vs. lower level tool comparison.

Current application languages, like C#, offers huge flexibility to effectively describe any logic you could ever imagine. But visual scripting isn’t a language, obviously, but an possible shell over it. You can compare it to the Intellisense. What Intellisense offers? Well, there are code completion, typos detection, assignment of wrong type errors, etc, all performed almost real-time as you are coding. What visual scripting could offer? All of that, at first. And admit it will not even allow you to make an typo (as there is no typewriting) or write an wrong type assignment. Additionally, it could (as Blueprints already do) also organize your code into visual flowchart, show you how process flows right there during debugging, keep you aware of possible, say, ‘attachment points’ where you can put additional data or logic branches without changing an existing ‘code’ an so on. Working with text, you must do it on your own right in your head, translating text into some sort of imaginary system, which you will quickly forgot while not working on it.

I can see it working. It probably seems strange to me only because I’m so used to the traditional approach and haven’t gotten used to that kind of system. I think I’ll have to try it out before speaking further about it.

The main advantage in an engine like ue4 is that it allows you to rapid prototype and develop the game without the need to compile in visual studio. But in Unity, C#/etc fits that bill perfectly

I still think visual scripting is great for non-programmers. But yeah for full fledged programmers in an engine like Unity the benefit is not as apparent

Pretty interesting post.

I also believe VS is the future, and the single most important tool to universalize software making. Now U4 is leading the way, even do Unity as enjoyed access to more mature solutions in the past years.
Many devs want a WYSIWYG solution for Gui, Shades etc but scripting seems to trouble a lot of minds. I fear Unity shares the big programmer “sombrero” that wont let them see past the ground around them. As the subject as never been address in any official capacity that i know off.

Yeah well, aren’t there user-made “functions” in those visual scripting plugins? As in, code reuse to reduce redundant code? I think the same concept can be applied to a visual scripting environment to reduce visual clutter.

Or alternatively go with both. It is trivial to write custom Blueprint nodes and, while solo developers might decide on a single solution, I don’t really see the point in having a team stick with one method. This way the level designer, for example, could write basic functionality while the programmer can focus on core logic.

I’m looking at all the lines and arrows going all over the place and it seems scary to me. I think that for someone who doesn’t have programming experience, then visual scripting will be a lot easier to learn. But if you’re an experienced programmer, then you know programming like you know English (or whatever native language). And in that way, your brain is well adapted to writing code out. Would visual scripting be good for a person like you? Maybe, if it’s doing a lot of work for you… as in, one node you can quickly place that would otherwise require many, many lines of code. In this way, it’s a time saver. But how often is that the case?

For those who want to know more about the Blueprint system there are some good video playlists about it here:

Or, spend twenty bucks and give it a try yourself.

Visual Scripting has been around forever, and it is not “the future”. Everyone gets excited about it the first time they try it, but give it a few months, and you will get over it. Just like charades hasn’t replaced talking, and pictograms haven’t replaced writing, bubbles and arrows won’t replace coding. Language is a very compact and inherently understandable way of communicating information. While it’s true that some people are visual learners and some information is more easily conveyed through pictures, these are special cases, not universal realities. Communicating with words is here to stay. Anyone who really thinks that visual diagrams will replace language should only reply to this post in hieroglyphs and MS Paint drawings… I guarantee you will start to remember why words are more useful than squares and arrows pretty quickly.

My comment is regarding what benefits does Visual Scripting offer a full fledged programmer though over traditional programming within the Unity environment? I know why I would write a blueprint in ue4 (because its so easy to prototype things with it) but in Unity there is C# in which compiles on-the-fly.

I’ve worked on products where we’ve had visual scripting available but only our Level designers and scripters used it to good effect. But our coders never did…

In other words, any of those data structures we are using in programming just useless, good-ol’ serialized data and ASM is always better. LOL.
That is why algorithms often described in a flowcharts first, and then just serialized in languages, sure. Such an example of a programmer who can’t figure out concept of interfacing. As verbal language is not more than interface, no matter how flexible it could be, it puts nothing but limitations.

I wonder if you could say something similar about any visual material editor (which is actually one of application areas of visual programming). Sure, real man doesn’t need all those squares and arrows, while there is such effective way to do the same in a raw shader code. The only problem is a director doesn’t want to hire yet another programmer, when artists could do the same visible (damn, again that ‘vis’ root) result.

Face it, you have quite a chance soon to be replaced by marketers and artists which will start to program things for themselves without your help.

I think that there’s a lot more to programming than just ‘learning the syntax’ and ‘knowing what each tool does’. I mean, verbal programming is essentially: you’re given a bunch of tools. You’re given loops and arrays and lists and functions and interfaces and what have you. You can learn what all of these do and how to write them out verbally, but does that make you a good game developer/general programmer?

Visual scripting is kind of the same thing. You’re given all the tools, just in a different way.

But in the end, I think you need to know how to program. You need to know how to actually use the tools to make something. You need to know the logic, how computers work, how all the tools work together, etc.

I still am unsure about whether visual scripting can do all the same things as actual programming. I find it hard to believe. I feel programmers will be needed even if just to make custom nodes for the visual editor. Because I don’t think it can have the same power that written programming can.

Being trained to think one way, it always hard to make yourself to learn some new way. Although visual scripting is not a language, but more like some sort of Intellisense, without seeing actual code you nonetheless have to actually learn it as a new language to describe logic circuits you are imagining. Being unfamiliar with it, especially when there is the other so familiar way to program, it is natural you feel nothing but limitations. Had you been initially trained to program with Turbo Pascal’s functional programming, even then you will think at first that damned OOP and C# limits you (how could one ever survive without global methods and variables?).

Not to mention that today’s visual scripting could actually not be as flexible and effective as a raw code it supposed to generate. But it is only a matter of time when it will.