Hello everyone.
I would like to know if Unitys C# is "Custom" made just like JavaScript or UnityScript was, specificly for Unity it self. Is C# also in use outside of Unity(I know it is but is it a 100% the same or are there changes)?
So if I in the future far far away, get a job at a game company as a coder/programmer that happens to write there code in C# would I be able to use my C# skills form Unity to that game company?
C# in Unity is standard (currently approximately version 3.5). The other answers seem to be confusing API functions with languages. Unity functions are naturally not available outside Unity, but that has nothing to do with the language. Unityscript is unique to Unity, Boo is standard Boo as far as I know, and C# is standard C#.
I believe all of the languages (javascript, c#, boo) that are used in Unity are slightly custom, but only to a certain extent (eg. javascript supports multi-array, and classes in Unity). The general syntax, etc. are the same. So to answer your question, yes, as long as you get comfortable with coding in c# for example in unity, you will definitely be able to apply the same knowledge in a different situation.
This is not limited to one language as well. If you fully understand one language, and you can code in it efficiently, and good, you will be able to easily learn another language, as usually the only difference is just syntax, and whether the language is OOP or procedural (mostly today's popular languages are OOP).
I kind of ranted on there, but all in all, the answer is yes, although you won't be able to use classes such as GameObject, Rigidbody, etc. :]
Mostly. Unity's C# is based on the .NET framework. However, there are some crucial differences. Because Unity's C# has been tailored to fit Unity, the API differences between standard C# and Unity's C# are somewhat disorienting when moving from Unity to another program. Anything in here isn't available outside of Unity for the most part. (Except for a few things, like specific parts of the documentation on arrays or Unity's docs on hashes)
Once you learn basic coding principles (using variables, calling functions, etc.) and the syntax specific to C#, you'll be able to work outside of Unity with them. So yes, for the most part, you can use the C# skills acquired in Unity outside of Unity with only minor differences.