Unity - Bolt vs Regular Coding

Started by
2 comments, last by Shaarigan 3 years, 6 months ago

Hey there, I'm pretty fresh to game development (I've worked on non-programming aspects of some small games in my first year of university) and wanted to get some opinions about what the best approach for making a game in 2D Unity, between Bolt (Unity's visual scripting tool) and writing C#, especially for a programming beginner like myself. I do like the idea of visual scripting rather than dealing with a bunch of lines, but I'd like to get some opinions for those who know about both.

What I'd mainly like to know is the limitations of either approach, and which one would ultimately be more worth it to go with, as well as any general thoughts or tidbits.

(At this stage I don't know C#, but I have some learning experience for Python)

Thanks bunches.

None

Advertisement

Murkle (Michael Elstone) said:
I do like the idea of visual scripting rather than dealing with a bunch of lines, but I'd like to get some opinions for those who know about both.

In my personal opinion, visual scripting is awesome, but bolt is not. We used bolt for a while at work, and it pretty much does so much wrong in terms of what makes a visual scripting language great so use, that we decided to drop it again in favour of plain programming. There's a lot to say about that, but I'll just give you a few examples:
Almost all “pins” for values in bolt are of type “object”, meaning you don't get any meaningful suggestions of what other nodes to connect there, so its really like programming in a weakly-types language.
When creating a node, luqid had that great idea of implementing a fuzzy-finding which in practice is just plain stupid (if you type “transform”, it will find TryAndSetF… just because it contains the letters of transform in the right order).
Bolt handles (serializable) member-variables very poorly, instead of giving you the same interface as if you made the variable in C#, you get the name, type and value on each instance that you try to edit the variable. For object-types, it will simply not be able to even remember the correct type and you have to set it manually…

The list goes on, and maybe if you don't know C# and Unity too much yet some of it won't even make sense. The point is just that bolt is IMHO after all a poorly designed visual language. Bolt 2 looked promising but Unity killed it in favour of some new custom-solution. Unfortunately there doesn't seem to be a good visual alternative, so if you use Unity I'd recommend learning C#.

Visual Scripting "done right" can be helpful for people that are just scripting a game (there is ahuge difference between a scripter and a programmer and also Unity C# isn't equal to real-world C#) but it depends on how the system is implemented to be good or even fast enougth for a game. As much I don't like the two major giants in the industry, Unreal did a lot of things right, especially with their kind of BluePrint visual scripting tool.

I have used so much bad Unity implementations for scrpting stuff, mostly for AI, that I really doubt there is a good solution out right now so either stick with Unity and learn to speak C# as if it were your second native language or head over to Unreal and see how BluePrint fits into your expectations

This topic is closed to new replies.

Advertisement