Foundations Update
With nearly 2,000 commits, this is our biggest update yet. There's quite a bit behind the scenes you may not notice just yet as we glue features together, but we're excited to have the stage set for highly scalable components like mirrored multiplayer. New features include GLB asset management, full player controllers, TypeScript intellisense, and hundreds of small fixes and quality of life improvements, including:
Animation Blend Trees
We were originally implementing a state graph system like you see in other engines, but it felt a bit too complex: Blend trees "feel" simpler and help you quickly set up any amount of blend tree states.
Visual Keyboard for Input
Tracking inputs via a code-only approach can be a pain. Why not visualize what your keyboard input is in real-time? Why not decouple keys from actions so that any input type such as gamepads, tablets, and more can be easily used? After you define an input action, these will be fired into scripts for the controlling player.
GLTF Unpacking
Load a GLTF/GLB and it'll automatically unpack into entities with their respective meshes, materials, and animations. Further, you can fully reuse these materials anywhere in game.
Since every node from the GLTF is an entity, we can add components as usual, such as a light.
Rapid load times in mere seconds
Scene loading is now dramatically faster, getting you into your game in seconds rather than minutes.
This also includes near-instaneous scene change time (upcoming future video)
New Game Template
This is our base implementation with much more to come - you'll even be able to submit community templates for others to use!
Hierarchy Filter
Quickly find and navigate through complex entity hierarchies with our new filtering system. No more scrolling through hundreds of entities to find what you need.
Script Attributes (Base)
Define and expose script attributes directly in the editor, making it easier to configure components. We haven't implemented value setting just yet since that'll came with our State system; it'll be quite a large feature since everything is multiplayer. We're hard at work implementing and testing it, but this will give you a visual taste of how you'll continue to work with scripts.
If you're coming from Unity, this will feel similar to properties on a Monobehaviour/GameObject.
Improved Collision Shape Generation
Automatically generate collision shapes for your meshes, saving time and ensuring accurate physics interactions without manual setup. This had some bugs in the past and it's tightly coupled to our GLTF/GLB unpacking, so we've updated collision shape generation to be more robust since that feature is shipped.
Linux Flatpak
You asked, we delivered. Linux Flatpak support is now available for Mirror Engine. Let us know if you run into any issues!
Versioning: v2.8
We listen to your feedback and agree that the always-major-version convention was a bit confusing (e.g. v7, v8, etc. for every release). Yes, some major software like Chrome does increment a major version for every release, but they stick to a regular 4-week release cycle. Our aim is to ship more often than monthly, so incrementing a major version every release doesn't make sense Thus, back to semver!
Thus, this is v2.8 instead of v8. Standard versioning will also help us better communicate what's a patch commit vs. more significant non-breaking functionality with a minor version.
Thank You To
- Wuotan Studios for the buildings
- Quaternius for the player and animations
- Tatelax for the base code for the kinematic player controller
This Is Only a Fraction
It was hard to keep this blog post short. Watch the full video on YouTube and we'd be honored if you subscribe!
Be sure to sign up for our alpha if you haven't already. Cheers!

