because game developing is one of my dreams
Learning to program is the single most important thing you will need to be a game developer, regardless of the path you end up choosing. Most of the principles you learn in programming are the same from language to language but vary in how they are implemented, meaning that if you master some of the key principles, that knowledge will carry over between languages (such as Javascript, C# and C++).
The Unity engine is completely battle-proven and capable of making ‘pro’ games, but it is not being used for AAA game making (yet!).
I would advise anyone (including you!) to download the free version of Unity and get making games - don’t think too far ahead, just yet. Just concentrate on making games and getting some ‘game experience’ under your belt.
If you find Unity too difficult, try out one of the programming-free engines like GameMaker (http://www.yoyogames.com/gamemaker/windows/) or Microsoft Kudo (http://research.microsoft.com/en-us/projects/kodu/) to get used to the types of logic problems you will need to solve as a games programmer and the types of game logic we deal with. Once you have had some practice with the logic in those engines, that will be good groundwork for learning to program in Unity and building Unity games.
If you are aiming to be an ‘indie’ (independent) game developer or work for a small studio building social games or browser-based games, Unity is the way to go without a doubt.
If you intend one day to work on part of a huge project for a company like EA, you will more likely need to learn C++ and go to university to learn about software engineering.
BUT anyone can make games! If you think you can make it as an ‘indie’, Unity is an amazing tool to have at your disposal.
Hope this helps a little! Good luck with whatever you end up doing
Jeff.