Devlogs
Release 0.12.0
LITIENGINEA downloadable game engine for Windows, macOS, and Linux
Posted June 02, 2026 by gurkenlabs
#2D #entity-framework #Game engine #java #litiengine #particles #physics-engine #Tilemap #ui-framework #utiliti
Whatβs Changed
Highlights of this release include runtime display mode switching with automatic GUI rescaling, expanded tweening capabilities, Aseprite animation import/export support, improved GUI navigation, an emitter data serialization rework, and several stability improvements across the engine and utiLITI editor.
π§ Engine & Core
- Added runtime display mode switching, allowing games to change resolution and display mode without restarting.
- Added automatic GUI rescaling and repositioning when the game resolution changes.
- Added focus-aware keyboard and controller navigation for core GUI components.
- Expanded the tweening system:
- Added loopable tweens.
- Added tween lifecycle events.
- Added Camera tweening support.
- Renamed
Tween.begin() to Tween.start().
- Added support for registering custom Trigger types without implementing a custom
MapObjectLoader.
- Added Animation Resources and JSON utilities for importing and exporting Aseprite animations.
- Resource lookups are now case-insensitive, preventing load failures caused by filename casing differences.
- Improved resource loading with more graceful exception handling.
- Fixed floating-point precision issues in collision detection that could cause false-positive intersections.
- Fixed an alignment clamping issue.
- Improved documentation throughout the engine, including extensive JavaDoc updates and clarifications.
π¨ Particle System
- Replaced
ParticleParameter with serializable RangeAttribute.
- Renamed
EmitterData to EmitterAttributes.
- Improved / simplified emitter serialization.
π οΈ utiLITI
- Added context menus for resources in the Resources tab.
- Added keyboard shortcuts for common resource operations.
- Added context-sensitive import menus to the Resources panel.
- Improved Asset Panel usability and interactions.
- Added double-click color picker support in the layer list.
- Fixed a macOS-specific crash caused by right-click interactions.
π₯οΈ Platform & Runtime
- Improved handling of borderless window mode changes.
- Added required desktop modules to packaged applications for improved runtime compatibility.
ποΈ Toolchain
- Updated the Gradle Wrapper to 9.5.1.
- Improved workflow security by pinning GitHub Actions to commit hashes.
- Updated and modernized CI/CD workflows and release tooling.
- Various code quality improvements, cleanup efforts, and Sonar findings addressed.
π¦ Dependencies
Notable dependency updates include:
- Input4J β 1.2.0
- JUnit β 6.1.0
- SonarQube β 7.3.0
- Gradle Actions β 6
- Spotless β 8.6.0
- Mockito β 5.23.0
- JAXB β 4.0.9
β οΈ Breaking Changes
Tween.begin() has been renamed to Tween.start().
ParticleParameter has been removed and replaced by RangeAttribute. -> rename maxValue to max and minValue to min in your emitter XML.
EmitterData has been renamed to EmitterAttributes.
New Contributors
- @SOrtiz1967 made their first contribution in #959
Full Changelog: https://github.com/gurkenlabs/litiengine/compare/0.11.1β¦0.12.0