I agree with Firoball.

3dgs is definitely a very easy start, you can go forward in tiny steps, gives you a simple insight into programming, 3d graphics asset creation, and also to shader programming (the latter is a great help if you want to move on to professional engines where material/shader programming is done in a visual editor).
it is also described in an old Game Programming Gems book article, that for beginners a non object oriented script language is easier, especially because they can work in an experimental way, i.e. in fast coding-compiling-testing loops.
this is how I had worked with 3dgs. but when my project became large and complex I sucked a lot because of it, I had to re-plan and rework totally my code structure and all my scipts. twice at least, each costing 2-3 months. so now I do more careful planning, similarly to object oriented programming, but fortunately 3dgs offers the fast testing of the little new script additions. I really like it.
but 3dgs badly lacks a lot of tools today expected by artists and designers. without a good WYSIWYG all in one editor it is hard to test visually in real time a lot of things e.g. particle effects. my little sweet child MapBuilder is not a solution for all the problems grin stopping the development of new WED dug 3dgs under the ground (beside stopping the android port). sad that 3dgs developers had seen the right direction but were unable to complete the targets.
the rendering system of 3dgs is simplistic, you have to create your own or use 3rd party solutions (shade-c), lacks advanced optimizations, what you get by default with other engines.

I had good experiences with Unity (version 3), but only after I had some experience with 3dgs. the editor is a bit complex for the 1st sight, if you are inexperienced with 3d game development you can get lost, but there are plenty of good tutorials and nice free stuff. after lite-c, it was easy to program, you just need to separate the initialization and loop parts of your "actions", the documentation was also good enough. and today its licensing system is much more competitive than it was.

UE4 is a strange hybrid. It needs a good hardware to develop, but you can target a bit lower end machines too. it offers a lot, really helps artists, but requires a lot from the programmer, needs careful game design.
its C++ programming section is hard to start and badly documented. the game architecture you get is for one character controlled games (FPS, RPG etc.), but in most cases it results in benefits, well designed, somewhat flexible, and you can possibly develop faster a game than with 3dgs. and it features a lot of great subsystems you had to create with 3dgs by your own e.g. pathfinding, AI, character control, animation control, cheat unfriendly multiplayer system etc.
they focus rather to make blueprint programming easy, but without some programming knowledge it is not so easy to make those wire diagrams working. and when games become complex, blueprints can lead to hard to track bugs...
but because the community is huge, if you are a programmer, you have great chance to find good artists there to your team.
not to mention huge amount of free or very cheap graphics assets to use with an advanced/optimized renderer. and community is definitely a great help.


Free world editor for 3D Gamestudio: MapBuilder Editor