Hello I am a games artist.
My first published game was in 1997, in all the time since then I have never been able to code, I frankly hate it, I have spent many hours trying to debug even the most simple line of code, I guess a chap must except his own limits.That being said I am comfortable with highly technical process in lots of software and visual scripting.
I think Unity is fantastic but I don’t understand why there is no in house visual scripting system.
Surely democratising games could include creating a solution for none coders, giving them the ability to express ideas and prototype without the need to learn a coding language.
I don’t need to write a shader from scratch or create code to light so why would I have to code camera controls etc.
I know there is Playmaker and it is very elegant but the learning path is not part of Unitys learning path tutorials and so it makes the process difficult.
Just an observation, a personal view that Unity is too code centric .
You are welcome to try GameMaker or PlayMaker.
You’ll find that ultimately any visual scripting tool is less flexible then straight code.
Visual scripting has been tried numerous times in the past by other companies but it simply never caught on. One part of the problem has been affordable tools, but a big part is simply that most visual scripting systems lack flexibility and trying to add it in often results in killing any advantages it had over a more traditional coding approach.
Blueprint is one of the more successful attempts at visual scripting, but at the end of the day it is still basically coding only with a different appearance. I definitely love the approach it has taken though.
Or uScript
I went to look at this for my kids, since the girls want to learn to script. Thought it might be a good start. However, it hasn’t been updated in a while and there are complaints about lack of tutorials. Might not be the best to recommend to a non-coder. Playmaker is updated regularly at least even though it has some limitations.
Yes, I suspected it may have fewer available resources or it would have been closer to PlayMaker’s popularity. I don’t know anything about updates though aside from it received one three days ago (most likely to make it work with Unity 5).
Ahh, well not posted on their forum. They seem to have support issues.
Too bad because it looks amazing. Might even allow me to code. My only issue with visual scripting is that I haven’t found one yet that worked with multiplayer. Playmaker works with Photon only. My son loves it though.
If I was going to teach kids about programming, I’d expose them to traditional programming ASAP. I wouldn’t think kids would have preconceived fears about such things, unless they pick them up from their parents or something. The thing is, with PlayMaker specifically, right off the bat you’d be hitting them with concepts like finite state machines, states, events, and transitions.
To make a basic “click on Mickey Mouse to make him burp” game, here’s how you might do it in PlayMaker, assuming you already have a GameObject with a visual element and a collider:
- Select Mickey Mouse GameObject
- PlayMaker → PlayMaker Editor
- Right-click → Add FSM
- Right-click → Add State
- Right-click on the new state and select Add Transition → System Events → MOUSE DOWN.
- Right-click in FSM background and select Add State.
- Click on the second state and press the Action Browser button.
- Select Audio → Audio Play (not to be confused with Play Sound)
- In the Audio Play action of the state, assign the One Shot Clip to the sound effect.
- Right-click on the second state and select Add Transition → FINISHED.
- Right-click on the transition portion of the second state and select Transition Target → State 1.
- Right-click on the transition portion of the first state and select Transition Target → State 2.
Here’s how you might code it (assuming you had an AudioSource with assigned sound effect on the GameObject):
using UnityEngine;
public class MickeyClick : MonoBehaviour
{
private AudioSource _sound = null;
void Awake()
{
_sound = GetComponent<AudioSource>();
}
void OnMouseDown()
{
_sound.Play();
}
}
Is that really super scary? You’d have to explain what a Unity component is. There’s no getting around that in Unity anyway though.
Don’t get me wrong, FSM’s are clearly super useful in games (I use non-visual ones exclusively), so I get the appeal of PlayMaker for those. I believe I read somewhere that Blizzard even used PlayMaker for UI states in Hearthstone. But they didn’t try to write the entire game that way.
Nobody is going to be surprised if Unity announces an integrated visual programming tool someday. For now you have to choose Unreal/Blueprint or Unity and an add-on if you want visual programming. Doesn’t seem like a big deal.
You never need to make excuses for using playmaker or blueprint. Some people seem almost apologetic when it’s mentioned. There is no shame here. Node based game development is the future, on a wide scale.
Different people learn and approach problems in different ways.
I think Bret Victor (software engineer at Apple and a real genius, which pains me to say as much as I dislike Apple… he’s the real deal) nailed it on the head with this talk:
Unity’s Editor is edging closer and closer to this. Basically (and I am over simplifying this A LOT), they [Unity] would have to make a C# interpreter (there are a few out on the market already, some open source I think) that would interpret the C# to give immediate visual results (and vice versa), and then actually compile the C# when you choose to save your changes or build and run.
Since Asset Store Level 11 I am playing around with PlayMaker and I really like so far it because it does let you focus on getting the logic down. It still feels a little patchworky for Unity 5 features (like the new UI) but I really like it. Also I don’t see any problem in using it either. Worst case: you find something that works in PlayMaker and rework it in more optimized code later on.
PlayMaker also works together with manual scripting.
(edit) Deletet a part. Actually I guess I should not judge about uScrip when I am not even actively using it at the moment.
wow what an amazing talk, thanks for posting that
Hi there
I am very Dyslexic and Node based workflows are a godsend. even a few lines of simple code are too much for me whereas I am very happy to use Houdini or create complex, but efficient shaders etc.As an artist, Senior and lead I have worked on many console titles but always with programers.
I met the chap behind playmaker at this years GDC, very nice man and we talked about the tutorials and the possibilities of there being more prebuilt kits but there is no firm roadmap for that.I have a copy of playmaker but because it is third party there ( for me at least ) is a disconnect between unity5 tutorials and old playmaker ones.
I guess that for many people who can code it is hard to understand people who can’t .
I guess all I am trying to say is that for people such as myself who would like to be able to develop proof of concept stuff in Unity, don’t care about efficancy it seems like a missed opportunity not to have Playmaker built in and part of the tutorial pathways.
it would be great to have the stealth tutorials done as code and as playmaker.
Any way thanks for everyones input
Has anyone written a ladder logic implementation for Unity? There is another paradigm I must see implemented and used. I could argue its half way between visual scripting and C# scripting :). Yeah, lets not go down this path. As much as I am comfortable writing it, ladder logic is really the wrong framework to use within a game engine.
Ultimately you have two choices, use the functionality provided by Unity or a third party. Or write your own functionality. If you are unwilling or unable to do those, you are at the mercy of waiting for some other party to implement the functionality you want. In the case of tutorials there is nothing stopping you from rewriting the classic Unity tutorials in playmaker.
Or PM me. For the price of playmaker plus an incentive I might be persuaded to rewrite the classic tutorials.
You’re welcome. It is an incredibly powerful message to all people - for software engineers it is a wake-up call to stop coding like its 1980 (and stop making people feel dumb when someone says a different way is easier for them and should be available to them for use). Just ignore those people on these forums. There are some good folks here too. Like with any community, there’s some good people and, well, not so good people (of which I learned pretty quick when started engaging in the forums).
I tip my hat to Bret, and <grumble, grumble> Apple. In this case, we should “think different”. While I certainly prefer coding, I can totally understand your position and reasoning, and thus can understand and appreciate why it would be important for you.
My 14 year old daughter learned how to Mod Minecraft in Java. I don’t think she is afraid of programming. However, something like Playmaker can introduce them to the logic of programming. My son started with Playmaker and he will be a junior in college studying computer science this fall. Also, my husband programs in C++ and C# so no fear from us.
Sometimes it isn’t about being scared but more about seeing things visually. A lot of people, myself included, are very visual people.
Built-in visual scripting would be cool, but it doesnt seem like it will ever happen. A lot of people compare uScript to Playmaker but its an obscure comparison since they’re different types of tools. They’re both visual, but fundamentally different… Playmaker does have a good reputation and is a great tool that offers a lot of workflow gains with minimal tradeoffs.
There are somewhere around 100 tutorial videos on the YouTube channel and the vast majority of them are still relevant for the latest version, even the oldest ones. We try to keep up and add annotations to notify of clear errors/problems… We could probably stand to add 100 more… I think the real dent here is that everyone has different expectations of what tutorials should be. The range of feedback I get on new tutorials makes it kind of weird to scope out future tutorials… I think the bulk of users just expect regular updates while a smaller more vocal group is more aggressively critical and undecided about what they actually need. Maybe I over think it.
Well said.
When I write code I feel like I’m writing a living novel book of precise instructions!
I’m so used to write/read code, visual thingies are a nono for me but I don’t hate them either.
There is also Antares Universe in case you guys didn’t know about it.
Also, uScript developers are still quite active - they pushing out updates at least every 3 weeks, often times sooner. There were a lot of discussion comparing them (PlayMaker vs uScript vs Antares Universe) on this forum, just search for it.
But nowadays, there is a whole section on Asset Store dedicated to Visual Scripting. There are just too many choices, each catering to different need / understanding / level of code proficiency of the user. Node Canvas, Blox 2, Behavior Designer, uFrame, iCanScript… the list goes on and on.
You just need to pick one you like and start using it. Visual Scripting helps you in understanding how to code (at least for me), clarifies relationship between objects, and ultimately turn you into a real coder!
So what you are saying is I should write that ladder logic editor extension.