When comparing libGDX vs Urho3D, the Slant community recommends libGDX for most people. In the question“What are the best 2D game engines?” libGDX is ranked 13th while Urho3D is ranked 65th. The most important reason people chose libGDX is:
Lots of references, tutorials and open source code to learn from.
Ranked in these QuestionsQuestion Ranking
Pro Lots of resources to learn from
Lots of references, tutorials and open source code to learn from.
Pro Great performance across devices
While it may not always have the best performance for a particular device or system, it's one of the few engines which consistently performs very well across different platforms.
Pro Allows you to migrate from 2D to 3D within same framework
LibGDX supports both 2D and 3D game development. Allowing developers to migrate from 2D to 3D with ease without having to switch the engine they are using or having to learn a new API.
Pro Doesn't force a specific design
Unlike some engines, which only allow you to make your game in a few specific ways, libGDX allows you to design any type of game you wish as it is extremely customisable.
Pro Active and helpful community
The libGDX community, in the official libGDX forum is extremely helpful and approachable for any kind of question regardless of the its quality or difficulty.
The forums themselves are a very helpful resource for any issue or guide simply by searching past posts in there.
In addition to the forums, there's also the official #libgdx IRC channel on Freenode.
Pro Uses Box2D
A Java port of the Box2D physics engine is included in libGDX.
Pro Interfacing with platform specific code
Sometimes it is necessary to access platform specific APIs, e.g., adding advertisement services or leaderboard functionality provided by frameworks.
Pro Can use any JVM language
Since it's built with Java and runs on the JVM, any language that compiles to Java bytecode can be used to develop games with libGDX.
Pro Free, open source & permissive license
libGDX uses the Apache License 2.0.
Not only is libGDX free and open source but also it's license gives you a lot of power over the engine. As long as you provide a copy of the license, give credit, do not hold devs liable and do not use libGDX logo in any engine forks you can do pretty much anything you want.
Pro Very easy to customize
Pro Constantly improved
LibGDX itself is pretty mature, and get updates not quite frequently, but various libraries for it are actively updated.
Pro Across platform support
You can write once and run anywhere (Android, IOS, Desktop, Browser) also lately came with lib to deal with VR.
Pro Support for 3rd party tools
libGDX has built in support for many 3rd party tools, including (but not limited to) Bullet Physics, Box2DLights and the well-praised Tiled Map Editor.
Pro Lots of tutorials to get you going
Even though the official documentation might be lacking, there are many tutorials on YouTube for libGDX.
Pro Excellent font rendering support
Very good tools for rendering fonts.
Pro Similar to the Microsoft XNA framework
Old XNA users may like libGDX since it's API is actually very similar to XNA's.
Pro Focusing on object pool patterns, to control memory without pointers
Unlike Unity or other engine, it allows to optimize a language that uses garbage collector when using patterns of objects you can control the use of memory without needing a language like C / C ++, getting the same speed in a more productive language.
Pro Kotlin support
It is written in Java so you can easily make games using Kotlin and Ktx project will help you get all advantages of this language.
Pro Free and fully open source
The entire engine is open source and makes use of other open source libraries. Source code is licensed under MIT and available on GitHub.
Pro Includes a lot of samples
There are a lot of sample projects included with the engine for both C++ and Angelscript. They are mostly very simple applications built to demonstrate the engines capabilities and features.
Pro In constant active development
Bugs are usually fixed that same day. Core devs are very active on forums. New features are always being worked on. HTML5, DirectX11, and OpenGL3.1 support have recently been added. (as of 4/15/15)
Pro Very high code quality
Urho3D is written in a modular and super-clean way, so that it can be integrated into the other parts of your game seamlessly.
Pro Small turnaround times while developing
Builds are quite fast, aids in rapid development.
Pro Fat-free codebase
Only use what you need.
Pro Good documentation
The documentation for Urho3D can be split in two parts: auto-generated from class references and documentation written to cover the various aspects, features and systems of the engine. The written documentation is pretty good. It covers most of the aspects of the engine in clear and understandable English.
Pro Does not require an editor to get going
Pro Good 3D level editor
Pro Flexible rendering pipeline
You can configure rendering pipeline
There are no lights limits per mesh
Pro Unofficial Oculus Rift support
Information on enabling OR support can be found here.
Con Not starter friendly
Even default applications fail to load in Android. It doesn't have any documentation on errors either.
Con The project slowed down in development
The number of active developers has decreased, many open issues and pull requests.
Con Build system is clunky
LibGDX uses Gradle, which is very demanding of memory and makes IDEs freeze on anything if your computer is not powerful enough.
Con Does not create compiled code
LibGDX runs entirely on Java and does not create executable binaries.
Con A bit difficult to use
This engine is not well put together. Is made from various free modules each with their own peculiarities. At times it feels you need to learn a couple of libraries rather than just one. Is not an engine for beginners as it requires coding. Lots of coding. You need to be intermediate to advanced in Java to develop in LibGDX.
Con The UI can be hard on the eyes
Urho3D's UI could cause eye strain.
Con May be a bit hard to get started
To install Urho3D you need to get the archive from GitHub (be careful to download the master branch) and extract it. After that, you need to compile the engine with CMake. If all the dependencies are installed, then it should be a straightforward process, otherwise you will need to track down and install all the missing dependencies.
For people who don't have much experience with CMake this whole process may seem a bit like magic. For people who do have experience with CMake, the whole installation will be relatively easy.