Well pretty much indie developers (small teams with not a great budget) use commercial engines like Unity, Unreal, Cry Engine, etc. Because you only need to pay a license to be able to deploy to multiple platforms without great effort. Big companies like EA, Konami (Kojima and his Fox Engine), etc use their own engine which they develop from scratch. But to do that you need really great programmers with specialized knowledge of physics, 3d, etc. So if you don't have those knowledge or people with that knowledge or so, your way to develop would be using an already made and commercial engine, which I would recommend Unity 'cause it's free to start developing and you only need a license to publish your game for consoles or so.