Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Good C# Book for Beginners?

Discussion in 'Scripting' started by AmadeusB, Jul 5, 2013.

  1. AmadeusB

    AmadeusB

    Joined:
    Jul 5, 2013
    Posts:
    3
    Hello guys, I'm new to Unity and game developing and I want to make my own games, mainly for Android. I'm reading Unity 3.x Game Development Essentials by Will Goldstone (great book, by the way), but every time scripting time comes I get a little bit stuck, so I wanna learn C# more deeply. I want a book that teaches C# for beginners but that's focused on Unity, what's a good one? Thanks in advance.
     
  2. ctothej

    ctothej

    Joined:
    Jul 5, 2013
    Posts:
    2
    It's not focused on Unity, but a great place to start is Head First C#. You can find the PDF online for free.
     
  3. Jacksendary

    Jacksendary

    Joined:
    Jan 31, 2012
    Posts:
    408
    Well if you wanna safe the trouble actually buying a get books shipped there is The internet, (you probably already heard of it since you're here :D) BergZregArcade on youtube is a great way to get C# and unity3D knowledge. Also there is loads of documentations and tutorials under unity3D's "Learn" (It should be on the top besides community). MSDN (Microsoft's code documentation site) is also pretty good for references and simple scripts. If this still isn't enough and if you wanna focus purely on C# you should, if you're a beginner, get the book called "C# Essentials" it's good for starters.
     
  4. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,085
  5. exiguous

    exiguous

    Joined:
    Nov 21, 2010
    Posts:
    1,749
  6. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,614
    I've said it before and I'll say it again: learn programming and Unity separately, because while they're used in tandem they're separate skills.

    Looking for a C# book is a good way to start. Once you've got the basics under your belt, then start applying it with your games in Unity. If you jump straight to making games and figuring out how to code as you go, you'll miss fundamental knowledge that will cost you dearly later on down the track.
     
  7. user150221

    user150221

    Joined:
    Nov 10, 2012
    Posts:
    25
    I found the layout absolutely nauseating. Handwritten font everywhere, arrows pointing all over the place. Thought bubbles. Clipart. I couldn't follow any of it at all.

    Essential C# 4.0 is good.
    C# 4.0 The Complete Reference is good too.

    They both start at the bare minimum components of the language and build up. There is no need to have a Unity-specific focus while learning C#. Just take what you learn in the books, and try it out. Like 90% of your actual game engine is going to be Unity-agnostic anyway. Aside from deriving from MonoBehaviour, using their built-in Vector classes, etc..

    There is no book for "beginner programming" in C# that focuses on Unity that I know of. There is the Unity 4.x Cookbook, though. It can show you how to do a lot of things for Unity in C#.

    However, in a week this book is coming out. It sounds like exactly what you want. I recognize the author name, too. She did a Unity 3.5 Essential Training video tutorial series for Lynda. Her teaching style may give you an idea of how the book may be.

    Unfortunately, IIRC she taught in Unityscript ("Javascript"). So the book might not use C# either.

    P.S. - If you mean learn programming concepts, then any beginner programming resource should do. There are all kinds of places. There is Khan Academy, CodeAcademy, and all kinds of video tutorial series.

    You shouldn't try to learn C# specifically while learning programming fundamentals. I'd personally use Python to learn programming. Unfortunately I went HTML > CSS > JS > PHP > Python > C++ > C#, and I highly, highly do not recommend learning C/Java-like languages first. The higher level the language, the better you can focus on the concepts.

    And if you like Python, you can always use Boo in Unity. Though it gets treated like a third-world option anymore, and any kind of external documentation / resources are basically nil. But I don't even like the fact that Unity's "JavaScript" is the de facto in the docs, when everyone seems to only take C# seriously around here (and for good reason). Maybe they believe it makes it more accessible to people who know JS, but their implementation looks like a foreign language to me, mostly because it's out of the context of web design, where a ton of people rely on jQuery, etc. and rarely venture into full-blown OOP.
     
    Last edited: Jul 5, 2013