Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Official Boo Scripting Resource Thread

Discussion in 'Scripting' started by anothervenue, Jan 1, 2011.

  1. anothervenue

    anothervenue

    Joined:
    Apr 30, 2010
    Posts:
    102
    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:

    C# to Boo Snippet Converter This is awesome for especially checking out Boo Syntax in comparison to C#

    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.

    Bootorials:

    Intro to Boo

    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.

    Add me on Twitter if you are a Boo Developer and would like to connect and share!
     
    Last edited: Jan 6, 2011
  2. slippyd

    slippyd

    Joined:
    Jun 11, 2005
    Posts:
    129
    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!

    — Slipp
     
  3. raybarrera

    raybarrera

    Joined:
    Nov 20, 2010
    Posts:
    207
    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.
     
  4. DGuy

    DGuy

    Joined:
    Feb 7, 2007
    Posts:
    187
    I'd be curious to know excatly what it is about Boo that keeps it in the "Not Supported on iOS" colume ...:confused:

    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 ... :D
     
    Last edited: Jan 9, 2011
  5. anothervenue

    anothervenue

    Joined:
    Apr 30, 2010
    Posts:
    102
    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.
     
  6. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Some more resources that might help:
    - a book on Boo : DSLs in Boo: Domain Specific Languages in .NET
    - 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.
     
    Last edited: Jan 14, 2011
  7. Barrett Fox

    Barrett Fox

    Joined:
    Jul 21, 2008
    Posts:
    14
    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?
     
  8. sebako

    sebako

    Joined:
    Jun 27, 2009
    Posts:
    301
    yes
     
  9. jtman562

    jtman562

    Joined:
    Dec 11, 2010
    Posts:
    368
    anothervenue: I followed your video and it didn't work. Here is the script I wrote:

    import UnityEngine

    class rotate(MonoBehaviour):

    public rotationAmount = 1.0F

    def Update ():
    Transform.Rotate(Vector3(0,rotationAmount,0))
     
  10. Barrett Fox

    Barrett Fox

    Joined:
    Jul 21, 2008
    Posts:
    14
    So when I'm working in Maya, an environment that supports Python, I can import other Python libraries such as:


    import csv

    ...for reading comma delimited files. Can I import Python libraries in Unity with BOO?
     
  11. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    @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!
     
  12. reaper2259

    reaper2259

    Joined:
    Jan 19, 2010
    Posts:
    59
    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.
     
  13. 1vo

    1vo

    Joined:
    Feb 15, 2011
    Posts:
    7
    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.
     
  14. reaper2259

    reaper2259

    Joined:
    Jan 19, 2010
    Posts:
    59
    1vo it says that in the documentation idk if you read that but you should have it would have saved you some time but thanks for sharing
     
  15. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Sure on Android?
    Android unlike iOS does not require and enforce AoT so boo technically could work.

    On the iOS it naturally stands no chance as AOT and Boo are nemesis.
     
  16. 1vo

    1vo

    Joined:
    Feb 15, 2011
    Posts:
    7
    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
     
    Last edited: Mar 1, 2011
  17. Patyrn

    Patyrn

    Joined:
    Feb 17, 2011
    Posts:
    57
    I wish I could use Boo. Lack of Android or Iphone support totally kills it for me.
     
  18. kvark

    kvark

    Joined:
    Feb 27, 2011
    Posts:
    4
    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
     
    Last edited: Mar 4, 2011
  19. CrazyLikeAFox

    CrazyLikeAFox

    Joined:
    Mar 8, 2011
    Posts:
    71
    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?
     
  20. geothefaust

    geothefaust

    Joined:
    Feb 24, 2011
    Posts:
    4
    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!
     
  21. CrazyLikeAFox

    CrazyLikeAFox

    Joined:
    Mar 8, 2011
    Posts:
    71
    I did some digging.

    Q:"On the features page, it states that Boo is NOT supported on iPhone"
    Rodrigo B. de Oliveira (Word of God when it comes to boo) states: Oh, it does? That's wrong.

    source:https://groups.google.com/forum/#!searchin/boolang/iphone/boolang/QVPYQpuWgQY/6VeGGdzgTP8J


    So I for one am happy to continue using boo in my IOS projects, without worrying too much about sudden breakage.

    geothefaust: Being a fairly young language your probably wont see any actual books for a while. But http://boo.codehaus.org/ is a venerable goldmine of information (as it should be )

    Hopefully we'll get a good boo community going here on the Unity forums.
     
  22. Dewy

    Dewy

    Joined:
    May 23, 2010
    Posts:
    67
    I am curious how many people would like a Boo book, be it Unity orientated or just a general Boo programming book?
     
  23. CrazyLikeAFox

    CrazyLikeAFox

    Joined:
    Mar 8, 2011
    Posts:
    71
    I don't think Boo is a mature enough language to justify someone undertaking the massive project of writing an authoritative book on it.
    At the moment, what Boo need is a solid community, and it almost seems natural that such a community starts here at the Unity forums.
    Boo needs articles, tutorials and blogposts, not a book.

    I for one am exited about the future of the Boo language. The guys over at http://boo.codehaus.org/ are extremely talented, and I trust that they can create a solid language. Now it's up to us early adapters to get out there and convert the unbelievers. You need to answer questions using Boo, write all your code in Boo, write a blogpost about Boo. Tell your weird friend about Boo, he'll appreciate it.

    So to summarize this rather lengthy post. I for don't see the need for a book just yet. We need a solid Boo community first.

    (Not in any way affiliated with the Boo project)
     
  24. Yann

    Yann

    Joined:
    Oct 20, 2007
    Posts:
    432
    Very cool initiative, thanks a lot ! Being at the beginning of a new project, I will try the Boo approach for the first time in 5 years of Unity JavaScript... just because this thread made me think of Boo as a great alternative to those horrible brackets in brackets in brackets... :D

    EDIT : OMG, this is so stupidly easy : I used the C# -> Boo translator Lucas mentions in his video introduction, and converted a C# camera script that works as good, but is so much more readable now ! No more , || and the likes : now I can type "or" when I mean "or", "and" when I mean "and"... and it only took me 5 years to get to this point ! ;)
     
    Last edited: Mar 26, 2011
  25. CrazyLikeAFox

    CrazyLikeAFox

    Joined:
    Mar 8, 2011
    Posts:
    71
    Just discovered a neat little thing, thought I'd share.

    Take this C#
    Code (csharp):
    1.  
    2.  other = GetComponent<OtherScript>();
    3.  
    First of all, ew :) Second of all, you might think that the Boo version is:
    Code (csharp):
    1.  
    2. other = GetComponent[of OtherScript]()
    3.  
    Which actually isn't that much more appealing.. So imagine my delight when I found that one can just type:

    Code (csharp):
    1.  
    2. other = GetComponent of OtherScript()
    3.  
    You still need the parens.
    Now that's knowledge you can use. (I hope)
     
    Last edited: Mar 31, 2011
  26. juan-jo

    juan-jo

    Joined:
    May 15, 2010
    Posts:
    162
    This way should be a programming language nowadays.
    I will definitely consider it for my next project.
     
  27. dissidently

    dissidently

    Joined:
    Dec 8, 2010
    Posts:
    286
    Tears of joy in my eyes!
     
  28. dissidently

    dissidently

    Joined:
    Dec 8, 2010
    Posts:
    286
    Can we clear this up.

    1. Does Boo work on iOS?

    If yes, what limitations compared to UnityScript and C#, and why the limitations, if they're all mono based?

    If no, why not? And what's the roadmap for putting it on there, fully functional?

    2. What's up with Unity not supporting, sporting and sprouting Boo?

    It seems like the logical thing to do.
    ie
    -- C# for programmers: they'll figure their own way around that and Unity, they're already bright and capable and educated.

    -- UnityScript for those who think that works for them...

    -- Boo for mere mortals

    3. Boo as an education and marketing tool for Unity seems like common sense.

    Correct me where I'm wrong

    Unity:
    "hey, come learn programming with us, and Boo. It's fun, friendly and readable" (insert example here [make totally original and unique WoW clone button code]); {([ + "the Unity way" hyperbole ])];

    Public:
    "Boo = cool name, Unity = cool and slightly profound name, I'm in: 'fun, friendly and readable' WOW, I never did see code like that before". -- Runs to Mom's credit card, taxes it for $3k for Unity Pro and iOS Pro licenses:-
     
  29. CrazyLikeAFox

    CrazyLikeAFox

    Joined:
    Mar 8, 2011
    Posts:
    71
    Yes, yes, a thousand times yes. :)
    http://forum.unity3d.com/threads/80428-boo
    It would be so awesome if Unity Technologies updated the manual to reflect reality.
    Depends on what you mean by limitations I think..

    I disagree, Boo might be easier to pick up for the absolute beginner than C# or even UnityScript (which is written in Boo, so there we go). But as for what "programmers" use.. The language you use to write code is nothing but a tool. Just as there is more to being a carpenter than knowing how to use exactly one kind of hammer, there is more to being a programmer than than the language chosen to do the job at hand. Boo just happens to be a very,very nice tool. A tool with syntactic macros, type inference, and Python like syntax. :cool:

    But I agree that Boo should be fronted more heavily. Now it's sort of hidden away, parsing UnityScript behind the scenes.
     
    Last edited: Apr 1, 2011
  30. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,624
    Umm, I don't find C# to be *that* much harder than UnityScript. Or at least I really don't agree with how you labeled each language and their uses in unity.
     
  31. dissidently

    dissidently

    Joined:
    Dec 8, 2010
    Posts:
    286
    @ AcidArrow and @NorSlacker

    My original sentences would have made more sense if I got it right...

    try this:

    -- C# for C# Programmers, they'll figure their own way... etc etc.

    In other words, the choice of UnityScript or C# is for everyone else doing programming that's not from the world of C#

    Leaving the kooks, like me, to work with Boo. or Lua.
     
  32. juan-jo

    juan-jo

    Joined:
    May 15, 2010
    Posts:
    162
    I agree with dissidently :confused:
     
  33. Daniel_Brauer

    Daniel_Brauer

    Unity Technologies

    Joined:
    Aug 11, 2006
    Posts:
    3,355
    I'm just starting with Boo and some of the syntax is a little weird, but for the most part it results in shorter code. The big exception is this:
    Code (csharp):
    1. //C#
    2. [SerializeField] protected int a, b, c;
    3.  
    4. //Boo
    5. [SerializeField] a as int
    6. [SerializeField] b as int
    7. [SerializeField] c as int
    8.  
    I like not having to write protected on all my stuff (it is the default visibility level in Boo, unlike C# where private is default), but that's not what I'd call wrist or eye-friendly. Is there really no way to declare a group of similar variables?
     
  34. CrazyLikeAFox

    CrazyLikeAFox

    Joined:
    Mar 8, 2011
    Posts:
    71
  35. Ves

    Ves

    Joined:
    Apr 6, 2011
    Posts:
    23
    I am brand new to the Unity engine, and gaming scripting in general. I've worked for the past two years with Python almost exclusively, with some Perl and C# on the side. I wanted to get an understanding of just how similar boo and Python actually are.

    For instance, I notice that a lot of times we're declaring variable types as almost a verbal sequence, i.e. "a as int." In Python, you can declare a variable outright; for instance: int(a)... is there a difference I am missing? Or do they do the same thing?

    Also, does boo support Python conventions like list comprehension? For instance, to use Daniel Brauer's post as an example:
    [[SerializeField] n as int for n in (a,b,c)]? Or, to relate to my first question: [[SerializeField] int(n) for n in (a,b,c)]?

    I am eager to get started with this language, I have little interest in picking up another language if I can avoid it but I just wanted to make sure I understand the scope of boo before I start making stupid assumptions.

    Thanks!
     
  36. Daniel_Brauer

    Daniel_Brauer

    Unity Technologies

    Joined:
    Aug 11, 2006
    Posts:
    3,355
    I have very little Python experience, and I'm only just learning Boo, so I can't answer questions about list comprehension.

    Right now I'm trying to get a macro working that will apply SerializeField to a bunch of fields, but I'm having trouble. If anyone can provide any pointers, I'd really appreciate it.
     
  37. EnriqueCaballero

    EnriqueCaballero

    Joined:
    May 1, 2011
    Posts:
    1
    Hey everyone,
    I was hoping someone could answer this question for me. I have read the entire forum but didn't see a reference to this.

    Currently I have a fair bit of python scripting experience, this makes Boo the most attractive language for me.

    I have absolutely no interest in learning JavaScript as I doubt I would ever use it in my day job, C# is interesting, but I would rather just jump in and start developing games instead of learning a new scripting language

    So because of this Boo is the choice that I want to make

    In order to make this choice I have one remaining question

    According to the forum, iOS is now supported, which is good news, but will I be able to compile Android games as well?
     
  38. Daniel_Brauer

    Daniel_Brauer

    Unity Technologies

    Joined:
    Aug 11, 2006
    Posts:
    3,355
  39. heromal

    heromal

    Joined:
    Jan 28, 2011
    Posts:
    14
    @Daniel have you tried
    Code (csharp):
    1.  [serializedfield] a,b,c as int
    That would work in python(although there is no "as" sttement in pyhon), and I dont see why it wouldn't work in boo. I dont have a computer at the moment so please excuse me not typing a lot.
     
    Last edited: Jun 1, 2011
  40. OMGCATS

    OMGCATS

    Joined:
    Jun 18, 2011
    Posts:
    3
    Can some one Make a Text Intro to boo for me? I don't have any sound so I can't watch any vids with no subs. Please and Thanks
     
  41. heromal

    heromal

    Joined:
    Jan 28, 2011
    Posts:
    14
    I may make one to get people into Boo.
     
    Last edited: Jun 20, 2011
  42. StickyNavels

    StickyNavels

    Joined:
    Dec 13, 2009
    Posts:
    11
    Just dropping by to give this thread my support.

    I've just started learning Boo, quickly working my way through the Primer (a bit outdated with the latest release, but nothing major). That's the thing about Boo - it feels very fast and fluid!

    But then, I don't have any real experience with programming languages overall, so I can't give a fair comparison. The lack of tutorials and guides makes things a bit difficult at times. Boo's simplicity makes trial and error a somewhat viable strategy, though. :)

    Boo seems like a perfect entry language for fledgling developers. It would be terrific to see it get more support around here. :)
     
  43. PeterB

    PeterB

    Joined:
    Nov 3, 2010
    Posts:
    366
    I'd also like to add my support for Boo. But I really don't agree with one of the posters - Boo is not just for "mere mortals". Some of its features are more advanced than those available in C# or UnityScript and will appeal at once to experienced programmers with a background in computer science and functional programming. At the same time, it is easier to read and write than both C# and UnityScript, especially for beginners, simply because there's less syntax and verbosity. Rapid prototyping in Boo is an attractive notion, and it would help in learning the Unity engine as well.

    I'd love to see more Boo stuff in the forums - and please, webmaster, make it possible to search on the string "Boo". As it is now, the forums work against Boo, for that very reason. Boo could be of great use to the Unity community, especially if it was made to run on iOS and Android.
     
  44. maxfax2009

    maxfax2009

    Joined:
    Feb 4, 2009
    Posts:
    410
    http://unity3d.com/unity/licenses

    NET Based Scripting With C#, JavaScript, and Boo

    Boo works on all platforms :)


    More Boo documents and stuff would be good...
     
  45. Sirex

    Sirex

    Joined:
    Feb 7, 2011
    Posts:
    77
    After a long battle with the compilator i have developed an aka for duck type.
    Duck type, aka, "trust me".

    The reason i will explain.
    Also fun fact, never copy past boo code from internet. I spent 20 minutes trying to get this struct to work, got lots of strange error like _rec unknown token and stuff.
    Rewrote everything by hand, worked flawless.
    I had:
    Code (csharp):
    1. struct Box:
    2.         def constructor(rec as Rect, name as string):
    3.             _rec = rec
    4.             _name = name
    5.         _rec as Rect
    6.         _name as string
    Used in
    Code (csharp):
    1. newBox = {"index":index, "show": true , "Box": Box(Rect (30,30,maxMenuWidth,selectMenuHeight), "SelectMenu") }
    Then used in line
    Code (csharp):
    1. GUI.Box ( ((box["Box"] as Boo.Lang.Hash)._rec as Rect) , ((box["Box"] as duck)._name as string)) )
    Got me: 'GuiScript.Box' is a value type. The 'as' operator can only be used with reference types.
    Cool story bro.
    Okay then, i try just letting it slide with:
    Code (csharp):
    1. GUI.Box ( (((box["Box"] as Boo.Lang.Hash)["Box"])._rec) , (((box["Box"] as Boo.Lang.Hash)["Box"])._name as string) )
    Got me: '_rec' is not a member of 'object'.
    So i went with duck:
    Code (csharp):
    1. GUI.Box ( (((box["Box"] as Boo.Lang.Hash)["Box"] as duck)._rec) , (((box["Box"] as Boo.Lang.Hash)["Box"] as duck)._name as string) )
    No problem at all.

    So remember, if your compiler just won't stop nagging, use duck, aka, "trust me".
     
    Last edited: Jul 26, 2011
  46. Wilbert-Blom

    Wilbert-Blom

    Joined:
    Aug 13, 2011
    Posts:
    109
  47. Nateao

    Nateao

    Joined:
    May 20, 2011
    Posts:
    74
    I wan to learn boo

    I was using Ubuntu there is a lot Python programing there but wen back to window cun get unity 3d work in Ubuntu
    Do ani 1 now if unity work on linux now.
     
  48. slippyd

    slippyd

    Joined:
    Jun 11, 2005
    Posts:
    129
  49. mikbe

    mikbe

    Joined:
    Oct 15, 2011
    Posts:
    3
    I'm teaching myself Unity3D and I wanted to try using Boo. There don't seem to be very many tutorials for Boo so I thought I'd post the videos as I create the game. Maybe they'll help someone else and maybe someone will point out all the mistakes I'm bound to make thereby helping me to learn as well.

    Videos

    Source Code
     
  50. Patyrn

    Patyrn

    Joined:
    Feb 17, 2011
    Posts:
    57
    I've found that Boo doesn't debug well at all in unity\monodevelop. Many of my errors aren't helpful at all, and it doesn't show any helpful red underlines if I'm messing up the syntax like C# does. I also find auto complete is hit or miss as far as my own classes methods go. Is there some setting I'm missing?