Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Will Boo ever come back?

Discussion in 'Scripting' started by alexobviously, Dec 24, 2015.

  1. alexobviously

    alexobviously

    Joined:
    Feb 23, 2014
    Posts:
    7
    Hi, so I've never posted here but after a long hiatus of being too busy to work on my game project, I've come back to unity to get on with it. My main line of work is music/sound design software development but I have other artistic side ventures like this.

    I used unreal engine a lot as a teenager and got used to that, but when I saw unity a few years later with its shiny interfaces and beautiful scripting language I switched and started work on my main project with it. But like I said I had to stop and have only just had time to start again. Now don't get me wrong, I was overjoyed when I saw all the new 5.0 stuff (especially audio features for free users) but the lack of Boo everywhere was a bit worrying for me, and I just found out that it was officially deprecated.

    The thing is.. Boo was the main reason I picked Unity over UE, just the whole idea that there was an elegant and modern language sold unity for me. I really don't like C or java-like languages at all and it was always something that pained me with UE; having an ugly programming language makes game dev feel like a chore rather than a hobby for me.

    So, in the opinions of you people that hang round here a lot, is there any chance that Boo will return, or that a new modern language might come to take its place? If there was demand for it would the devs be likely to reconsider it? (is there demand?)

    Failing that, does anyone have any tips for 'coping' with this 'loss'? Ways to make programming with JS more elegant or anything like that?

    Cheers
    Alex
     
  2. lordofduct

    lordofduct

    Joined:
    Oct 3, 2011
    Posts:
    8,380
    The reason it was deprecated was that there was no demand for it. The userbase of it shrank and shrank to almost non-existent. That and I 'think' I heard the person at Unity who was all about it bout it for boo is no longer there.

    Furthermore the popularity for C# in the Unity community grew over time. And unityscript still remains very popular because it's familiar to a lot of people who already use javascript.

    So yeah... I don't think there's that large of demand for it. Though it might be growing since I've been seeing posts crop up lately requesting 'python-like' languages.


    As for coping with the loss... well, not sure what you mean by "more elegant". I personally find C# to have some pretty elegant elements to it, it's one of my favourite languages (and I have 20+ languages under my belt professionally). Not sure what you're asking for really... I know there's no way to make unityscript more boo-like, I know that.


    Do note, you can still write boo. It's just not documented by unity anymore. But the compiler still compiles it... boo is its own entity separate from Unity that conforms to the CLI and can be compiled for .Net/mono. So you're free to use it all you want. You just have to manually create the files in the folders, rather than have the menu option to create the script (like you can .cs or .js files).

    You could also write an editor script that added a custom written 'create boo script' entry back into the menu somewhere.

    Buuuut, I would also say that since it's no longer documented for unity, nor in common use in the unity community. Combined with the fact that you're not a programmer first and foremost. Getting help, and researching for help, in relation to the language may be difficult.

    This is IMO why C# has grown in popularity. It's a very common language used heavily outside of Unity. So finding resources on learning/using it is super easy.
     
    Last edited: Dec 24, 2015
    Ryiah and Kiwasi like this.
  3. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yeah, honestly programming is one of those things where you think you like something and can't use anything else but after a month you wondered why you thought C# was this impossible thing.
     
    Ryiah likes this.
  4. alexobviously

    alexobviously

    Joined:
    Feb 23, 2014
    Posts:
    7
    Ah! I was not aware of this! Actually I've never heard of Boo outside of Unity and just assumed it was something they made up that was supposed to be like Python. I'll give it a go. Is there any foreseeable reason that it'll be dropped entirely? (I assume there's some element of the unity api in boo that unity devs still have to update for it to work?)

    I actually am a programmer first and foremost (ish - I'm in a discipline that combines sound design and programming), but yeah avoiding hassle is a big factor for me. I'm going to try and work Boo without support, and if I get fed up with that then I'll go to JS. And if that's too much effort then... I don't know, lol.

    Thanks a lot though, I didn't realise it would still compile for unity.

    Haha yeah I do know what you mean, but actually I already have quite a bit of experience with C-like languages and I guess I could pick up C# easily enough, it's just that I'd really prefer not to. I already have to deal with nasty languages like obj-c/swift and javascript (max/msp) in my professional life and I'd prefer a language that I actually like (read: python) for my hobby.
     
  5. lordofduct

    lordofduct

    Joined:
    Oct 3, 2011
    Posts:
    8,380
    The only thing that unity could do is remove the hook to automatically compile boo scripts.

    In which case, you'd then just have to compile them yourself.
     
  6. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Boo without support. UnityScript with no practical support. Then finally C# with pretty decent support. The demand for UnityScript is slowly dropping. It wouldn't surprise me if its officially dropped within the next five years.

    Sanity would suggest going to the language that is fully supported first. But that might just be me.
     
    BackwoodsGaming likes this.
  7. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I think it'll depend on their stats for js but last I checked it's also dropping... think partly the reason is unity's js really isn't different enough to C#... if you know one it only takes a week to practically be the same proficiency in the other.
     
    Kiwasi and BackwoodsGaming like this.
  8. lloydsummers

    lloydsummers

    Joined:
    May 17, 2013
    Posts:
    344
    You'll find yourself migrating frameworks every few years anyway. Might as well migrate to C# - it isn't that different from JS, already is the majority on here, and will just keep getting more support now that Microsoft is taking a serious look into Unity. Like most languages, its formatting differences for the most part. Its still usually line for line translations (i.e. you just have to change the structure to make it work right).

    I suspect you'll get used to C# faster than you expect, and a good IDE with something like Resharper can go a long way.
     
    BackwoodsGaming likes this.
  9. Polymorphik

    Polymorphik

    Joined:
    Jul 25, 2014
    Posts:
    599
    Switch over to C#. As a dev who has worked on code injection Lua and Boo is by far the easiest run-time to hack into. Again, Unity compiles everything to C/C++ but games like League of Legends is the reason why I wish Riot would fire ever programmer on their staff as Lua was made like Python to just quickly prototype NOT for production. You can inject PIDs very...very easily.

    Don't be afraid to pick a hard language, C/C++ I am biased towards because its what got me into Computer Science and it is the hardest language to master but its also the most rewarding. As an artist, I can understand but then again Unreal Engine has BluePrints which requires you to not have to code very much... Unity still does not have a Node-Based scripting system. There are plug-ins like PlayMaker but you still need to code a little bit. UnityScript is nice for those that just want to get something to work, without all the hassle of software engineering practices. You'll find that UnityScript and Boo have some similarities, though Boo is more like Python.

    Anyways there are a ton of tutorials on C# and you have the Unity Community here as well. MSDN and the Unity API docs.
     
    BackwoodsGaming likes this.
  10. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    I'll jump on the bandwagon to promote using C# as well. There just aren't as many good UnityScript tutorials out there. With C# there are tons of Unity specific tutorials and you can pretty much use most, if not all, of the standard C# tutorials as well. Some newer C# stuff may not work (I think Unity is on an older version than the bleeding edge one, at least I think I saw that somewhere lol).. But I've yet to run across a C# tutorial that hasn't worked for me. Like others have said, with UnityScript numbers dropping it will probably be more likely phased out than C# would be - if the time ever comes to totally standardize.
     
  11. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    C# wont get phased out. It's by (very) far the most commonly used language in Unity. If I had to ask for companion to it, it would be C++.
     
  12. Polymorphik

    Polymorphik

    Joined:
    Jul 25, 2014
    Posts:
    599
    I dream of the day C++ will be supported along side C#...one can dream...
     
    BackwoodsGaming likes this.
  13. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Yeah.. That was my point.. If anything else gets phased out, it will be UnityScript before it is C#. :)
     
  14. alexobviously

    alexobviously

    Joined:
    Feb 23, 2014
    Posts:
    7
    Hah, C++ was my first language too and perhaps that's why I'm biased against it :') ..different reactions eh

    Yeah anyway I gave C# a go and maybe it's not as bad as I originally thought. I do wish I could use something a bit more pythony but yea like you all said, it's sensible to go with the most supported thing and the curly brackets aren't gonna kill me.

    p.s. merry christmas :)
     
    Polymorphik and Kiwasi like this.
  15. Polymorphik

    Polymorphik

    Joined:
    Jul 25, 2014
    Posts:
    599
     
  16. infinitypbr

    infinitypbr

    Joined:
    Nov 28, 2012
    Posts:
    3,149
    I was fortunate enough to be @ a San Francisco Unity User Group meetup when Joachim Ante was in town. They're hosted at Unitys office in SF (which is always fun), so from time to time we get special guests. He answered many many questions.
    This was about a year ago, right before the got rid of Boo, and they asked a show of hand who uses each language, and no one used Boo.

    It was something like 0.5% of the Unity population used it. At that time, Javascript was 20%, but falling, so by now it's likely less. That's why they switched all their code to C# as the default (and sometimes only) examples.

    No doubt that they'll get rid of javascript at some point in the future, so if you have to learn something new, learn C#.
     
  17. mnaciakkok

    mnaciakkok

    Joined:
    Mar 25, 2019
    Posts:
    2
    A good question would be when Python is going be available for Unity... It was obvious that the demand for a marginal language like Boo would diminish over time. But choosing a language form the .NET community is a bit of a marriage declaration that I personally don´t like. Claiming that C# is a heavily used language makes it look funny. And claiming that it is a scripting language is even funnier... There are other real scripting (interpretive) languages that are "heavily used".
     
  18. dmennenoh

    dmennenoh

    Joined:
    Jul 1, 2015
    Posts:
    379
    I really like C# myself - it's a bit like ActionScript 3, which I've done for the past 10yrs. I really do not like Python, at least so far. Languages that use white space as block structures... Just not a fan. Seems to me it's popular in the ML camp, but not too much elsewhere. There are only a couple of use where I work that use Unity, but all the devs, except for one Apple guy, use C# and .net... I mean what's not to like about C# anyway?
     
    lordofduct likes this.