Everyone always asks “Where can I learn C# for Unity”? Its no problem, I was one of them too. But what if we said where we learned to code? I personally have not started to learn, but I will use Udemy’s course. https://www.udemy.com/unitycourse/ I know the price looks crazy but it is ALWAYS on sale for $12, I have only found the deal on the IOS app but I am pretty sure its on the PC website too. So anyway, back on topic, were have you learned to code in C#, or whatever language you use?
This is where I learned Unity specifically:
However, it appears they’ve redone the tutorials now. When I did it, there was only the UnityScript option. I already knew how to code prior to taking this tutorial and translating it to C# was very easy.
They may have a C# option as well now.
Once I went through that I was ready to do my own stuff. The only other places I learned anything about Unity from were the official Learn site offered by Unity and occasional Google searches.
As I said, though, I knew how to code prior to getting into Unity. So if we’re talking specifically about where we learned to program in general, then the answer is Edx’s CS50 from Harvard → https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
I highly recommend going through that if you’re interested in getting into Computer Science or programming in general. It’s challenging, though! (And it teaches C primarily, not C#)
Mashing my face on the keyboard, looking at docs. No tutorials. I did obsess over the docs though. Anything I didn’t understand or recognise, I headed to the docs until I did.
Learning to code in Unity is REALLY two parts:
-
C# - this is the language and independent of Unity. This is your logic, your maths etc and will be 90% of what you need to learn.
-
The Unity API - these are the commands, function calls etc to drive the engine. Stuff like Transform, GameObject… components and so on. The poorly named Monobehaviour and so forth.
So if you have a good grasp of coding, you’re really just interested in learning the Unity API.
I just watched the tutorials up on the Unity website, one by one, for several days straight. I then downloaded some demo projects (also from the Unity site and the AssetStore) and went over them with a fine-toothed comb. I then started making my own projects (while disconnected from the internet most of the time, as an added challenge and a way to stay focused), using only Intellisense and my knowledge of C# and memory of the demos to guide me. I did that for about a month as a hobby.
Then the real fun started ![]()
I learned in the chair I’m sitting in right now.
It’s falling apart.
Really, I agree with Hippocoder.
C# - which I learned years ago.
Unity API - I just picked up as I go along, reading the documentation as needed, experimenting in engine, and hanging around the forums.
Learned BASIC a loooong time ago as my first programming language. From there I kept learning more languages as I needed to. Started Unity with “UnityScript”, made and released some games using that, then moved to C# last year.
As @hippocoder pointed out earlier in the thread, once you have the programming mind set, adding new languages isn’t too huge of a deal. It’s the first language, developing the mind set, that’s the big step.
Added: I hate tutorials. Especially video tutorials. Give me a quick text breakdown of how to do a particular thing and I’m off and running. When I used to smoke (quit 15 years ago) I’d go out for smoke breaks and devour software manuals. They were my bibles. I miss those days. Not so much the smoking, though (well, sometimes).
UGH, so true!
Everytime I’ve seen a video tut, I’m just like, GET ON WITH IT! So I skip ahead, and I end up in the middle of some sentence and no idea where they are.
Hate tuts so bad.
While I also prefer text over videos, the videos I’ve learned from were far more comprehensive than any of the available free text-based explanations I could find. I learned many things that I found useful, and if I had said ‘get on with it’ and skipped ahead, I’d have missed those things. Better than the video tutorials would have been purchasing books; however, at the time I wasn’t about to spend the money on books when there was so much available for free. I have purchased several books, but none of them have been specifically about Unity.
This thing is, nowadays, almost all “manuals” are video tutorials. There’s not really any choice when it comes to it, as most developers put together a video, complete with unintelligible low volume speaking, instead of taking the time to make proper docs. Then when the code gets updated, instead of them making a new video, they just put an annotation over the original saying, “oh yeah, this video may not totally match the new version but you get the idea”.
I get that people these days like to learn from videos, but I suspect that’s because videos are how most developers these days “document” their code, and people get used to what’s available. Personally, I can’t stand it. I don’t want to watch a 15 minute video to find a single thing that would have taken me a minute to find in a proper manual.
OK, I guess I can see where JasonBricco is from. It’s sort of like you get to witness some tricks of the trade that some people use while doing their work… stuff that is only partially related to the topic of the tutorial video. These are things I usually have picked up while working on teams with other programmers, and if you don’t get a chance to do that, I can see such a thing being useful.
But as a medium to convey an actual topic. I personally need something that can be searched and scanned. I can highlight the parts I need to focus on, and re-read them multiple times.
Ctrl+F, oh my god, with out it I die. You should see my keyboard… the only keys that are more faded out are C (copy) and V (paste) (as well as n and m for some reason… no idea why them). No lie look:
Well, the thing with me is when I was watching these video tutorials, my experience was more or less 0. Never made anything before. Never worked in a team. Never used Unity and could barely figure out what anything was in the editor or where anything was or how to use any of it. I was absolutely clueless.
In that situation, watching a comprehensive video guide was very helpful.
Today, now that I know a lot more than I did back then, the sort of information I’ll be looking for is probably going to fall under this sort of situation:
And in this case, I absolutely agree - I’d much rather use a proper manual.
I finally got rid of my Microsoft Natural Ergonomic keyboard a couple of months ago after I spilled wine in it and shorted it out. I’d had it for years; my favorite. A ton of keys were totally faded out. When other people would use my keyboard they were completely lost, like, “how the hell do you type on this?” haha.
Yeah, my fav keyboard style. I bought 3 last time I purchased for backups. Already went through one of them (I’m MEAN to my keyboards… on them 16+ hours a day).
I learned the basics of programming through QuickBASIC during middle school. I’ve migrated from one language to the next since then and each one has gotten easier to pick up. Learning C# was a matter of spending a few hours with the MSDN documentation.
Sometimes I miss my Model M…
So know what you mean. They don’t make em’ like they used to (well, not with out paying over a hundred bucks).
I picked up the basics with QBasic years ago in primary school. I dabbled in Visual Basic through high school and matlab at university. I was introduced to OOP through the JMonkey engine.
I learned C# first from the Unity learn section. I became a reasonably competent expert (at least in the Unity context) using answers and MSDN.
Now I’m learning web development from random Youtubers. Who knows what I’ll pick next.
I guess I taught myself programming, but I’ve read a ton of books over the years in all sorts of languages. Nowadays the language syntax is not really the issue, I understand most of the basic concepts and they are the same for pretty much any language.
Some people learn differently. What I typically do is read a book or two on the subject, then give myself a small little project like making Pong (which I have done on loads of different platforms and languages). This teaches the basics of writing a script, having a main loop, input controls, simple AI, manipulating graphics, text UI, states if you want a title screen or whatever. Really the basics of any game. Once you understand the logic, it’s just about understanding how your engine/framework API works and reading documentation (and hoping it’s correct).
So if you want to learn, the best way is to just do it. You learn a lot more from action than anything else. Pick something simple (again, really simple, like Pong) and see if you can make it work.
I took an offline course in my local resident via Erase building. Although it’s a bit expensive, it’s much more efficient than I leant by myself. Later, I leant my from live projects.
I learned Unity by diving in and making a kids game for my son on ipad. I did absolutely everything the wrong way and it took probably twice as long as it should have but it got me started enough so that for my next project I knew what topics I needed to look up. I had never done 3D(or C#) before so pretty much everything was bizarre and foreign to me from transforms to cameras to quaternions(!) you name it.
If you want to see an update loop from hell, I’ve got a peach…Think procedural C programmer meets Unity and that’s pretty much what it ended up as.
Same here, but with additional S (save) and W (because ctrl+W closes currently opened document and deletes last word in terminal apps). Nowhere as much faded tho as in your case (ie. all letters are legible). Probably better paint.
