Learning two programming languages

Should I learn both Javascript and C#? I want to be able to: extend the editor,write plugins (such as an fbx exporter), and write a procedural terrain generator. Thanks! I already know Javascript to the point where I can write most standard game functions, but in pursuing the higher echelons what is the best way forward?

3 Answers

3

there's really no reason for you to learn both languages unless you also want to learn two languages instead of one. They are roughly analogous and you can use Unity just fine with one or the other.

Dont plugins have to be written in C#?

the languages are different but not incredibly so. Also I believe plugins can only be written in C++.

http://unity3d.com/support/documentation/Manual/Plugins.html Pretty much in a C based language.

Yeah that's what I thought, Richard Hansen. But other then that you can use both. If you're a beginning programmer I'd advice JS simply because most tutorials are written in it and it's slightly easier.

JavaScript tends to be easier for inexperienced people to learn. Most unity tutorials are also in JavaScript.

If you wantto try tackling it c# is good to know. Most things you can do in c# you can do in Java, but not everything. Some things need c#.

At first though you should pick one to focus on learning.

Plugins require c++ (or something similar) and as mentioned in Edwige's answer require Unity Pro. Editor scripts however can be done in javascript.

If you want to write plugins, you will also need to learn C++ (but plugin requires Pro version)

If you are just beginning Unity, I suggest you try javascript first, that is easier. But as some things are easier to do in C# and other and in javascript, so in the end you will probably learn both ^^

The wording of the question makes it sound like you do not know either java or c#. You don't mention knowing java/unity script in the original question and these types of questions usually come from people just getting their feet wet wanting to avoid wasting a lot of time. I meant no offense and would guess that neither did Edwige.

Exactly what Richard said, sorry if I came across as thinking you're a noob. ;) But in short: C based langueses for plugins. JS/C#/BOO for extending the editor.