I realized I have to make a game, do you guys have any advice for learning unity?
Unity is great for hobbyists or people who want to rapidly prototype something.
Before anything else, start with the Unity tutorials on their website:
http://unity3d.com/learn/tutorialsDo Roll-a-Ball first, then do all of the Programming lessons.
From that point forward, give yourself a tiny goal (such as move a box 20 meters to the left; you might want to do something more complex but this is just as an example), break that down into specific instructions (for you to implement it and for the computer to perform when the game runs) and then work on each instruction one at a time.
For example;
Your Instructions: You'd create a box, create a script and then in the script add the ability to work with the box, and then add the movement code, then put the code onto an object in the scene that can use it.
Computer Instructions: Know how much to move the box by and know which box to move -> When the game starts -> Move that box by the amount I said
Work in C#, as this will help when you learn other game systems such as XNA and FMOD. Use the Unity documentation! I cannot stress this enough! Also, avoid using .FindObjectInScene() or any variation of it unless you absolutely need it. It takes up a lot of performance and there's much better ways to do these things.
Work slow, and gradually build your confidence. Make bigger and more interesting tasks. Never be afraid to take free assets from the Asset Store, and get into the habit of reading and picking apart other coder's code. Comment every bit of code you write, and make your own documentation as it will help you memorise what you're doing.
It's going to take a while, but you'll get there.