Unreal is known to be FPS-centric though. Why not roll your own? I've done it and I'm happy.
I am involved with a project (which I can't give out too many details of) that will be building something similar to a top-down RPG. Graphically we have a bunch of 3D objects of various sizes that get joined together to make levels (think of the dungeons in a game like Diablo 2 except that the tile pieces are in 3D rather than 2D and its an overhead view rather than an isometic view).
Can anyone recommend an engine that would work for this project? Already ruled out Unity but anything where the source (in C++ preferably) is available (and has no "non-commercial only" restrictions attached) would probably be worth looking.