@Amon_1 Since you are long member with us on this forum, assuming you have been using Unity for a while since, why didn’t decided, move to Unreal with its blueprinting? Wouldn’t be something more suitable for you?
Never thought of that. I’ve not used unity in a long while. A lot has changed. Unreal is a may be but then if i struggle with one system it’s no going to be a cure moving over to another. I’ve got to dig my heels in like I did when I first discovered unity near 15 years ago I think.
Is it the code itself that you have trouble? Or is it the principles behind programming? Because the former can be solved by switching to a visual scripting language but the latter won’t necessarily be easier.
Being primarily a programmer I’m very comfortable working with code, and yet I found working with Blueprint to be a fantastic experience. I was able to very quickly build a character controller that was able to switch between first and third person modes within a reasonable time frame after having spent only a few hours learning Blueprint.
I’ve been coding in C# since 2001 on .NET Framework 1.0, but with all the ‘best practices’ architecture books, coding experts, mixed opinions, terminology, principles, patterns, anti-patterns and arguments going on, sometimes I just feel like I’ve barely touched the waters and don’t really know what’s going on
I just get stuff done and try to make my code easy to read, and add comments where stuff doesn’t make sense, and hope for the best, in fear that one day a Martin Fowler or someone will peruse my code and throw up all over his keyboard…
Unity’s tools may be more suitable for them and switching to a new engine requires you to learn how the tools work and how their blueprint system works as well. But I haven’t looked into Unreal a lot so maybe it will be worth it in the long run.
“One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.”
-Napoleon Hill.
I would suggest focusing on learning one thing at a time, and while it may be hard to keep it real as we usually want to be able to learn everything overnight I would try to avoid it as it could lead you to lose motivation to keep going.
When I learn new things especially in programming is that I will not proceed unless I can explain what the feature does
I also write down everything I’ve learned and then also create a project or asset that uses all techniques that were taught in the tutorial or course after I’ve finished it. This is very effective and has never failed me, however, you need to be very passionate to keep this up.
@Amon_1 Have you considered trying out Bolt which is now free for unity?
It might help to try learning Unity and programming in unity visually at first without getting bogged down with the massive information overload that comes with learning programming principles + C# language specifics + Syntax + Unity API.
Bolt will get you programming quickly, and then you can take what you learn from it and slowly progress into writing scripts. You can mix and match too so you can slowly add more and more code into your existing project that is built on top of bolt.
Its free in the asset store, please give it a go and see if its your thing! Its basically the current answer to blueprints in unity, and over time it will get more performant now that unity is making it internal.
If you do that and combine it with the approach to learning that @Unscriptableeee mentioned in their post, I think you might find working with unity quite refreshing again
That said Blueprints in unreal is pretty cool and you might find unreal more to your liking if you try out bolt and that is still not your thing.
EDIT: Also definately go through Create with Code - Unity Learn if you have not yet. It was not available back in the day when we were learning, but its probably the best introduction to unity, C# etc that I have seen - and its fun to follow!
They are paid and 3rd party, Bolt is a officially unity-owned solution and being made internal - its also free. I would always recommend that over a 3rd party asset.
I have used all 3 and all 3 can be used to make things, but I would say bolt is better moving forward in terms of official support etc.
I agree that it’s built-in and it’s free, but if he is struggling with coding Bolt is infinitely harder
Bolt - built into unity now but has some bugs and although visual it’s harder than the other two
Playmaker (on sale frequently) - very easy to understand, can have a few minor limitations (would need code for)
Gamecreator (on sale 1-2 times a year) - even easier to grasp, limited to premade functionality and/or module addons (seperate purchases)
My suggestion is for @Amon_1 to try bolt (since it’s “free”) and if that doesn’t seem like a good fit then to watch videos on the other two and pick one
I feel I should mention playmaker is specifically for FSMs, and game creator has the limitations you have mentioned. Bolt does not have said limitations.
For sure all are viable and as you said, if OP cant get on with one they should try the others. But I disagree that bolt is harder in any way, that just tells me you did not find the right learning resources. I hear a lot of people arguing that one of these 3 is easier / harder all the time and truth is they are all as easy or as hard, but everyone approaches them differently.
I think with the right learning resources all 3 are as easy to learn as each other and all 3 are very different in capabilities. So it will mostly come down to what OP is trying to do with it and what resources they use to teach themselves.
I stand by the idea that the “create with code” free course here is the best set of videos to actually teach you the unity API, and you will need that no matter which of the 3 you choose OP if you ever want to do more than use a visual framework to build things.
I would go through that course first and then try out bolt and other visual programming tools, as you need that knowledge to get started really regardless of the tool you use And as I said its super fun and not that scary at all!
Once you’ve learned the user interface which is not at all intuitive. With Bolt you simply attach a component to the object you want to script, open it up and start laying out your script. With Playmaker there is a fair bit of setup with each script that needs to be performed in-between attaching and laying out the script.
If you could use the old UnityScript, C# isn’t that much different. The problem is all of the junk around it. C# blogs go nuts for new features, but they’re mostly useless. And most blogs and even the microsoft site are terrible at explaining things. They seem really deep and make you feel like you know nothing, but they’re really just flailing to explain something they don’t understand themselves. Visual Studio makes suggestions to use stuff you’ve never heard of. But it’s just programmed to suggest the newest features. Stick with loops, ifs, functions, arrays … List’s are nice … and you’ll be fine. You’re not missing out.
Well, function-variables are nice. Things like: Action<int,int> f = n=>{ return n*2 }. Those seem complicated, but only because it took C# so long to make them work. The old partly broken versions which are still in C# and explanations jumble them together. They’re bad at explaining. Functions-as-variables isn’t a hard concept.
It’s almost like C# tries to make itself seem complicated. But it’s not. If you want to program C# the same way you’d write UnityScript, it will be fine.
I have worked professionally as a programmer since 2016 but I still know very well how terrible I am, however I manage to get working results and time is short so it works out.