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. Join us on Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

Tired of wasting time. What's the fastest effective way to learn C# and unity?

Discussion in 'Getting Started' started by vsan, Feb 15, 2015.

  1. vsan

    vsan

    Joined:
    Feb 15, 2015
    Posts:
    1
    I've been wanting to make my own game for 4 years now but I've been procrastinating and becoming preoccupied with other things and generally wasting time. I feel like I've wasted so much time. I first tried C# and XNA and learned basics of code (then forgot) then I tried RPGmaker, made a few events in it, realized too limiting for my needs. I then tried unity3d and was faced with learning to code and I got frustrated so I tried to find a way to visual program things, which I think just delayed me learning to make games for years. I tried stencyl, construct, unreal engine blueprints. I spent days watching tutorials on so many things about game making, even when not understanding much of it I still watched. I think I know alot already but also I think I actually know nothing because I havent created anything past an almost pong game in unity.

    Anyway, I finally want to stop wasting time and just get right into it and learn it. I'm not even sure what type of game, maybe a zelda type game, or platformer with combat, or space shooter. I like all those. But can anyone just give me advice for like, just to literally just learn unity3d in and out and c# programming for it? a paid tutorial series or something. Or advice on how to stop wasting time and learn it?

    I feel the biggest thing holding me back right now is the wall of learning c#. I've watched introduction series on that too, and I think I have some foundation of programming centric thinking now, but I've still not put it into practical use past "almost" creating pong.
     
    ArmagdoGaming likes this.
  2. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,852
    I know this may not be what you want to hear, but did you try the learn section?

    You should be able to create Roll-A-Ball direct from there. Then review the entire series on scripting. From there work through some of the other projects on the Learn section. Frequently refer back to the introductory scripting tutorials as you encounter new topics in use.

    Your first independent game should be something really simple. I typically recommend cloning flappy birds. The game is recognisable as a real game. But the thing is ridiculously simple. Follow the entire process through to getting it built for the webplayer and on an actual server. Kongregate is a good one that doesn't mind people posting rubbish games.

    Then start moving your way up. At this point you should be working on something slightly more complex. Use Google, MSDN and the Unity docs heavily. You should be spending as much (more) time there as in Unity itself.

    Finally head over to answers and start solving the easy problems you find. It will surprise you how much you can pick up about code practice and by debugging just by solving other peoples real life problems. Setting your own exams is difficult, but solving others problems gives you a real chance to face stuff you hadn't thought of before.

    By this time you should have picked up enough about the process of learning to solve the rest on your own.
     
  3. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,654
    I recommend the tutorials available for free and some paid over at 3dbuzz, they cover stuff fast and effectively enough to get started, and slow and thoroughly enough to understand what your doing, so later you can do it without a tutorial :p they cover mostly beginner stuff so nothing should be too complex to get through. Good luck!
     
  4. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,048
    Here's the thing - to make a video game, you're either going to need to know how to program (and program pretty well), or you're going to need to use a "Visual Scripting" tool (eww!) like Blueprints, PlayMaker, etc. If you've tried the Visual Scripting tools and found them too restrictive (or not understood them), and you've attempted to learn programming but you haven't been able to grasp it, then the basic truth is possibly that you're not meant to make video games. It's certainly not inconceivable that that's the answer, as "making video games" is very DIFFICULT.

    Anyway - I don't say this to be negative AT ALL. I only say it so that it's there in the back of your mind. If you still aren't getting anywhere in a month, 3 months, a year from now, then maybe consider other areas (in which you might excel) where you could have better spent that time.

    OKAY! So having said that, if you're super keen to go the programming route (which is the best way to go) using C# in Unity, download the free C# Yellow Book. You won't find a easier to follow guide for learning C# programming: http://www.robmiles.com/c-yellow-book/ (EDIT: read it from cover-to-cover like a novel).

    ALSO! Consider that maybe Unity still isn't the right choice for you. I think if I was a beginner with no programming experience, I'd probably be considering GameMaker as a very tempting option these days, especially with this recent (and excellent) tutorial series by Tom Francis:


    You can always circle back to Unity later.

    And other than that, as BoredMormon said, make extremely simple things. If you stick to basics, it shouldn't take too long before that light goes on in your brain and you just "get it". If that doesn't happen, even while only sticking to the basics, then re-read my first paragraph :)
     
  5. SteveJ

    SteveJ

    Joined:
    Mar 26, 2010
    Posts:
    3,048
    Sorry - I ranted a little there. I was rife with rant.
     
  6. kdubnz

    kdubnz

    Joined:
    Apr 19, 2014
    Posts:
    177
  7. DanielQuick

    DanielQuick

    Joined:
    Dec 31, 2010
    Posts:
    3,137
    The best way to learn is to start using it. Follow along with the tutorials, possibly making your own minor variations. Watching tutorials by themselves is nothing more than entertainment. By the time they finish you'll have either forgotten most of it or will be overwhelmed trying to understand all of the content at once.

    When you feel you have the minimum amount of knowledge to work with the basic feature-set of Unity, make a very (very!) simple game to cement your knowledge. Build a strong foundation before exploring the finer aspects of Unity.
     
    Kiwasi likes this.
  8. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,852
    C# is valid outside of Unity, and I constantly see the advice to do 'real' programming as well as just learning Unity scripting. I'm still on the fence on this one.

    I have no real programming experience outside of a scripting environment. I build applications inside of engines. I started scripting inside of Excel and Access at my day job, now I do Unity for fun. I made several attempts to learn programming from the bottom up, learning the low level details and tools first. It just wasn't for me. I never got past displaying "Hello World" in the console. I have no interest in the low level stuff, that's why I buy an OS, I don't care how my hardware works, I just want to do things. I see the same thing with the engine. I don't care how or why programming works, I just want to do stuff. As I'm doing stuff I'll read up on the how and why to get the job done.

    So go ahead and learn real programming from a C# textbook if you like. But its not the only way to learn to script in Unity. Nor is a traditional grounding in C# needed before just doing stuff in Unity.
     
  9. GSteele

    GSteele

    Joined:
    Feb 4, 2015
    Posts:
    9
    I'm currently learning Unity and this is my current approach:

    I am waking up an hour earlier then I usually do (I have a full time job)
    I watch a video on C# (Like if, else statements etc..)
    Then I watch and follow (typing out the code not copy and paste) one of the cooler tutorials here on Unity (All Free)
    I started with the 3d shooter. I know it is advanced, but it lets me see how these concepts are used in a game.
    I add comments to every single line of code I write to remind myself of what that line does and how it is used.

    Then in the evenings, I watch other videos, in fact i am also watching the gamemaker video linked above. It helps me understand the concepts of the code. The code is mostly the same.. lots of if statements, getting an object and its properties etc..

    Then the next morning I start again...

    In my note book, I write down what I can do.
    • I can control a 3d characters movement.
    • I can get an enemy to chase me
    • I can fire a bullet
    • I can die, enemies can die
    • Keep score
    • etc..
    Then I start to dream up simple game ideas that would take advantage of what I can do. And think about what i would need to learn to complete them..

    After 2 weeks.. its starting to sink in A LITTLE! lol but it is and hopefully in 3-4 months i will be able to attempt something original. A simple single level game.

    Good luck
     
  10. Cameltotem

    Cameltotem

    Joined:
    Feb 16, 2015
    Posts:
    5
    Yeah would also like some tips.

    I did program half a year in Java and SQL so I have some basic knowledge, I made the rolling ball game and everything was smooth, went directly to the zombie shooter game. Created my own map and mesh from that, then added a jump function to my player, also added weapons. However now I am stuck with trying to add bulletforce :/

    I just come up with all these ideas that I wanna do in game and just overload my brain.
     
    Chrispins likes this.
  11. GSteele

    GSteele

    Joined:
    Feb 4, 2015
    Posts:
    9
    @Cameltotem man, you have done so much already! I want to use the free tutorials as bases to push on from. Adding jump like you have etc..

    I was also thinking about having the player move back with each fire to show recoil..

    I think you have to focus on either the bulletforce and what you want that to do, it might need breaking down further? OR leave that and move onto another idea. You might solve something else and then come back to the bulletforce later?
     
  12. jshrek

    jshrek

    Joined:
    Mar 30, 2013
    Posts:
    220
    winterfive and Billy4184 like this.
  13. leohartas

    leohartas

    Joined:
    Jul 23, 2016
    Posts:
    1
    I'm at the same stage, struggling to get a handle on the simplest concepts. I'm working through several tutorials like you and generally surrounding myself with everything I can find about Unity and C#. The problem I found with the tutorials and courses was that I'd get to a certain point, quite early on, then some small thing would go wrong and I'd be completely lost. It's very frustrating, and using forums to ask questions is just too slow for me. I've now found an online tutor and am paying for Skype lessons. This has been a total revelation as the tutor can help me immediately with concepts I don't understand, and point out where I'm going wrong and why I should do things. It does cost money, but I think the value huge, at least to help me over the first hump of learning basic concepts. Now when I go back to the online tutorials I understand a lot more.
     
    MD_Reptile likes this.
  14. WilliamKus

    WilliamKus

    Joined:
    Oct 16, 2016
    Posts:
    2
    I am completely new to Unity. I know nothing about C#. But I imagine if I want to learn, and try hard enough, and stick with it long enough, I will learn.

    I'm trusting in the Unity website that their free tutorials are the best way to go. I've completed Roll a Ball and the Space Shooter. I am in the middle of the Zombie one on a different computer.

    I thought I would learn more if I hand typed all the script, but I'm not sure if that is really helping me, since the tutorials themselves often cut and paste. In fact, it may be taking away from actually learning what the code is doing, because I'm too focused on spelling, formatting, etc. And the code that's included for copying and pasting has notes for every line of code, which I am not even seeing when I try to hand write the code.

    But anyway, the scripting looked completely alien to me on Roll a Ball, and I was like, "Omg, will I ever learn this?", but I'm just doing what the tutorial people say.

    I mean, am I seriously thinking I am going to learn C# by my 3rd or 4th tutorial? I realize this is a multi-year project, but one totally worth it with great dividends in the future.

    Even just going through the tutorials, I am learning about the basic structure of the script. I have begun to see some similarities. There are parts of tutorials that aren't completely baffling.

    I have begun to look up basic terms, like Classes, and Functions. I'm starting to see how some script needs to be written, with functions being uppercase, how to do those private/public thingies, etc. You know, super basic stuff.

    I see progress, and that's what is important. Because I didn't see any progress in the scripting after Roll a Ball. But as I moved on to other tutorials, it started to look more familiar and less alien.

    My first goal is just going to be to go through all the game tutorials and assorted mini-tutorials. Then I want to memorize how to script Roll a Ball from memory, because I have a tendency to learn by doing, and then try to tweak it where I can. I also have a tendency to forget a lot, so it's important I commit it to memory by repetition.

    There are also mini-tutorials on YouTube that just go through the most basic junk, like how to make a light go on and off when you press a key, or how to make a gun shoot a rocket. Useless by themselves, but useful in a greater whole.

    The most fulfillment I've gotten so far was learning how to do the tutorials made in 4.2 into 5.3 (or whatever version it is on.)

    I liken it to Mr. Miyagi and the Wax On/Wax Off philosophy. I will just do it and not realize I've learned anything until I'm down the road and look back on where I started from and see how far I've come.

    So that is my experience from the last month, from someone who knows nothing. I hope it helps.
     
    jordie922 likes this.
  15. Root13

    Root13

    Joined:
    Nov 2, 2016
    Posts:
    12
    So many tutorials, hope I'll have patience to pass them all
     
  16. jessechunn

    jessechunn

    Joined:
    Jun 10, 2015
    Posts:
    18
    Best answer: Dead Earth at Game Institute. Go through that and you will be a game programmer. And it is fun as hell.
     
  17. JaFaRi_CO

    JaFaRi_CO

    Joined:
    Jun 12, 2018
    Posts:
    1
    God Helps you guys
     
  18. Tset_Tsyung

    Tset_Tsyung

    Joined:
    Jan 12, 2016
    Posts:
    400
    Hey everyone.

    Several years ago I wanted to make games from scratch in C++ using Directx11. So hard, so much to learn... needless to say got number out and gave up.

    Few years later I started using Unity and loved it.

    From what I've learned and how I've learned allow me to bullet point what I feel is the best way to learn (in hind sight)

    1. Put you dream game on hold - learn the trade, learn how not to become disillusioned. Let the ideas of your dream game brew and ferment along with the new tricks you pick up along the way.
    2. Do as many of the tutorials as you can from the Learn section. Even if it's not the genre of type of you game you want you WILL learn something new everyone.
    3. Go over each tutorial twice or more if you need to. And if you're still unclear on why you're so if something, or why something isn't working go to point 4.
    4. Google can be your friend. Typing question about scripting, physics and anything else in unity into Google will most likely pull up a forum or UnityAnswer page where someone has already had the same question... and been answered.
    5. By all means use thus getting started forum, but please PLEASE be accurate in your questions. Threads that say "I apply upward force but my character doesn't jump" is not gonna get you any help. You need to include screenshots of the inspector, so we can see what's going on with your objects and hierarchy. We also need to see code (just make sure you use the 'Code block tool so it's formatted properly).
    6. Going back to the tutorials. Once you've done one and get the hang of it, add a new element or feature (just one!) to the game - this is a good test of your understanding.
    7. Once you can modify the tutorial games, set your eyes super-ridiculously-low and make a simple game from the ground up (think pong, breakout or the aforementioned flappy bird).
    8. REMAKE the game from point 7 with something new to make your game different.
    9. Finally try making a few "game in a week" games if you can (work, family, health permitting) I learned SO much about my own coding bad habits from this.
    Phew, that was a lot... but please don't despair, many of us have struggled from the beginning and we found that just pulling out one element from the pile o mess and working it until it was understood fully and working is the best thing to do - after all... how does one eat and elephant? Answer: One mouthful at a time.

    All the best, hope to hear from you all soon.

    Mike

    P.S. Disclaimer. I DONT EAT ELEPHANTS! It was a metaphor yo!
     
  19. matthewsladebooman

    matthewsladebooman

    Joined:
    Mar 31, 2019
    Posts:
    12
    I know this is a pretty old, year-old thread, and that it's a little off-topic, but I do want to add a little snippet to this thread if you do decide to take the latter path and decide that you're better off not making video games, as others said - at least not directly.

    If you do decide that coding isn't for you, that doesn't mean your game ideas and dreams are dead necessarily. You could actually just be the manager of a project instead and get coders to work on the game for you. Heck, you don't even need to avoid all involvement in the project itself aside from just simply managing the team, which is what the manager's main job is anyway. You could contribute to graphics, sounds, and even some coding if you still wish to get involved in that specific department, and you don't even necessarily have to be good at it; you can be absolutely terrible at it and yet still have very, and I mean very, ingenious ideas for the code itself, where even the experienced ones working on the code itself would've never known.

    One such idea would be a system that could detect not only bad words on a family-friendly server, but how the "bad" word was relayed to the server itself, if in or not in a offensive way. Since the example shown below itself is completely off-topic and therefore is only used for more information about the example itself, this is why it's in a spoiler.
    For example, supposed "choco" is a "banned" word on a server, and if used a certain way, rather than just simply being used at all, it could either report the user to the moderators, or outright ban the user for a certain amount of time or forever; to prevent wasted time due to a word being used in a way that was not offensive and yet the filter still recognized it as that way, and it matters more than you think, too, as sometimes, if the latter were to happen, the moderators would never notice the false ban appeal, or otherwise, and the user would've technically been banned forever unfairly as a result of this one simple mistake. Conversely, if the word is used in a way that was not offensive, but the filter would've normally recognized it as such, the user wouldn't receive any consequences for their actions, since they didn't use the word in a offensive way. For example, if the user said the sentence "I want chocolate", although they said "chocolate", and yet the word technically contains the "bad" word, the end user wouldn't be reported or banned or any other consequence, since they used the full word in a way that was not "offensive". Conversely, if, on the other hand, they said "I like choco", assuming the word by itself was considered in the "offensive" way, and used in the way it was in the sentence itself, the filter would've noticed the difference and therefore the "offensive" usage of the "bad" word itself, and therefore the console would take action, either reporting or banning the user. Of course, the "banned" word and the "offensive" usage of the word itself isn't offensive at all; this is just a "clean" example without having to risk breaking any rules or anything like that.

    Going back on-topic, if you do decide that directly working on games isn't going to work out for you, you can just be the manager of a project and get other people to work on the game for you; your minimal task is to manage the team and keep them competent and on their toes. And I'm not trying to discourage you from doing game design yourself, of course; I'm just saying that just because you can't make games yourself, doesn't mean you'll have to leave your game dreams and others like that behind permanently; you could just manage a team, and have them do all the work for you, and watch your dreams and ideas come to life. I also do respect you, the OP, wanting to do game design yourself, and if that's what you want to do, go ahead! Spread your wings! But if you do decide that doing all the work yourself isn't for you, you can either just manage a team to do it for you and still get your ideas off the ground, or you can just give up on it entirely if you really don't enjoy it. It's up to you, and them, others that do come on there, really.

    If I had to make one final quote, and I had to do so because I needed to have at least one thing about this post that's completely on-topic, I wouldn't recommend starting your first project with a huge idea - even if you seemingly "plan" to evolve it over time. It's not not okay, per se; it's not "banned" or anything like that, but it's highly discouraged; you may never actually truly get anywhere with the project, due to how complex it might just turn out to be with the code, 3D modeling, and other big stuff like that, and that's even worse than simply the project going at a unacceptable snail's pace, because your project is making no progress at all; it may be time to bail out on it and start something smaller the next time. I speak from experience, and I've only truly learned that just now; I am dead serious.
     
  20. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    18,260
    No, this is a four year old thread, and the original poster hasn't been seen since the day it was created (which also happens to have been the same day they made their account). Your advice is sound but let's be completely honest here because the OP definitely wasn't completely honest with themselves.

    If someone shows up out of the blue saying they wasted four years procrastinating and now want to buckle down and learn game development only to waste yet another four years... then it's proof enough that they didn't truly want to make a game.

    Learning C# was never holding them back. What was holding them back was the fact that they never put any effort into it.
     
    Last edited: Jun 8, 2019
    TheWillCrow likes this.
  21. matthewsladebooman

    matthewsladebooman

    Joined:
    Mar 31, 2019
    Posts:
    12
    Responses in bold.

    I'll also admit something else: I've actually never been able to tell if coding and just learning Unity in general was going to be for me. I would get flustered over not just small, but tiny, problems in coding, and, among other things, I tended to shy away from asking questions online, since I felt like I would be asking so many there would actually be a problem there. But now I've learned many lessons just now with game design, and I've just decided to start fresh and along with that and among other things work my way up from small games. Unlike the OP, I've definitely decided to actually "buckle down and learn game development"; I'm at least giving it a try, essentially one more chance, before just deciding to go ahead and managing my own team of coders and other members instead.
     
  22. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,654
    This is actually not necessarily a bad thing. When users are first starting out there are lots of questions to be asked. And a large number of those questions are already answered several times in several places (answers, the forums, youtube videos) and the users just in a hurry, because our capitalistic world wants you to spend your entire life grinding and yadda yadda...

    When first starting its best to keep quiet and soak up all the learning you can! Then when the time is right, and you hit a wall that isn't available online, you can learn more - how to do research. A critical part of just about all of life!
     
  23. TheWillCrow

    TheWillCrow

    Joined:
    Sep 14, 2019
    Posts:
    6
    whats wrong with eating elephants? i've never ate one but the are food like every other animal right?
     
  24. alfotube1907

    alfotube1907

    Joined:
    Feb 17, 2020
    Posts:
    1
    is udemy good for learning????
     
  25. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    990
    yes can be.
     
  26. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,825
    The fastest way to learn anything is by doing. Less watching, more writing.
     
    Kiwasi likes this.
  27. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,852
    How many necros can one thread handle?
     
    MD_Reptile and Joe-Censored like this.
  28. TripleChanger

    TripleChanger

    Joined:
    May 28, 2020
    Posts:
    1
    What about the choice that seems to dare not speak it's name - paid professional training. I know that boot camps are expensive as hell, but they're also fast as hell. And classes are great if you're not in a hurry and YOU DO want to be able to ask a lots of early questions. And now I'm looking up the professional online tutoring, which might be exactly what I personally need.

    Pardon me while I nerd out for a sec here, but learning a programming language is like partially learning Japanese as a second language. The neural load from learning some such things is enormous. Trying to learn something like Unity at the same time as learning C# seems like a recipe to get lots of people to quit, purely IMO.

    Finally, please lighten up when saying that the OP clearly didn't REALLY want to learn. We have no idea what's going on in his life. I for example have full spectrum bipolar disorder, mild autism, and I just beat out Covid-19, although it temporarily has my thyroid out of whack. I haven't clicked on a training video in over a month, and I still want it.
     
  29. Ghostmoonk

    Ghostmoonk

    Joined:
    Oct 5, 2017
    Posts:
    1
    It doesn't matter how long each one takes to learn. "Learning" itself is quite ambiguous, especially in a game making, with all its fields. Every knowledge will come with time and practice. The most important is to have a cool idea, and try as much as we can to make it real.
     
  30. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,825
    Learn by doing, learn by failure, learn by solving the problems of your failures yourself.
     
    Tset_Tsyung likes this.
  31. asherdavidson

    asherdavidson

    Joined:
    Aug 17, 2020
    Posts:
    17
    The fastest way is to find people who could do all the job for you :D
     
    IrrisWhatts likes this.
  32. IrrisWhatts

    IrrisWhatts

    Joined:
    Aug 17, 2020
    Posts:
    16
    I wish you good luck!
     
  33. JoseGarrido62

    JoseGarrido62

    Joined:
    Apr 9, 2018
    Posts:
    11
     
  34. RichAllen2021

    RichAllen2021

    Joined:
    Jul 19, 2016
    Posts:
    655
    I'm watching an RPG course for Unity on Zenva.com at the moment, however I can't do any of it because my Linux box can't run any apps, not even Unity :(
     
    JeffDUnity3D likes this.
  35. JoseGarrido62

    JoseGarrido62

    Joined:
    Apr 9, 2018
    Posts:
    11
    Learning can be a different beast for each individual, depending on your temperament and experience. If you are new to C# and Unity, then here are some steps I would recommend from my own experience:

    1.) Take the time and do some personal research and answer these questions or questions you feel pertain to you personally. What patterns or techniques has helped you learn in the past? This includes what motivates you to learn Unity and game programming? What type of games inspire you to create your own game? What area of game programing inspires you the most? Write these things down and explore these questions as best you can or at least spend some time thinking about it.

    2.) Game programming is a lot like walking into an expansive and ever evolving candy store. You are going to get distracted by many areas and flavors and you are going to want to take a bite of everything. There is so much to learn that you can easily get lost and try a little bit of everything but not get anything substantial completed other than tutorials. This phase is ok as long as you give yourself a time frame to explore all the different aspects/technologies of game programming. This time frame will be different for everyone and being realistic is important, don't spend too little or too much time in this phase. Take note what areas get you motivated and excited or areas you feel most interested in.

    3.) Back to thinking and planning. Imagine creating projects that employ all or some of the features that you find most interesting. Break down all the features into the smallest chunks as possible. Take the easiest or hardest chunks and create a small project exploring one feature. The easiest is to take a feature covered in one of the tutorials. Doesn't matter if you copy or paste code. What matters is that you can understand the code and modify it in some way - more thinking and planning. For example, Moving Objects with the keyboard...

    4.) Here is the critical point. Complete the project!!! Remember, this should be a small project that can be completed in one hour, one day, or two days if you are short on time. If you want to save time and know you may forget some things then take notes so you can refer back when you need to and not have to relearn it, or spend that extra time needed to get back to speed.

    5.) At this point, recreate the project from scratch and try not to use copy and paste. If this small project is a feature you will need in your game, it is worth redoing the project, and this area depends on personal preference as far as how much time you spend on this one feature. You will need to decide on a time frame. Those who learned the most are the students who create tiny silly games with the features they are learning. In this phase, you start building up your confidence and it continues to grow from here. You may be overly anxious in this phase and want to get started on your AAA game. Don't do it - take notes and make a game document if you need to, then get back to learning.

    6,) After you have a few features under your belt and you are confident you can employ them in a game, then it's really important to get serious and create a project a little more sophisticated with these features but still small as possible and complete a few projects depending on what your goals are or the time frame you set yourself. These projects may take from a day to several weeks depending on how much time you have or put in. If you have lots of ideas then start on the simplest one first. This really depends on each individual and what will keep the momentum going. As an example, or suggestion for those who need it. An example of a few features to start learning is: Moving objects, Colliders, Rigidbodies, Collision detection, the Canvas and UI. These areas can be explored but not in depth when you are first starting. You can always go in depth as you go, but at least you can create simple games. You can start with 2D, 2.5D, or 3D games, in that order. Depending on what games you are interested in. If you are interested in 3D, then start with 3D games. If you just want to learn everything like me then start with 2D and explore the mechanics involved with that first, then move on from there.

    7.) At this point you are strong and getting yourself ready for bigger projects. Keep in mind that when you first start making micro games, it is also I great idea to collaborate with other students, but only if you feel comfortable doing this. There are still many single indie developers who create there own games. I don't think any suggestions I make will make sense in this stage, you will know what you need to do when you get to this step.

    On a final note, the reason it is so important to start this way is because there is so much to learn that it can become overwhelming. You are learning C#, The Unity Editor, The Unity API, Packages, Animation, Lighting, Materials, etc. And the list keeps growing.

    Warning! It is easy to get sidetracked with your games graphics and spend less time coding. This is why most senior developers focus on prototypes before even thinking about the graphics. Terrain, animation, and 3D modeling can take an enormous amount of time if you start playing around with this and not realize you are unconsciously procrastinating with the coding part. If your focus is on Assets, then that makes sense. Otherwise, just use free assets and get coding.

    This was just a general list of steps and not thorough by any means. There are many areas not covered due to different ways of approaching a problem - learning game programing. I hope this is helpful for the next student googling this topic...

    Just wanted to add that going through the Learning tutorials here on Unity is also a great way to start. You get to build a full functioning game without needing to know coding, then you slowly get into scripting. All depends on what works for your particular situation.
     
    Last edited: Feb 8, 2021