Complete C# Unity Game Developer 2D
The course has been remastered in Unity 2018 and is compatible with Unity 2018, 2019 and 2020.
Reddemy may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Udemy. Thank you for using these buttons to support Reddemy.
Reddit Posts and Comments
0 posts • 110 mentions • top 50 shown below
2439 points • sominator
Context: I'm a tabletop game developer and digital marketer, and, having spent a long time around games and computers, decided I wanted to learn to code about 3 years ago.
I set off as many do by searching, at great length, for what language I should learn, and where from, returning to this topic several times over the course of my journey. I came across several threads suggesting one language or learning platform over another, and thought to share my particular experience in case it's helpful for someone else in the same discernment process.
Disclaimer: I'm not a professional programmer, and although I am using my skills to benefit my work (you can read about my search for a prototype framework here), coding continues to be a hobby for me rather than a source of income, whatever that tells you.
Also disclaimer: I'm not attempting to position one language or learning platform over another, and I quite obviously haven't tried to learn every language out there, on every platform. The following is just my experience trying to figure out the most sensible way forward in an admittedly confusing environment.
You can also skip to the bottom for the TL;DR.
I'm not quite sure if I already knew that C++ was and continues to be a cornerstone in video game development, or if I saw it in one of those "What Programming Language Should I Learn" infographics that are about, but I wanted to know more about how games are made and how to talk to the computer. I'm pretty tech-friendly and have built or tinkered with my own PCs, thinking that might lend itself to the experience of learning how to code.
Holy smokes was I way out of my depth. I did a few tutorials online (I think through learncpp or similar) and soon realized that I would need more guidance to understand basic object oriented programming principles, in perhaps a more readily accessible language, than I was finding in learning C++.
I should also mention that I completed Codeacademy's courses as a free user, not wanting to pay a subscription fee for what they were offering at the time, which included projects and mentor support.
I learned a lot of basics from Codeacademy and general OOP principles, but didn't wind up applying much of it without a clear path forward. I returned to my search (who am I kidding, I've spent a LOT of time concurrently researching other languages, learning platforms, and bootcamps throughout the whole process) and decided I wanted to learn more about game development through courses on Unity.
C#: The Udemy Experience
I found Ben Tristem's Unity course on one of Udemy's perennial 10000% off sales, and worked diligently through the tutorials to build clones of 2D brick breaking and other games, learning just enough C# to get by but not enough to feel confident in making anything myself.
Unity itself was probably more of a roadblock here than Tristrem and co.'s instruction, which was actually quite good. The Unity editor is a beast of an engine, with a lot of good tools that are impenetrable to a novice user (again, you can read more about my experience with Unity here).
I still feel like I learned a lot from the courses and the simple act of being exposed to C# and Unity's desired work flow, but wasn't getting enough out of the experience to continue. A friend of mine tipped me to take a look at freeCodeCamp, which is where I went next.
On first blush, freeCodeCamp has the look of a less flashy Codeacademy or Treehouse, but I liked how straightforward the tutorials were and without feeling like I needed to get past a paywall to make progress. I picked up where I left off with learning HTML and CSS, making good progress until I got to the Responsive Web Design projects that are required to finish the first section and receive a certification.
More importantly, I started to work on my own web-related projects on CodePen and game projects using a bunch of different engines. I also started using Python to do some basic social analytics in my day job, and found it helpful.
Post-Tutorial Purgatory: The Documentation & Googling Experience
Fast forward much time later, and I'm now working on several game-related projects in Phaser and Unity (most notably, a digital prototype for a tabletop card game I'm developing). I've spent a whole heck of a lot of time in framework documentation and Stack Overflow looking for answers and best practices for stuff (linking this post one more time for good measure). I also have developed friendships with a few colleagues who are themselves programmers, and it's been helpful to run code by them for advice and feedback.
One thing that's been helpful about working on my own projects is just the basic experience of setting up a workflow. Learning to use the command line and Git in concert with setting up NPM and a code editor, for example, was eye opening (particularly coming from CodePen, which just does everything for you). For better or worse, most tutorials don't expose you to the nit and grit of the tools that you'll need to get your work done, and there's a lot to be learned.
If you're reading this and looking for the "and I just got my first job as a programmer!" statement, I'm sorry to disappoint! That hasn't been my objective (at least thus far), but I do have some basic TL;DR learnings to share that may be helpful for anyone who's also on the search for a programming language or a platform on which to learn it.
- Pro: A very good entry point into learning object oriented programming, particularly if you're interested in any kind of web development (front or back end). You can learn this through most platforms, but my experience was best served by freeCodeCamp.
- Pro: Super friendly for newcomers if the curly braces in other languages are intimidating at first, and a good point of entry if you're interest in getting into back end programming or data science. I had a good initial onboarding experience through Codeacademy.
- Con: Your options are a little limited if you're looking to get into front end or game development. There are frameworks, for example, that allow you to make games (PyGame, for instance), but if you're specifically looking into game development, you'd be better served elsewhere.
- Pro: A very pleasant language that's well-supported by Microsoft and the open source community. With it, you can do back end development, make desktop apps, create games (mostly with Unity but there are other engines like Monogame out there). It may be an unpopular opinion, but I'd recommend first learning C# through Microsoft tutorials or elsewhere and then learning Unity to ease some of the cognitive load imposed by the editor's complexity.
- Con: Not much to speak of here, unless you really don't like Microsoft or really do want to work on front end web development. I could speak volumes about how Unity can improve its user experience, for example, but C# itself is great.
- General Thoughts:
- One of my frustrations in my process of asking the question "what programming language should I learn?" was what I felt was the insufficient answer of "well, what do you want to build?" I encountered this answer a lot, and don't think it's the right way of approaching learning how to program. A beginner doesn't have enough context to know what they can build, let alone the route to get there (unless they're the type of person that just wants to make games or just wants to land a job as a web developer).
- A better answer would be to say, "try a few tutorials on different sites and in different languages, and see if something strikes you as interesting. If it does, stick with it; if it doesn't, pick one at random and see where it takes you. The stuff you'll learn will help irrespective of what you actually wind up doing."
- Additionally, if you can force yourself to get out of the tutorial ecosystem and just make anything outside of the protected environment that's been set up for you, it'll help teach you things you'll need to eventually know, such as setting up an IDE, searching for answers to questions, and sharing your work.
I hope this post is helpful for others out there who are searching for a programming language or a place to learn it. And I'd love to hear about your experiences, too!
2 points • TauriKree
I like the Udemy classes. They go on sale constantly for like $13 and will walk you through everything and have you build it.
It really helped me to have a structured lesson rather than just look up 50 tutorials (but I do the tutorials now and can understand them far better).
Like this one.
2 points • sean_the_head
This is one I took about 5 years back https://www.udemy.com/course/unitycourse/learn/lecture/10614272
2 points • thstephens8789
It is paid, but I'm working my way through this course right now. So far it's really good. I'm learning quite a bit. Once I'm done with that I'll probably start doing some of Brackeys tutorials, or some Cat Like Coding ones
1 points • RugbugRedfern
is what I started with. it's almost always on sale, though, so don't feel like you have to rush to buy it.
1 points • BorisCerdan
The game is coded in C# with Unity. If you want to get into game development on Unity, I strongly advise this course : https://www.udemy.com/course/unitycourse/ That's where I got started, great stuff ! ;)
1 points • StigC
In section 7, they cover a Plant Versus Zombies kind of setup.
1 points • Cigarettelegs
I went to Udemy.com and bought a Unity 3D tutorial for $12. Has roughly 40 hours of video content, lots of access to communities and the instructors set you up with challenges. I'm about 12% of the way through. I haven't been taking it seriously since I bought it about 4-5 weeks ago. I really went to town with it this weekend though. I expect to be at 50% by Christmas.
The instructors also made a 2D tutorial as well. https://www.udemy.com/course/unitycourse/ Don't pay full price for that. If they aren't giving you the 90% discount, then just wait. It really will take some discipline to sit down and learn it all. Its a massive learning curve and a lot of info to take in. Not to mention the scripting in c#. Dont let it intimidate you. Keep at it with momentum.
1 points • rossmassey
Ben Tristem's courses on Udemy!
1 points • HawocX
C# is just a bit more difficult than Python. While a dedicated C# course is great, there is nothing wrong with learning it together with Unity. The syntax is a small part of programming, mastering the (Unity) API is what takes time. Just make sure to get a good resource for learning Unity. It doesn't have to be just copying code.
This one is well regarded: https://www.udemy.com/course/unitycourse/
(Never buy an Udemy course at less than 80% off. They got a weird pricing system.)
1 points • SamSmitty
Don’t beat yourself up. You just need to start more basic and learn more.
The biggest problem is that you are eager to make something, but don’t have the skills yet. I could sit here and tell you the multiple things wrong with your code, but it wouldn’t help you in the future at all if you don’t understand why they were wrong in the first place.
It’s like if Albert Einstein helped me on a really hard equation, but I only had basic algebra skills. I might see that his solution works, but wouldn’t be able to solve another hard problem without his help with my current skills.
If you are serious about learning and don’t mind spending just a little bit of money, try taking a course. I suggest https://www.udemy.com/course/unitycourse/.
There are multiple projects you will make, and it starts with the basics.
1 points • SuperSmashSonic
I suck at formatting but here is the link! If it doesn’t show up, look up “Ben Tristem”. His teaching style is a little slower, but very in depth, is entertaining, and actually challenges you!
1 points • kalimerau
Hey, so I've read that you are coming with a medical background, so I thought this could help...
Disclaimer: I'm a software engineer, but I have studied medicine in the past, and I still have friends in the field, so I kind of understand how the two fields relate/compare.
Studying medicine is very very heavy on knowing how everything works in a very specific context.
In computer science related tasks, you just learn all the super low level fundamentals, and then you're asked to do something crazy hard and high level. In a medicine-like context, it'd be like studying just chemistry and physics or whatever, without ever mentioning the human body, and then being asked "why is this guy coughing?". In theory, you can figure out, but the first few times are going to be extremely hard. But as you encounter the same problem more often (or you listen to people sharing their experience), you can figure out a path from your very low level knowledge to the highest levels, and then you don't even think about the path, you instantly recognise the pattern.
Now back to the main topic: you're basically in the second situation, except you have never studied the fundamentals. So when you see an expert on youtube, someone that knows both the fundamentals and the high level stuff, they either use words you don't understand, or jump over concepts without really explaining them because they are very obvious for the expected audience (or maybe they don't really know what their audience knows?). Knowing all the fundamental concepts is basically a huge shortcut, bypassing the steep learning curve that's involved. That's the "prior knowledge" you're talking about.
Just a personal example. I was reading about 2D animations, and I use something called Aseprite (pixel art making software). They have a thing called "layers". I created a first layer, put my character's arm in it, then a second layer, with the rest of the body. Now if I want to animate the arm, I don't need to touch the body, and I can just create a second frame for the arm!
How did this come intuitively to me? Because this is a very well known software development principle, called "separation of concern": the fact that the arm moves should not change the way the body looks, i.e. the body doesn't need to know about the arm. So I saw "layer", and I instantly recognised this very familiar pattern, based on my fundamental knowledge + my experience. Did the guy that created the software tell me why I should use layers? No. He just expected people using the software to know why they need layers. Again, prior knowledge.
My point is: you should be feeling lost, it's totally normal and expected. You do need this prior knowledge, yes. You said it yourself, you literally know nothing about the field, and your past experience (medicine) has not prepared you well for this. But you can learn! This initial "everything is so hard" feeling is exactly how anyone trying to learn things that rely on concepts they know nothing about feels. Have you tried learning your first second language by yourself? It's a nightmare that makes you want to cry every minute of it, until you magically know how to speak the language. And then, learning another language becomes so much easier, it's not even funny. I can guarantee that it's the same process here :)
I have no idea if this course is good for a non dev background person, but it was great for me. I think they do a very good job at teaching you how to do things by yourself.
1 points • Jasth83
Try Udemy, this one for example - https://www.udemy.com/course/unitycourse/
It's a noob frieldy course well worth the 11 euro Udemy asks for.
And for a study suggestion, take notes alot (for me taking notes, make it stick) and later spend some time in the manual, reading about the parts the course takes up...
Editor, functions and so on.
Good luck and have patience:-)
1 points • UnitTest
A popular, very fast way of learning games is typically through a udemy course that takes you from the ground up. Here’s a really popular one for 2d games that exists: https://www.udemy.com/course/unitycourse/.
1 points • itdoesntmattermybro
No problem bud.
This has been good so far. You’ll be making nit very interesting games to begin with but that’s so you can really get a solid grounding with C# and the UI.
1 points • NTPrime
I took the Unity courses by these guys and now I'm a full time Unity dev. Haven't gone through the 2D and 3D courses again since they remastered them but it's a good organization. Can get almost any course of theirs for about $10. If they're not on sale today they will be again within days. Maybe you're looking for only free stuff but throwing some money at learning will help motivate you.
1 points • Zilla85
This is the one I mean, quite cheap.
1 points • nelfoo
Most Unity tutorials I have been through have been terribly structured and hard to follow. I have picked up the popular 2D one on Udemy as I learned to program from Udemy tutorials (thank you Mosh!) so I am putting my faith into this one and will start it soon.
1 points • edco0328
Link: I recommend buying only when it's on sale.
1 points • nikil07
Can second Ben tristems Udemy courses. Udemy 2D.
They are incredibly detailed, and go over each and every thing, from programming to Unity.
I got them for really cheap on sale, and you should too.
Been doing this for a month now, and just about 10 hours of content is left. Really loving the process.
1 points • TheRealGlutenbob
Udemy has a good beginner 2d unity course from the guys at gamedev.tv
You can get it in sale for $11 or so.
Edit: here it is https://www.udemy.com/course/unitycourse/
1 points • IAmMalware
1 points • Deaden
It's a very solid course with a proper learning structure and QA sections for each video where you can get help from other students and sometimes the instructors if the question is tough enough. It moves at a slow pace, and goes over topics multiple times.
The price tag sometimes says $200, but Udemy has constant "sales". The price is actually around $10 or so.
Go mow a single lawn. Go shovel a single driveway. It sounds like you have both a smart phone AND a computer that can run Unity. I sincerely doubt your family is too poor to afford $10-$15 for what could be a significant investment in your future.
1 points • Blain44
Best c# intro ever made
1 points • The-Last-American
Maybe keep an eye out here for when this goes on sale:
There are other courses as well, and they often go on sale. Ben and Rick are good teachers though, and they have a good workflow.
1 points • foblicious
Complete C# Unity Developer 2D: Learn to Code Making Games https://www.udemy.com/course/unitycourse/
I suggest waiting for their sale that brings the price down to $10.
Good luck and have fun!
1 points • epiphanyatnight
Take a look at this course, it is very well organized and paced: https://www.udemy.com/course/unitycourse/.
I have just completed this course and then followed some tutorials on YouTube (especially Brackeys) and now working on my 2D game. You just need to lay some ground work with the course and then you can learn along the way by searching what you need, it is great to learn by doing.
1 points • MarcCDB
This course is really good! https://www.udemy.com/course/unitycourse/
1 points • pluram
If you're willing to spend some cash on it, this udemy course is pretty spectacular. I am going through it right now (also a first-timer) and it's been really engaging and worth it. It's on sale! For even less than the sale I got it through. It's a very good jumping off point for learning the basics of Unity.
1 points • CascadaOW
Which Unity tutorials did you watch? Because Brackeys makes really good Unity tutorials that are very well-explained. He also has a C# course that teaches you the foundation of the language.
If you're looking for a paid course then I highly recommend this course from Udemy. It really well structured and explained.
1 points • palecc23
I started with this few years ago and it was perfect for me. If you'd be happy with it check out also their 3D course and RPG course
1 points • etay080
I highly recommend this https://www.udemy.com/course/unitycourse/
1 points • mattcj7
They have 3D an RPG and other courses as well. And very well made and will get you started. I started with them over YouTube since YouTube channels bounce around topics.
1 points • 223am
I realise you'll probably ignore this, but for a second try to snap out of your bubble of 'I can't make games'. You can. Anyone can. It's going to take a bit of effort like everything else, but you'll have fun along the way.
Everyone was in the same place as you and started somewhere. I recommend downloading Unity and starting with this course : https://www.udemy.com/course/unitycourse/ It costs a little bit. If you really can't afford 5 bucks or whatever google for another beginner course or head over to r/Unity2D and ask.
I'd also highly recommend the 'Sebastian Lague' YouTube channel.
Everyone else making games stopped complaining they didn't know where to start and did something. Come on man, stop procrastinating, do it now.
Edit: and I mean right now, not tomorrow, not in 5 mins. Right. Fucking. Now.
1 points • Kurumiz
Zero. If you could never start something without already knowing how to do it, it would be pretty much physically impossible to advance.
Would recommend this if you happen to have a few dollars and want to make your life a lot easier though.
3 points • drama1993
This is one that I highly recommend: https://www.udemy.com/course/unitycourse The other one I went through is this one: https://www.udemy.com/share/1013uk/
Also, if you have any questions at all or ever want to chat, shoot me a message. I remember the first time I opened unity, I was overwhelmed with the amount of buttons and controls... just take it one step at a time. You can do it!
2 points • DR_JONES15
I started with games plus james and mister taft creates and i am currently going though Jame's fps udemy course. theses courses are 95% off 2D course https://www.udemy.com/course/unitycourse/ 3D course https://www.udemy.com/course/unitycourse2/ and once you get the basics down breckery touches on some more advanced stuff but dose not go onto mich detail as he assumes you now most of the basics
2 points • TheOfficeFan02
2 points • kardall
Actually, i see that their C# Game course is like CAD$17.99 right now instead of $199 so... now would be a good time to get it.
2 points • Tom_Bombadil_Ret
I would suggest 2 things.
Don't Give Up. I really believe anyone can do great with enough effort. It may be a long process but I believe in you to make something great.
Take Small Steps. Any amount of progress is worth celebrating, I don't know where you are but at your age I knew nothing about game design on a large scale. Learn everything you can and do your best.
The folks over at /r/unity2d are typically super helpful and supportive.
I would personally suggest this course for learning Unity 2d. It currently is listed as super expensive but probably once a month I see it down in the 10-15 dollar range so it may be worth looking into. I know some other courses were suggested so you may not need more than one but just a thought. https://www.udemy.com/course/unitycourse/
2 points • Patsuiii
2 points • SkidRowTrash
I'm learning this right now and am using Udemy this time. I have previously tried learning a couple different times but nothing really helped but I signed up for this course and it's incredible, I understand so much because of it.
I got it on sale 90% off, there are many sales on Udemy, I would suggest waiting for a sale and then getting this course.
2 points • Tkalec
I'm following a course on udemy - https://www.udemy.com/course/unitycourse/learn/ . It's explained there. If you don't want to buy it just because of that, this might help https://gamedev.stackexchange.com/questions/110958/what-is-the-proper-way-to-handle-data-between-scenes
The course on udemy uses the "2. DontDestroyOnLoad" from the gamedev.stackex answer.
1 points • slappiz
1 points • Clau_PleaseIgnore
I know, that's the main reason I pick unity at first, I even bought a course https://www.udemy.com/course/unitycourse/
But after i did some research and got more informations I start asking myself if I'm bitting a lot more than i can swallow.
1 points • s_makishima
I recently thought myself as well. I'm sure theirs plenty of free options and maybe others can recommend you one based on their experience, but i decided to go with a udemy course. Since you can get a course for 15 to 30 dollars, I would say its worth it because then you actually have access to others doing the course and creators of the course too if you need further help.
I did this one:
chose it simply because it was the highest rated. I would say its a good intro course, sure I still have a lot to learn, but the course taught me enough to make a simple game. I also feel it gave me the basic knowledge that I can build on it and learn further on my own.
1 points • CobyCode
I'm about halfway through this one - https://www.udemy.com/course/unitycourse/ (They have a 3D course too) - and it has been quite fun. I was already relatively familiar with C#, and very familiar with OOP, so I can't vouch for how effective the beginning of the course will be for someone who is new to programming, but from skimming it, it seemed pretty solid.
You do cover alot of Unity specific stuff, which won't help you at WGU. If you get hooked on it, it is certainly a good way to start working on side-projects - which is the best way to get good at developing anyway, and also gives you the benefit of having a coding portfolio you can point to when you start interviewing.
1 points • Briggsy16
I'm currently running through a Ben Tristem course on Udemy: https://www.udemy.com/course/unitycourse/
Finding it really useful, the most engaged I've been with a course over the years and I've done a lot.
1 points • Hellorde
Hello, in my opinion, this one is really good for starters.
You have some good youtubers too, like brackeys, blackthorprod, sykoo,
Good luck :D