Im sure this has been asked before, but I want the BEST answer. I would really appreciate the best tutorial to get started from nothing (no former knowledge other than some HTML) with C# in unity and become a self-sufficient game developer. I dont want to rely on external sources for code I want to be able to make it myself. I do not care how much time this takes I just want to learn.
There is no “BEST” answer how to learn C# (for Unity), because:
Everybody learns differently.
Everybody has different needs.
As example:
I am in a similar position as you at the moment. My way of learning C# is to connect the GUI of my project with the rest of the code. Using global variables in a unique Unity way, attaching scripts to game objects, et cetera. And finally, i use scripting solutions from the Asset Store.
My “BEST” solution for learning C# for Unity already contradicts with YOUR needs.
Additionally, i know starting points for learning C# for Unity, but i do not think that they will help you in any meaningfull way. Additionally, i fear that they may contain old/irrelevant information, which will confuse you.
Thus:
Define your problems/project.
Search for concrete ways how to solve these problems.
If you have problems, ask concrete questions.
If you have problems following the above three points, which is normal, look for similar solution/project to what your goal is, for which there is source code and/or resources available. Look inside its source code and/or project files, and if you do not understand something, search for explanation. Or else, find something, which fits your needs better
You learn C# like you learn any other skill. Some pointers:
Pick a project that motivates you. If you’re not motivated, you won’t lift a finger.
Find a few sources of information based on your preferences. Some people like books, others tutorials, even others prefer examples (github!). Personally, I like examples. Figuring out why they work and then tweaking and breaking them.
Commit to a curriculum of learning and practice.
Put in the hours and practice a lot. If you want to make games, this step can take months or even years, depending on how well you did (1) and (3).