
Cross-Platform
libGDX offers a single API to target:Windows, Linux (including the Raspberry Pi), macOS, Android, iOS and Web. Developers can use various backends to access the capabilities of the host platform,without having to write platform-specific code. Rendering is handled on all platforms through Open GL ES 2.0/3.0.

Well proven
The libGDX project was startedover 10 years ago. Over the years, libGDX and its community matured: nowadays, libGDX is awell proven and reliable framework with a sound base and documentation. Furthermore, there are plenty of games built on top of libGDX, many of which are open source.

Extensive third-party ecosystem
libGDX offers a very extensive third-party ecosystem. There are numeroustools and libraries that take a lot of work off the hands of developers.Awesome-libGDX is a curated list of libGDX-centeredlibraries and a good starting point for anyone new in the libGDX world.
Do whatever you want
Unlike many popular editor-based platforms, libGDX is entirely code-centric, offering developers fine-grained control over every aspect of their game.
- Freedom: While libGDX gives you access to various different tools and abstractions, you can still access the underlying base. libGDX acknowledges that there is no one-size-fits-all solution, so it doesn’t force you to use certain tools or coding styles: you are free to do whatever you want!
- Open Source: libGDX is licensed under Apache 2.0 and maintained by the community, so you can take a lookunder the hood and see how everything works.
- Java: Since libGDX uses Java, you can profit from the wide Java ecosystem – Powerful IDEs, out-of-the-box support for Git, fined-tuned debuggers, performance profilers, and an abundance of well-tried libraries and frameworks, as well as many resources and extensive documentation.
Feature Packed
libGDX comes with batteries included. Write 2D or 3D games and let libGDX worry about low-level details.
Audio
- Streaming music andsound effect playback for WAV, MP3 and OGG
- Direct access to audio device forPCM sample playback andrecording
Input Handling
- Abstractions formouse, keyboard, touchscreen,controllers,accelerometer,gyroscope andcompass
- Gesture detection (recognising taps, panning, flinging and pinch zooming)
Math & Physics
- Matrix, vector and quaternion classes; accelerated via native C code where possible (if you are interested in that, also note ourgdx-jnigen project)
- Bounding shapes and volumes as well as a Frustum class for picking and culling
- Intersection and overlap testing
- Steering Behaviours, Formation Motion, Pathfinding, Behaviour Trees and Finite State Machines
- Commoninterpolators, differentspline implementations, concave polygon triangulators and more
- 2D physics: JNI wrapper for the popularBox2D physics (see alsoBox2DLights). Alternatively, you can take a look atjbump for a simpler physics implementation.
- 3D physics: JNI Wrapper forBullet physics
Integration of Services
- Easy integration ofgame services, such as Google Play Games, Apple Game Center, and more.
- Cross-platform API forin-app purchases.
- Third-party support for Google’sFirebase, theSteamworks API,gameanalytics.com and Facebook’sGraph API.
- Easy integration ofAdMob
File I/O & Storage
- File system abstraction for all platforms
- Straight-forwardasset management
- Preferences for lightweight settings storage
- JSON andXML serialisation
- Custom,optimised collections, with primitive support
Graphics
- Rendering throughOpenGL ES 2.0/3.0 on all platforms
- Low-Level OpenGL helpers:
- Vertex arrays and vertex buffer objects
- Meshes
- Textures
- Framebuffer objects
- Shaders, integrating easily with meshes
- Immediate mode rendering emulation
- Simpleshape rendering
- Automatic software or hardware mipmap generation
- Automatic handling of OpenGL ES context loss
- High-level 2D APIs:
- Orthographic camera
- High-performancesprite batching and caching
- Texture atlases, with whitespace stripping support. Either generatedoffline orat runtime
- Bitmap fonts. Either generated offline orloaded from TTF files
- 2D Particle system
- TMX tile map support
- 2D scene-graph API
- A Powerful UI Solution:
- 2D UI library, based on scene-graph API
- A plethora ofofficial and third-party widgets
- Fullyskinnable;Composer for creating UI skins
- High-Level 3D APIs:
- Decal batching, for 3D billboards orparticle systems
- Basic loaders for Wavefront OBJ and MD5
- 3D rendering API with materials, animation and lighting system and support for loading FBX models via fbx-conv
- Third-party support forGLTF 2.0
- RudimentaryVR support
- Third-partypost-processing shader effects
Networking
- Gdx.net for simple networking (TCP sockets and HTTP requests)
- Cross-platformWebSocket support
- Common Java networking solutions:KryoNet &Netty (not supported on Web)
And…
…a Great Community! Get support from a very friendlycommunity of game and application developers or use any of the libraries and tools created by members of our community. Join us today and get started with your very first libGDX game!