As found in the documentation, there is one "native" choice:
Unity supports three programming languages natively:
- C# (pronounced C-sharp), an industry-standard language similar to Java or C++;
- UnityScript, a language designed specifically for use with
Unity and modelled after JavaScript;
- Boo, a .NET language with similar
syntax to Python.
Additionally, many other .NET compatible languages (like C++) can be used, if they are first compiled into a DLL (then you'd have to write wrapper code in C#).