When comparing jMonkey3 vs Unity, the Slant community recommends Unity for most people. In the question“What are the best 100% free and easy game engines for beginners?” Unity is ranked 22nd while jMonkey3 is ranked 27th. The most important reason people chose Unity is:
Unity is bolstered by a huge, helpful community via its official [forums](http://forum.unity3d.com/), [wiki](http://wiki.unity3d.com/index.php/Main_Page), [Unity Answers](http://answers.unity3d.com/), and [Unity Asset Store](http://www.assetstore.unity3d.com/); plus the most-subscribed [subreddit](reddit.com/r/unity3d) of any game engine.
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 Great community support
Unity is bolstered by a huge, helpful community via its official forums, wiki, Unity Answers, and Unity Asset Store; plus the most-subscribed subreddit of any game engine.
Pro OUYA support
Pro Over 20 platforms
Unity offers over 20 platforms for publishing including mobile, console, web, VR, and more.
Pro Versatile
Not tailored for specific types of games (like Unreal...), so it won't get in your way if you want to make something unique.
Pro Well structured
Overall, a coherent engine with a rational approach. People who complain a lot about being forced to hack around it usually do not read the docs, like the one that describes orders of execution, or specific functions hooks and such. Some like to say it lacks raw power where people who are used to standard optimizations have no problem. For example It is not uncommon to encounter users who complain about low FPS but forgot to activate occlusion, flag static elements, activate animations culling, and so on. As for complaints about C#, people who are transitioning from C++ were already bad at C++ before being bad at C#. They often come from the PC world where the sheer power of today's machines is very forgiving compared to the platforms we had to develop for in the 80s~90s. One of their errors is for example to never read this doc.
Pro Very optimized
Unity runs very smoothly even on systems that are considered "weak" by today's standards.
Pro Lots of assets can be found in the Asset Store
For those developers who can't afford an artist, or aren't skilled enough to create their own art, Unity features an Asset Store full of a wide variety of free and paid assets that can be easily added to a game. The Asset Store has more than just music and art. It also has code and modules that can be added to games including unique lighting or GUI systems. It also has powerful asset management and attribute inspection.
Pro Works with 3rd party IDEs
You can use any C# IDE for it, but the ones tested which have Unity integration are:
- Microsoft Visual Studio
- MonoDevelop
- Visual Studio Code (much faster than VS, but a bit harder to set up for Unity development)
- JetBrains Rider (very fast, has lots of functionality and best Unity integration, but it is not free)
Pro Flexibility is provided by a strong component programming model
Pro Has a great animation system
Unity provides a great state machine animation system called Mechanim allowing to separate animation from the model and assign the same animoations to different models.
Pro Powerful standard shaders
The built in standard shader in Unity 5 is incredibly optimized and supports PBS/PBR.
Pro Allows for rapid prototyping
Unity's modular system and usability allows for quickly developing a prototype of an idea. It has features like drag & drop editing, shaders, animation and other systems already in place to allow diving right into developing a game.
Pro Easy learning curve
The way the editor is structured, by setting scripts on objects, and the use of a high-level language, C#, makes it easy to learn.
Pro Can create custom forms and tools
Pro Very popular
Unity is a proven game engine. It is used by a wide range of developers - from small indies to triple-A companies such as Microsoft, Paradox, Square Enix and Sega.
Pro Lots of resources to learn from
Unity3D provides an exhaustive documentation where everything is given a full description supplied by a number of examples as well as video and text tutorials and live training sessions to understand the ins and outs of the engine. In addition there's an ever-growing community that can offer advice to help resolve any situations that may arise.
Along with the official Unity resources, there are many high quality (and often free) third party tutorials available.
Pro Great editor
The editor GUI is very powerful and intuitive. It allows pausing gameplay and manipulating the scene at any time as well as progress gameplay frame by frame. It also has powerful asset management and attribute inspection.
This allows it to be more powerful than other, simpler drag-and-drop engines such as Game Maker Studio, although it can take a bit more experience to learn the workflow.
Pro As of Unity 5 all engine features are free for everyone
As long as the company makes $100k or less, Unity's free version can be used to release games without purchasing the pro version.
Pro Supports 2D and 3D
With Unity knowledge of just one engine is needed to be able to create both 2D and 3D games.
Pro Great community
Great Community support through Forums and Unity Answers.
Pro Provides access to a huge list of assets through Asset Store
There's an Asset Store, providing free and paid assets (including components). It also has powerful asset management and attribute inspection.
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 No native editor for Linux
Though it builds for Linux, the Unity Editor runs only on Windows and Mac. Some users have successfully run the Windows version on Linux via Wine.