Geoth said:
But of course my dream is to be hired from a game dev company
Funny. The people on the outside want in, the people on the inside want out
Game development today isn't quite the way it use to be. Learning C++ is only the beginning, your baby steps towards a much bigger world. The same goes for learning rendering APIs like DirectX and OpenGL. Once you learn these (and it's a good idea to know both), you then have to learn how to use other 3rd party libraries to do things like load images, add scripting support, playback audio, etc. Or if you want to get really technical you can learn to do this entirely on your own. Then you have to spend additional time researching game related topics like how to do AI, multiplayer networking, skeletal animations, rendering effects efficiently, good OO-design practices, etc. This list drags on further than you'd like to know.
I can't make any recommendations to you because it will be bias to my own personal feelings. I would recommend studying C++, but I wouldn't brush off your C# or Unity skills. In fact, if I were in your position I would continue to advance in C# and Unity and learn C++ on the side. Starting first by writing command line tools to help augment your development with Unity. Why would I do this? First off, there's a job market for Unity developers, as well as C#. This isn't hobby stuff you do late at night and forget the next morning. Secondly, you're spending more time developing games, learning how to make them better and become more productive in your development environment. If you scrub all of that, you're going to start at ground-zero. You will spend an enormous amount of time getting your C++ development on par with Unity. By working with C++ on the side, you can slowly work on it until you're at a comfortable level to make a switch. Thirdly, technology is a dime a dozen and we as developers are expected to know everything. Things likely won't stop at just C# or C++ for you. You may find yourself also learning Python, or JavaScript, or Lua. You may one day be expected to learn SQL and RDMS. You may need to learn networking protocols like TCP and UDP. It's a never ending list of requirements, so you need to work them into your life appropriately. Never shut down one major role in favour of starting another.