Learning Unity and C#

I am really inspired to create something in Unity i find learning C# as its own, really easy (i find Java easy aswell, maybe its them languages)but i find it hard to learn C# with unity (if you get me :P) i was considering different approach’s towards learning, i find using the unity engine harder than actually programming in a language so i was considering, Learning C# as its own first and then focusing on learning the Unity engine as its own (without programming) and then combining the two. or i could stick it out and try and learn the Unity engine along with C#, i figure the second one would help create that bond of Unity and C# when creating a game but the first one seems more feasible on my part as i may find it easier.

Anyway i posted here for opinions and help on what i should, if you have any other approach’s i could take towards learning both of these (C# and Unity) effectively then please post ahead, i will try and reply today but if i fail to - thanks in advance :slight_smile:

For me,…both were almost equally daunting. I had ‘some’ experience with Basic back in the 80’s and that certainly helped me with understanding the ‘logic’ part.

my first programming book

What I did was learn basic C# using Microsoft Visual Studio. Making simple forms and getting some basics down. Then when I got confident( or impatient) I jumped into Unity and Googled/Youtubed my way through it.

BUrgzerg arcade is mostly c#

Tornado twins, have great vids, though they are in JS. which I would listen to and do muy best to try to convert to C#, which is a good learning exercise in and of itself.

…all good tutorials to watch.

and Unity Answers is a great resource for specific questions.

and the Unity Scripting reference page I cannot live without!

good luck!

-Welby

Wow this is an amazing reply, thank you so much :smile:, i shall work on C# and then Unity and then them both :stuck_out_tongue: i didn’t even know there was a scripting reference so thanks for that :slight_smile: also thanks for the channels they will sure come in handy.

I wholly support the idea of learning C# (or any programming language) on its own, and then learning to apply the knowledge to a game engine.

Game programming isn’t a subset of programming, it’s a specialisation. In other words, ideally you learn the general knowledge first and then learn the specialisation on top of it. Would you jump straight from illiteracy into writing novels, or would you learn general writing first?

I wholly support the idea of learning C# if you have Unity Pro, because the GC situation in Unity’s C# implementation pretty much requires that you do a lot of GC management if you’re targeting mobile.

Thanks all for the answer :slight_smile: and i understand the idea of it being a specialization

Wow. Some great resources here. Thanks Welby!

The official Unity tutorials (free on YouTube –unity3D channel) are very well done, particularly the current weekly “Live Training” series by Mike Geig. They include both Unity specific examples as well as basic C# demonstrations.

Max at PushyPixels has a great YouTube series called “Cooking With Unity” and offers a really interesting look at how to code in C# for Unity.

And, if you have iTunes, there are several free-to-watch college level Object Oriented Programming courses, including C# (not game centered, though).

For C# get yourself a pluralisight.com subscription, they have loads of excellent beginner video C# tutorials, which IMO are much better to learn from than books.

Why are they better than books? It can’t just be because they’re videos.

Referring back to Marigold’s post, the GC situation is identical regardless of what language you write the code in. Allocation is allocation, and GC is GC.