I was intending to use Boo, but the lack of tutorials is annoying.

Hi!

I learned the fundementals of Python and while i enjoy that language i wanna do something in Unity. While Python isen’t a accepted language that Unity are using, i heard that Boo was very close to Python. Great i thought. Well, the lack of tutorials and examples really makes it hard for me to start scripting as im new to Unity and all that.

The question is:

Do i move to C# or do i stay at Boo?

If it’s best to move to C#, then can you recommend any free good tutorials? Thank you in advance.

(Sorry for any misspellings there might come.)

I’ve never heard of Boo being used anywhere else. I suggest C# if you understand Object Oriented Programming. I very much like C#, enough to say it’s my favorite programming language. UnityScript’s syntax is very much like JavaScript so that is very popular too. The fact those languages are used a lot outside of Unity means there is a lot more documentation using those languages than Boo.

I don’t know much about tutorials. My first Unity program literally just rotated a cube around. Then I moved on to Breakout which I think is a very good practice program to learn Unity. Tic Tac Toe is a good practice game to make too.

You might also want to check out Microsoft’s C# tutorials, just use Debug.Log instead of System.Console.WriteLine. You can also check out Complete Projects in the Unity Asset store to see how other people do stuff in Unity.

C#

Pluralsight.com has excellent C# beginner tutorial videos (videos are the best way to learn IMO)

boo interferes with my python brain, so i keep em separate, i think the thing with python is it does not use data types

i love python to, but you need to deal with data properly in videogames imo, floats, ints, strings etc

You might want to check out JavaScript/UnityScript. I know JavaScript is loosely typed, where you can just declare variables without stating what the type of that variable will be. Personally, I like that C# keeps me in line with my types, or else I’d just run into a bunch of type-bugs when a project gets large enough…

// JavaScript
var x = 5;
var s = "a string";

// C#
int x = 5;
string s = "a string";

Type inference works just fine in C#…
So

var x = 5;
var s = “a string”;

Works perfectly fine.
Although common practice is to only use it for reference type declarations not value type declarations.

And no I wouldn’t recommend UnityScript over C# to someone on these forums whatsoever. Just no.

To be fair, with 0 background scripting knowledge, well a bit of html, CSS…I found Java(Unity)Script easier to learn then C#. I mean after learning the basics of Unity and starting to understand, i’ve dabbled in a bit of C# and at the basic / intermediate level I can easily convert from JavaScript / C#. It depends what i’m attempting to script ^^ Been doing this for like 3-4 months in my spare time.

I agree that unity / Js is easy to understand from a visual standpoint when reading over your scripts, while c# still looks crazy to follow, and can make your head hurt from looking at it, cause everything seems to make sense from right to left instead of the way we read from left to right.

Language wars are a very funny thing. Here in the US we have the classic truck wars where die hard truck owners stand by there Chevy or Ford Trucks. They prey and worship these titles and would never get cough dead in the other name brand. Both languages will get you to where you are going, but one clearly gets labeled as easier to drive (Js), with less rules. To look at the rules / obstacles you have to go through to use c#, take a look at some of the more detailed language discussions.

Go with C#. The documentation online is just insane. You also get to use software like Visual Studio and get a very easy access to .NET libraries.

It seems like i’ll take a look at C#. Thanks for your opinions tutorials. Have a nice day good scripting!