2D /3D artist wants to make a 2D Platform game ,unsure about scripting language

Hi All,

I am a 2D/3D artist who wants to develop their first SIMPLE side scrolling game. I am assuming the role of a one man development team on this . The engine technology isn’t a problem as I have built levels in UDK in the past to an intermediate level . My confusion rests solely in whether or not I should learn C# or Unity script. Assuming that I am leaning somewhere towards slightly below average on the logic learning curve would learning C# slow me down to a crawl?

Thank you for your insights into the above.

Avi

There will be people for and against both. I recommend Unity Script to cut out what appears to me to be some of the more advanced syntax. Otherwise check out something like uScript or PlayMaker.

If your also starting to learn to code (no former experience) pick Playmaker, or other visual scripting tool, you´ll get results much faster, and will also teach you the logic of programming. Check the learning videos on youtube and compare to some videos on C# unityscript, that will give you a better idea of your options.

C# is much more widely supported than the bastardisation that is UnityScript/Javascript/Whateveryoucallitscript.

You can get some really excellent C# tutorials on sites like Pluralsight.com and become really good at it. And once you know it the skill can be transferred to other industries or tiers, for example if you need to do some server/backend programming, C# can do this through .NET, but you won’t find any way on how to do this with UnityScript.

Also all serious Unity development shops use C#. And if you are a windows user, Visual Studio + Resharper + C# = the most awesome possible IDE.

I recommend c# for all new programmers and those learning to code.

Unityscript is only for people who know how to code or feel strongly they like an actionscript style syntax. I say this because:

  1. C# is usually what all assets you purchase will come in as. For example 2D Toolkit. So knowing C# is a huge asset if you want to make tweaks to source code.

  2. JS is not easier than C# - it is harder due to the lack of unity js specific learning materials, while you can just pick up a book on C#.

  3. They are virtually the same anyway, so save yourself a lot of heartache further down the road and stick with C#.

I like them both and have projects in both published, however I prefer C# ultimately because of the faster compile times and the fact it doesn’t clash with other C# middleware. That is what pushed me over to using C# full time. I’m also well versed in everything from COBOL to C++ so I’m not all that fussy.

I just know C# is a smarter choice overall, regardless, it’s not about personal preference, it’s about using Unity efficiently.

Yepp, everything that hippo said. Especially the part with Unity Plugins/Editor Extensions, most of them are written in C# (some of them have also JS support, but the sourcecode is written in C#), so when get the need to fool around with the source code in order to get a certain plugin to behave the way you want it to: Stick with C# and your (developer)life will be easier.

@ the PlayMaker/uScript-Suggestions

This is a good point. Get one of those (I prefer PlayMaker) and fool around, but don’t just USE VisualScripting, but try to understand it. Look at the actions, study the code, try to make your own actions. You’ll understand the way of Unity/C# quickly :slight_smile:

+1 to Playmaker. It will speed up your game development time.

I found PlayMaker very helpful as a learning tool as well and I have a lot of previous programming experience in various languages. Specifically it is a great way to quickly see 99% of the “useful” classes and methods exposed by Unity just by looking through and playing with the ActionBrowser. Then it is trivial to start using those in your own C# code, and avoids the dry task of trying to read through loads of API documentation to find the class you need for a task. Work on some small demo type projects with Playmaker and it will get you well on your way I think.

what kind of programming experience do you have? c# is probably your best bet as it is a real language outside of unity. do some c# and programming tutorials first, then do some unity tutorials if you are not a skilled programmer.

The problem is that the advanced syntax is obfuscated not actually eliminated. This makes you have less control over what your UnityScript is doing, which means you’ve hindered your ability to port or maintain the code. (I’ve used both UnityScript and C#, also.)

I would recommend something like PlayMaker, if you’re an artist, to get acquainted with the basic flow of a program (and have the cost of PlayMaker to spend). Alternatively, and additionally, you should experiment with both languages and post in the scripting forum with your questions - we programmers love to help each other grow and improve (and, avoid WTF-codez.)

tl;dr - Playmaker if you can, dive right in to some language and post in the scripting forum if you can’t.

Thankyou all for so much information. The only reservation I have about relying on plugins are compatibility issues that wont be able to be solved once I’m knee deep in the project. Knowing a language solidly would allow me to solve my problems, or is this a fallacy in thought?

Regards,

There is now a Unity PluralSight course

http://pluralsight.com/training/Courses/TableOfContents/introduction-game-development-unity

I come from an art background as well. I started with virtually zero knowledge of coding. I have had a good experience with C# thus far. What did it for me was that C# is a skill that is useful outside of unity if I ever find myself in need. Unity Script… not as much.

I would second the people who say playmaker is a good investment. I bought it as soon as I started and loved seeing how quickly I could get into the flow of things. Its a great place to start. But learning even a little C# was a good time investment.

I seriously had the greatest feeling when I made my first cube move around on a platform due to a script I wrote. Super simple stuff but man it was an accomplishment that I felt so good about. Small victories keep me going.

I’m primarily an artist but I’ve learned to program for my game BHB and most of the code is with Unityscript. I’ve written a couple of C# scripts here and there, and I’m sure that if I had to switch to C# it wouldn’t be too much of a hassle to learn. But as an artist I personally I don’t really care for programming outside of Unity for my own projects so that’s something to keep in mind. Ultimately I’d say just choose whichever language you want.

Everyone is recommending Playmaker, but I’ll put in a good word for Antares Universe too since it’s really really close to scripting without actually scripting. Using it helped me really grasp a lot of programming concepts before making the leap to written code. Seeing how everything fits together and whatnot was really helpful and converting my Universe graphs to written code was fairly easy since it was so similar, in fact I had a lot of my game prototyped in Universe before switching to written code.