When comparing jMonkey3 vs Urho3D, the Slant community recommends Urho3D for most people. In the question“What are the best 3D game engines?” Urho3D is ranked 3rd while jMonkey3 is ranked 12th. The most important reason people chose Urho3D is:
The entire engine is open source and makes use of other open source libraries. Source code is licensed under MIT and available on [GitHub](https://github.com/urho3d/Urho3D).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Java is a great development platform
Java is a well-optimized just-in-time compiled language. It's faster than languages without an effective native-code compiler such as Python or Ruby, similar in speed to other just-in-time compiled languages such as C#, while slightly slower than compiled languages such as C or C++ (with some low-level and numeric benchmarks being similar to C++).
Java also has a wide variety of high-class IDEs available.
Pro Multiplatform support
Code can be ported to mobile (iOS is in the works) and other Android supported devices with minor changes to the code (just change some implementations that vary on the platform such as inputs and user interface). It can even run on certain Raspberry Pi devices.
Pro Free and open-source
jMonkey is completely free, meaning it's possible to develop and release a game with no fees or royalties. Because it is open-source, jMonkey has plenty of people fixing bugs and, adding to the engine as well as creating a variety of plugins that can be used in the engine.
Pro Not limited to using its own IDE
Unlike some engines, jMonkey doesn't force its own IDE. You can use its Netbeans-based IDE, but you can also set up a project to work in another IDE such as Eclipse. You can still use the special tools from jMonkey's IDE in such projects.
Pro Engine modifications can be made using Java
Because jMonkey is implemented in Java, the same language its apps are typically developed in, developers will have an easier time modifying the engine to their needs.
Pro Has everything
jMonkey3 handles input from computers and mobile devices. It handles networking, physics, rendering, terrain, and cinematics.
Pro Ease of extensibility
Engine is modifiable.
Pro Freedom of choice for architecture
The user is not compelled to use any programming architecture nor standard in order to make a project working. JME allows the freedom to use what is best for a game.
Pro Offers both low-level and high-level ways of editing shaders
Modifying shaders can be done either via a visual tool called Shader Nodes or via GLSL that allow you to make your own shaders without the engine getting in the way or having to hack around to do so.
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 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 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 Fat-free codebase
Only use what you need.
Pro Small turnaround times while developing
Builds are quite fast, aids in rapid development.
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 Good 3D level editor
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 Does not require an editor to get going
Pro Flexible rendering pipeline
You can configure rendering pipeline.
Pro Multi-Lights
There are no lights limits per mesh.
Pro Unofficial Oculus Rift support
Information on enabling OR support can be found here.
Cons
Con Terrible API reference
The methods are not defined.
Con Not an engine for total beginners
While it's clear that you need to know Java first before using this engine, it is recommended that you have some programming experience as well. Most performance issues and memory leaks are more due to bad programming practices than the engine itself.
Con Slow release cycle
jMonkey3 lacks manpower to have a fast and decent release cycle.
Con Relies on archaic tool chain
jMonkey Engine uses Apache Ant for build automation, which is archaic and backwards, even by Java standards.
Con It has been stopped developing
The owner has moved to build new 3D engine, however, that is also experimental stage, not for production.
Con Little documentation and small community
There are some high-level design docs and a bunch of examples, but code is poorly commented and nothing much more can be found.
Con The UI can be hard on the eyes
Urho3D's UI could cause eye strain.
Con There is no support for reflections
Neither SSR nor cubemap parallax correction are implemented in engine.
Con Bad Android support
You can not compile this engine using latest Android Studio.
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.