hi i am trying to study c# but idk if is the same c# and c# on unity because there is some codes like vector2 that idk if is of unity lengauge or of the c#, my point is, if i study c# i will be able to create project without reading the wiki of unity?
(if u want too u can recommend me a book ;D)
Unity C# is the same as C#. The things you will see such as “Vector2, Transform, GameObject, etc…” are all built-in classes designed for Unity. If you learn C#, you’ll find that programming in Unity is barely any different - you just have to learn the common classes that Unity uses in order to apply your programming knowledge.
It will help you immensely to learn and study C#. There are of course Unity Classes that do not exist in the regular C# language, as is, just like when you write new code, you’re creating something new that doesn’t exist elsewhere (aside from the fact that you can write it using the language). Sometimes, changes are made in Unity to use floats, instead of doubles, for instance, but that is something you’ll become familiar with as you use it.
They are darn similar, although the version of C# you use in unity, is not the latest version of C# you could be using for native .Net applications. But for the most part, things you see in examples for general C# code, will work with little to no modification, inside the unity engine.
Just to add… even when things are somewhat different (What classes are available and floats vs. doubles), understand how the language is written and how to write, is the same.
You will still be sieving through the Unity API for inbuilt features, like what monobehaviour has, or what components like transform, rectransform, animator/animation have…lots more. It’s not so much about knowing C# at that point but knowing what Unity has. If you wanted to avoid reading the API by learning C# you are seriously mistaken.
so i have to study c# and then the var of unity on c# ?
No. Outside of missing features (which are coming with the next major release of Unity by the way) there are no variations to learn. Worst case if there were they won’t be covered by tutorials or books focused on teaching the basics. Just start learning and don’t worry about it.
idk if is called var i mean this https://docs.unity3d.com/es/current/Manual/index.html that is of unity, all that is not on a common book of c# right? i have to have another book focused on unity?
Oh. You’re referring to the APIs. Yes, you’ll have to learn Unity’s APIs regardless of language.
can u recommend me some book for c# and then of the api of unity (i see that u have 9k of post!!! u are a master [at least taht is what i think xd] )
Technically Unity uses an old version of Mono, which is a multiplatform implementation of C#.
In practice this means you can’t use the newest features of C#. So when checking MSDN be sure to switch the framework back. There are also a couple of implementation specific bugs you might hit once you get in deep.
But otherwise it’s just regular C#.
You will need to learn the Unity API. I would suggest thenlearb section for this. Or you can jump straight into the documentation, MonoBehaviour, GameObject and Transform should be your starting point.
The C# Yellow Book is a popular choice for the basics.
Best choice for this is to simply go through the Unity tutorials. There isn’t an actual book available. Just the docs you linked.
and u know some univ? i want to study develoopment xdd
No. I’m self-taught. I never bothered with a university.
nice!
You’ll find about half the developers here went that route. My degree was in chemical engineering, which is only tangentially related to programming.
The biggest change with regard to regular C# is understanding Unity’s editor, scenes, GameObjects, etc. In Unity the GameObjects within a scene are the anchors for everything, and c# code hangs off of them. This is a significantly different style of organizing your application. After that you have the Unity specific API’s, but you mostly learn them as needed.