jMonkeyEngine

The modern game engine for Java developers.
Code-first. Flexible. Built for creators who want full control.

Java Cross-platform Code-first Open source
21+ Years active
4.2k Stars on GitHub Star
1.2k Forks on GitHub Fork
BSD-3 Permissive license

Community message

The future of JME is in the hands of its community. Together through donations of experience, money, code and time we can ensure its future.
Leave a message

Everything you need to build games

A code-first Java engine with one rendering model, cross-platform targets, networking, audio, UI, assets, and room to build your own pipeline.

Unified GLES 3.0 pipeline

Write against one stable GLES 3.0 backend, powered by modern Vulkan, Metal, or DirectX through ANGLE for better portability and testability; or use OpenGL directly from 3.2 up to 4.5.

GLES 3.0 ANGLE Vulkan/Metal/DX OpenGL 3.2–4.5

Coming soon

Runs everywhere

Build Java games for Windows, macOS, Linux, Android, and iOS, targeting modern x86_64 and ARM64 machines with one engine architecture.

Desktop Mobile x86_64 ARM64 iOS macOS Linux Android Raspberry Windows

Modern Java

Bring the Java ecosystem into your game: Java 11 through Java 21, Gradle builds, JVM tooling, and the huge world of Java libraries you can use directly in your app.

Java 11–21 JVM tooling Java libraries

Powerful networking

Real-time multiplayer foundations with TCP, UDP, RPC, synchronization patterns, and room to choose the network model your game needs.

TCP UDP RPC Real-time sync

Physics ready

Rigid body, soft body, and vehicle simulation with Bullet, Box2D, or Jolt Physics integration.

Rigid body Bullet Vehicles Soft body Box2D Jolt Physics

GUI options

Build HUDs, menus, debug panels, and editor interfaces directly inside the engine, using built-in GUI support or community UI toolkits.

Nifty GUI HUD Menus Editors

Post-processing

Built-in filters for bloom, FXAA, cartoon edges, god rays, SSAO, tone mapping, volumetric light, and custom screen-space effects.

Bloom FXAA SSAO Tone mapping

3D audio

Cross-platform positional audio for games and simulations, with listener-relative sound, attenuation, and spatial scene integration.

Positional Cross-platform

Worlds & terrain

Heightmap terrain, paged worlds, voxel environments, iso-surface techniques, and procedural generation can all be built on top of the scene graph.

Heightmaps Voxel Iso-surface Procedural

Particles

Built-in particle emitters cover common effects, while the engine remains open enough for custom particles and community extensions.

Emitters Effects Custom particles

Multi-paradigm

The engine does not force a single development architecture. Use scene graph controls, app states, ECS-style systems, custom frameworks, or your own hybrid stack.

Controls AppStates ECS Custom

VR & XR ready

jMonkeyEngine can be extended for VR and XR projects, with community toolkits covering headset interaction, hand input, and immersive application structure.

VR XR Headsets

Your own engine

Use jME as a foundation for your app, editor, toolchain, or engine, with access to GLES and GL calls plus internals when special requirements need to bend the flow.

Embeddable GLES/GL Internals

glTF and Blender workflow

Import glTF assets with a workflow aimed at Blender parity, so materials, lighting choices, and scene setup transfer predictably into the engine.

glTF Blender PBR Asset pipeline

Extensible ecosystem

More than 21 years of development and an international dedicated community have grown modules, libraries, plugins, examples, and community projects around a BSD-licensed core.

21+ years International Community

News

Latest news from the jMonkeyEngine project.

Ready to build your game?

Get set up in minutes. No account required, no splash screens, no fees.

Open source, community built

Contribute to jMonkeyEngine

Pick the path that fits you: code, docs, testing, or direct support. Every contribution keeps the engine independent and useful for Java game developers.

Improve the engine

Fix issues, review pull requests, build features, or help maintain the core and related projects.

Sharpen the docs

Write tutorials, update wiki pages, and turn hard-won knowledge into clear guides for the next developer.

Report and test

Confirm regressions, file actionable bug reports, and help narrow issues down so fixes land faster.