I would agree with Lunarts that the engine doesn’t matter that much, as long as you’re willing to work with whatever engine you have. You’ll have limitations with any engine you choose - Unity has some, especially with the Free version, just like the BGE has some.
If you want realtime liquid physics, for example, almost no engine readily available will have this feature. You’ll have to implement it yourself, basically.
If you want a simple 3D space adventure, then almost any engine would suffice. The BGE is powerful and feature-rich enough where you can make pretty much any game type in it and have it look and play very well.
If you want GLSL graphics, the BGE has it. If you want custom-written GLSL shaders, you can easily run them in the BGE, as well. If you want realtime physics, the BGE has this feature. If you want 2D objects (sprites), it’s easy to set them up once you know how. As an example, I’ve been making Soldier Of, a retro 3D action RPG game with 2D sprites, and I think it’s turning out pretty well.
You might say that this doesn’t seem to be stressing the Blender Game Engine, but the BGE is primarily a 3D engine, so doing 2D animation in it wasn’t as easy as doing 3D animation in it, which is similar to most other 3D engines. Now that I’ve done this, though, it’s easy for me, and everyone else, since I released my animation script for public use, even with a tutorial on how to use it. That’s another reason to use the BGE - the community here’s pretty good about sharing things, and we all want a better engine to use.
I would also recommend running with the BGE for its excellent workflow and for supporting an easy-to-learn programming language (Python). The main thing that you’ll find is probably this: When you find that it’s not easy to do something in the BGE, don’t immediately turn to another engine. You’ll have to both start from scratch with the new engine, as well as abandon your current work in the BGE. Rather than that, do some research, and ask questions on the forums. The answer is rarely, “It’s not possible in the BGE.” Even things that were previously thought to be too inefficient to run in the BGE, like voxels, are possible.
P.S. If you choose the BGE, try a build from GraphicAll, as some bugs were recently fixed in that one.