Unreal is our engine choice for the environment, characters, animation and co-op. Being able to work on those parts in the same editor makes it easier to see how they fit together.
The development approach pairs C++ with Blueprints. Blueprints are useful for trying ideas and adjusting behaviour in the editor. C++ gives us control over the underlying systems and how they communicate. We want both available, with the choice depending on the task.
Lighting and character detail need to suit a game where the camera can move from a conversation to a settlement full of people. That means choosing settings for the scene as a whole, then checking their cost with Unreal's profiling tools. A close-up character and someone on the far side of a village don't need the same level of detail.
Unreal Engine documentation