v0.8.2
ShapeRenderer Component
New builtin component for drawing GPU-accelerated 2D shapes using signed distance fields. See the Shape Renderer guide for details.
- Three shape types — Circle, Capsule, and RoundedRect with configurable size, color, corner radius, and render layer
- SDF rendering — antialiased edges at any scale via fragment shader distance functions
- Editor support — shape type dropdown, color picker, and live preview in the Scene View
New Collider Types
Three new collider shapes for the physics system, each with dedicated documentation:
- SegmentCollider — line segment for thin walls and one-way platforms
- PolygonCollider — convex polygon with up to 8 vertices
- ChainCollider — chain of line segments for terrain and complex static boundaries
All colliders support the full property set including density, friction, restitution, sensor mode, and collision layer assignment. Editor inspector schemas and debug draw are included.
Collision Layer System
A 16-layer bitmask collision filtering system with editor integration. See Colliders — Collision Filtering.
- Named layers — define up to 16 collision layers (e.g., “Player”, “Enemy”, “Ground”) in project settings
- Collision matrix — visual matrix widget in Settings → Physics to configure which layers interact
- Inspector dropdown — collider
categoryBitsdisplayed as a named layer selector instead of raw bitmask - Project sync — layer names and masks saved to project config and shared across team
Contact Solver Parameters
Box2D contact solver parameters are now exposed in project settings:
| Parameter | Default | Description |
|---|---|---|
| Contact Hertz | 30 | Contact stiffness (cycles/sec) |
| Contact Damping Ratio | 10 | Contact bounciness damping |
| Contact Speed | 3 | Max overlap resolution speed (m/s) |
UI Interaction Improvements
- Default tinting — buttons and toggles without explicit
ColorTransitionnow apply automatic state-based tinting (hover 1.15x, pressed 0.75x, disabled 0.5x brightness) - Toggle colors — new
onColorandoffColorproperties on Toggle for customizing colors without a full transition definition - Drag UIRect support —
Draggablenow works with anchored UI elements by adjusting layout offsets instead of Transform position - Slider handle centering — slider handles are now centered on the perpendicular axis regardless of track dimensions
Stats Overlay
- System timings now display as average / peak over a 500ms window instead of per-frame values, providing stable readability without losing spike information
Enhanced Settings Dialog
The project settings dialog has been redesigned:
- Search — filter settings by name, description, or tag
- Collapsible groups — related settings organized into collapsible sections
- Modified indicators — dot markers on navigation items showing non-default values
- Reset per section — restore all settings in a section to defaults
- New sections — Rendering (sprite defaults, pixels per unit), Asset Loading (timeout, cooldown), and Network (HTTP proxy)
- Conditional visibility — settings that only apply in certain modes (e.g., Canvas Match W/H) appear/hide automatically
Performance
- Material batching — sprites sharing the same material are now batched together
- Shader loading — shaders use embedded
.esshaderformat instead of inline strings - ECS optimization — improved view iteration, sort, and render pipeline performance
Example Projects
16 example projects now ship with the engine, covering core features: sprite, animation, physics, UI controls, audio, input, tilemap, particles, tween, post-processing, storage, custom draw, materials, and more. Browse them from the launcher’s example panel.
Bug Fixes
- Fix Image component disappearing after exiting play mode
- Fix preview server serving stale project after switching projects
- Fix audio URL resolution in editor play mode
- Fix startup systems flush timing and animation in editor non-play mode
- Fix anim-clip UUID mismatch and add first-frame preview in editor
- Fix editor tests failing in jsdom environment