toaderman said:
Does anyone have any advice on how to start out or recommend any good courses on how to learn Unity and C#?
This depends on your goals.
If your goal is to just make something, then it doesn't really matter much, get whatever you want to dive in to your learning journey. Unity's website has a ton of tutorials aimed at beginners. It should be enough to help you make “something”. They won't teach you what you need to be a top-tier programmer, but they will teach you enough to make things as a beginner.
m_waddams said:
So begin with learning C#, you shouldn't be messing with Unity yet
If the goal is to learn C# and become a top-tier programmer, I agree. However, if the goal is to just make games for fun and not give too much thought about actual programming, it doesn't really matter much.
If the goal is some organized learning to be a game programmer, I'd also recommend against starting with the engines. The C# programming done in Unity tutorials is often terrible programming. It is enough to get the demo concept across but usually not much more, and it's generally a terrible example of how to program. The same with Unreal, the tiny snippets of code are only focused on showing the concept, usually have terrible implementation flaws, and while they're okay for a starting place they are nowhere near what is needed for production code.
One book that is consistently recommended is the “Programming C#” series published by O'Reilly. The book has had lots of revisions over the decades, get a version corresponding to the age of Unity you're using, like “Programming C# 8” or “Programming C# 9”. Microsoft also has a lot of good references on how to learn the language, as well, although many of the application framework parts you won't use, since Unity already provides those. Even so, it's important to understand how they generally fit together as part of being a well-rounded programmer.