Boo is awesome. Boo is pretty easy to use, and makes it kinda fun to script. Boo takes advantage of the features and debugging in MonoDevelop that UnityScript doesn’t. Boo is statically typed. Boo is kinda fun.
Resources on Boo are few and far between and hard to find, especially since you can’t search the forum for Boo, and there are about a total of 5 threads about Boo on Answers.
So lets change that, because Boo is awesome. I want to collect a bunch of Resources and Bootorials to help the community out. Feel free to add to it.
So here are some good resources I have come across:
Boo Keywords with Example This is sort of hidden on the main site, but is extremely useful and helps with a lot of things when you question how to do stuff.
Boo Language Google Group While this is more for the Language in general, I started a Unity help thread there too, and you can ask about the language itself.
Boo Primer and the Boo Language Guide Both of these are a great resource and should be read at least a little bit.
I was considering converting and posting scripts that come up in the community to the Wiki if there is interest.
I would like to say that IRC could be a resource, but the Unity3D IRC Channel has very few Boo Users, and the Boo IRC Channel is pretty much a deserted wasteland, so I would like to suggest that we use Twitter, with the hashtag #bootorial or #boonity3D (lol) to talk and get help.
I’m not actively developing anything for Unity at the moment, but this does feel like a great initiative. I do however have a few quick suggestions (IMHO) in order to maximize your ROI (if you will ;-D).
First, I believe it’s absolutely essential for Boo to work on iOS. Case in point: a company I was working for recently would’ve liked to use Boo, but there was little to no point; C# has nearly all the same functionality (although it’s much more expressive) so that’s what they went with. There’s the chance that the Unity folks themselves could add this feature, but if that’s implausible, we would need a way to compile Boo into C#. Compiling Boo into IL and decompiling back into C#, which is then fed into Unity’s C#/iOS (or C#/Android, etc.) compiler is probably the best and easiest bet (I believe this can already be done manually to a limited extent from within MonoDevelop). That said, a a proper, automated toolchain based on this process would be absolutely essential. I believe the biggest gotcha is Boo’s duck-typing libraries, which are not compatible with iOS, so a C# or ARM-native version of those libs would be necessary. Please, please correct me if any of this is inaccurate; it’s been a while since I’ve touched the issue.
Second, better Boo-enhanced tools are a must (at least, they are for me!) I don’t believe MonoDevelop has much (if any) support for Boo, and IIRC, TextMate (my weapon of choice) is lacking in up-to-date Unity bundles, much less a Unity-Boo bundle. Likewise, there are probably other code editors that would need better language support and Unity integration. (For Unity dev, do people use Visual Studio? Emacs/Vim? Coding in Unity itself?)
Third: community education/awareness. Seems you’ve got a good grasp on this one, and it is the most obvious piece of the puzzle. When learning new libraries/tools, I always find the style of guide with 2-columned tables — one side with an existing technology, and the other side with the new tech — to be extremely helpful. (e.g. http://git.or.cz/course/svn.html) But that’s just my take.
Take all of this with a grain of salt or two (as your taste desires); this is all off of the top of my head. And best of luck!
Thanks for starting the thread. As I learn Unity, I’m exclusively sticking to JS, but my first language was Python, so I’d love more resources on Boo, because it feels a bit more natural for me.
I’d be curious to know excatly what it is about Boo that keeps it in the “Not Supported on iOS” colume …
I’ll chime in on my fondness for Boo: I love the non-verbose, non-symbol-heavy, easy-to-pickup syntax. I never have to think about how to write Boo, it just codes very naturally and quickly …
I just did an Intro Video on Scripting With Boo, which should tell some people why they might want to switch and use Boo. Hopefully I can do these on a regular basis.
some blog posts (quite a few).
It seems that Boo can do what Unity JavaScript can, in a more intuitive way.
Less code = less mistakes.
No need to create a class to make a simple script.
What makes it more interesting is that what you can write in C#, can be written in Boo.
This is not true for Unity JavaScript. For example, in Unity JavaScript it is not possible to pass arguments by reference.
Most of the scripts that are C# only, cannot be rewritten in Unity JS because of that.
Boo has the ref keyword… Yeah !
Well, I am a hobbyist without any former education on IT.
Talking about programming languages is like biting more than I can chew.
But I kinda find this programming language interesting.
Your initiative made me consider having a look at Boo, Anothervenue.
Thanks.
I’m writing Python code in Maya and then equivalent javascript for Unity. Is BOO close enough to Python to allow me to code more similarly in both environments?
@anothervenue: I never understood boo; but after watching one of your tutorial’s, I get it and it seems pretty cool. I might start using it now Thanks!
hello anothervenue i got your pm( sorry i couldnt read it earlier but i was busy) and i think its a great idea to help people learn boo and i would love to help but i did not learn boo like i was going to because there was just too little resources on the language but thanks to some of your links( and especially your video) i have decided to try and learn boo and if i get good at it i will try to make some tutorials for people.
since there is a Boo thread I think it is a good idea to point out loud here that there is no Boo scripting for Android and iOs, I mean it because I discovered just today after 5 days fiddling with it that I can’t port to my galaxy tab all the stuff I made since then.
I saw it here - scroll the page down and look at the 3 small references
@ reaper2259 I know my workflow is wrong but I aint much time to read everything - generally I read the docs for just what I need - in this case has revealed as a bad choice but that’s the way I go
I’ve just executed a couple of Boo scripts on my iPhone4 with no problem.
Just in case anyone is afraid to try - you shouldn’t
Edit: For those who (like me) thinks MonoDevelop is too heavy for quick scripting - I’ve done a simple Boo syntax highlighting scheme for Colorer5 (e.g. used in Bred3). You can grab the latest version here: http://code.google.com/p/kri/source/browse/tools/boo.hrc
Yeah what’s the dealio here? I “discovered” Boo a month or so back, and have been using it in my iOS project since then. I got a bit confused when I saw that it is listed as unsupported on mobile devices. Isn’t it compiled down to the same bytecode as C# anyway?
Boo has been working great for me so far, but what are the potential pitfalls?
anothervenue, thanks for starting this thread. I’ve found it pretty darn helpful. So thanks!
Norslacker, I’m curious on the same thing. Are there any pitfalls one may come across when using BOO for deployment on iOS or Android? I’m seriously interested in game development for these platforms, but my coding experience is limited to mostly python, and am picking up BOO much more easily because of this and as such, will be sticking with BOO for the foreseeable future.
That said, are there any other good video tutorials out there for BOO? Any books on BOO one may recommend?
Thanks again to those before, and to those whom may help, in advance.
PS - This is one of my first posts here. Sorry if it’s a little wonk!