After playing around with many indie and hobby engines, I got to the point when I really wanted to pick a commercial engine that allow me to focus on my goals I want achieve instead of the limitations and lack of support of the tools I was using. Unity is a general purpose commercial game engine. Compared to other commercial engines, the biggest advantage is that Unity is very light weight, cross platform and packed with tons of extremely useful tools and features to support many different type of projects and target almost any platforms exist. C# the language used in Unity is also one of the most popular programming language out there widely used in many areas including game and mobile app development, web and server applications which means very likely we can find help even outside Unity and we can integrate with many if not all API's in the world. Of course depends on what is it that we want to make, there are better more specialised options but Unity and C#, both is a really good general solution. Almost any type of project you want to make being 2D, 3D, game, app, film, animation, simulation, AR, VR, architecture or engineering, Unity and C# got you covered and professional support, training and certification is also available for both. If you are looking for something to fit wide range of ideas and capable to support commercial projects years to come on all modern platforms and considered a valuable skill to learn, then Unity is one of the best if not the best option out there in my opinion.