Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Where to Learn C#?

Discussion in 'Scripting' started by JVGameDev, Jun 8, 2016.

  1. JVGameDev

    JVGameDev

    Joined:
    Oct 5, 2015
    Posts:
    137
    Hi! I have asked this question a couple of times in the past. I get the reoccurring answer like "Well, this might help http://blahblahblah. It is 68 years old but you may find 3 sentences to help." After that, I went a lot more into the business/marketing side of developing. But after a while, you get the though like "Hey! Wouldn't that just be fantastic if I could design the game... MYSELF!!!! :eek:. So I thought I would try asking again where I can learn C# for Unity development. I already know the Engine like the back of my hand, just not programming.
     
  2. magnite

    magnite

    Joined:
    Dec 12, 2012
    Posts:
    125
    Well considering Unity doesn't use up to date C# you are stuck learning older versions.
    https://msdn.microsoft.com/en-us/library/67ef8sbd.aspx

    The above link is the official C# programming guide which will definitely help you learn the language.

    As far as piecing stuff together look at the official Unity Scripting References
    https://docs.unity3d.com/ScriptReference/

    As you learn try to create small games and work on creating eventually more complex mechanics. For help on stuff that you can't figure out, after experimenting, don't be afraid to check out YouTube or Google for tutorials of ask her for help. Here is a link to a bunch of videos that show how to be a functional game.
    https://www.youtube.com/channel/UCOIcO8Lsk1MERedhOnew73A
     
  3. breese45

    breese45

    Joined:
    May 10, 2015
    Posts:
    10
    https://www.udemy.com/unitycourse/
    Look at how many people that have bought this course: nearly 92000
    Look at the ratings: 8200 rate it at 4.5+
    Maybe spend 31 bucks and give it a try.
    "The course is continually updated, a major improvement was made in Glitch Garden as recently as March 2016."
     
  4. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    That's funny. I choked on my tea.
     
  5. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    The best place to start is probably the learn section at the top of this page.

    Depends on how often one studies the back of their hand. ;)
     
    orb likes this.
  6. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    This is really the only link that should be visible to new visitors ;)

    Go through the Unity tutorials. Follow along their programming guides, and go look up anything you don't understand on MSDN. Newer C# is mainly about additional things rather than changed things, so older and newer programming tutorials are all useful, as long as the bits they cover are implemented in .NET 2.x and C# version whatever-it-is.
     
    Kiwasi likes this.
  7. cjdev

    cjdev

    Joined:
    Oct 30, 2012
    Posts:
    42
    I also recommend the Unity tutorials, they're some of the best I've ever seen and I really wish they were around when I first started programming. But in addition to those tutorials and others I'd strongly recommend just trying things out yourself. Set yourself a small task and then break it down into smaller chunks to focus on one at a time. You won't know how to do anything at first, so look it up. Then when you've learned what that small thing you need is move on to the next and look up that one too. You'll spend a lot of time on Google this way and especially Stack Overflow and you'll learn who Jon Skeet is fairly quickly. And you'll also be much more likely to pick up the concepts because you have a personal investment in implementing them yourself. Don't be afraid to read and watch every tutorial you can find but definitely try to experiment on your own as well.
     
  8. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    I'd start making boring games which have some data requirements beyond just displaying sprites. Hangman or other word games, for instance, should teach you how to efficiently handle large lists of words. If you delve deep into it you may start making editor extensions to manage word lists, which teaches you a crapload of useful things, and the knowledge extends to making editor tools for more advanced games.

    If tutorials bore you, find something simple and fun to make, then learn as you develop it.
     
    Munchy2007 and Kiwasi like this.
  9. vikankraft

    vikankraft

    Joined:
    Feb 25, 2016
    Posts:
    88
    couldnt that be because universitys buy these courses in bulk for their students? (the number who bought it I mean)
     
  10. bigmisterb

    bigmisterb

    Joined:
    Nov 6, 2010
    Posts:
    4,221
    The best way I could point anyone in the "right" direction is actually this forum. No, not asking questions like.. "I am trying to do X, but it is not working"... To answer questions.

    I started playing with Unity a while back and instead of asking, I answer. Answering does a few things;
    1) it helps other people (but that really isn't our goal here)
    2) It helps us understand where a problem is, and how to solve it.
    3) It gives us something to do while at work when we really don't have anything to do and the mindlessness of facebook is not really going to help us.
    4) If we answer wrong.... There are about 9 million people who are going to set us straight, thus... achieving what our goal was to begin with.

    So, to be blunt, don't try to figure out your coding problems, until you have figure out a vast majority of normal problems. Usually we learn by doing, but if we get stuck, we are stuck. If you get stuck answering someone else's problem, just move to a different problem. Eventually, you will see the answer you were trying to figure out for it.

    After a while of that, you will see that answering your problems are not really complicated and learning will be much faster.

    Questions I passed over (either because I didn't know an answer, or didn't have time):
    http://forum.unity3d.com/threads/creating-grid-on-terrain.409357
    http://forum.unity3d.com/threads/turn-based-combat.409636
    http://forum.unity3d.com/threads/download-and-save-www-mp3-file.409470

    Questions I did answer:
    http://forum.unity3d.com/threads/help-pong-bounce-not-working-properly.409664
    http://forum.unity3d.com/threads/help-with-an-underwater-fog-script.409645
    http://forum.unity3d.com/threads/multiplier-not-working.409653

    The big thing is to remember, always test what you are doing. If it doesnt do what is asked, there is no point to put it up on the forum at all.
     
    Kiwasi likes this.
  11. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    This is the jackpot when it comes to learning. Nothing solidifies knowledge like trying to teach it to someone else.