Both Unity and Unreal are widely used engines, so it that might just come down to personal preference and/or what the people that you're working with are using (assuming they aren't making custom engines for the game they're making, but that tends to be only done at larger game developers).
CryEngine is another engine that is free, though out of the 3, it seems that CryEngine is the least popular.
All 3 require you to code, though you can go on each engines' asset stores and buy up pre-made code, or just use the reference and tutorial documents and then just copy-and-paste. I encourage anyone wanting to use any of those engines to learn to code in them, because you can't always find the "easy" way out if you want to do something specific in the code.
Try all 3 out. Do some tutorials, make a simple game or two, see what feels best.
Worth watching is this (very very very very NSFW) video from Jim Sterling about Unity, though it does cover the other mentioned engines, as a "how not to do it"