Skip to content

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:

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 categoryBits displayed 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:

ParameterDefaultDescription
Contact Hertz30Contact stiffness (cycles/sec)
Contact Damping Ratio10Contact bounciness damping
Contact Speed3Max overlap resolution speed (m/s)

UI Interaction Improvements

  • Default tinting — buttons and toggles without explicit ColorTransition now apply automatic state-based tinting (hover 1.15x, pressed 0.75x, disabled 0.5x brightness)
  • Toggle colors — new onColor and offColor properties on Toggle for customizing colors without a full transition definition
  • Drag UIRect supportDraggable now 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 .esshader format 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