Releases: ezEngine/ezEngine
ezEngine Release September 2024
Highlights
-
Added a fill light component for tweaking local lighting and shadows.
-
Added server side shader compilation to ezFileserve and finally wrote documentation for the tool.
-
Added a component to apply aim-IK (also called look-at-IK) to an animated mesh.
aim-ik.mp4
-
Added a component to apply two-bone-IK to an animated mesh.
-
Added a component that shows how to use IK to make procedurally animated crawling creatures.
-
Added a component for steering an NPC through the world, using the navmesh.
crawl.mp4
-
Added options for automatic mesh simplification to mesh assets, animated mesh assets and collision mesh assets.
-
Added components to switch between different levels-of-detail. Either for full object hierarchies or only meshes or animated meshes.
-
Made it much easier to import assets. First of all, you can now drag & drop files into the asset browser, to have them copied into your project. Second, there are now actions in the asset browser context menu to quickly import assets, which is especially useful for animation clips, where you can now import all of them from a file with just one operation.
-
Added Custom Data assets, which make it much easier to configure gameplay parameters.
-
Made it much easier to switch between levels, using the new scene transition component.
scene-transition.mp4
-
Added a Jolt component to physically simulate cloth sheets.
-
Added support for Tracy.
-
Added support for Live++.
All Changes
See the Release 24.9 milestone for the full list of closed issues and pull requests.
Contributions
This release contains contributions by:
ezEngine Release December 2023
This is a maintenance release for ezEngine that fixes a few small but important usability bugs in the editor.
All Changes
See the Release 23.12 milestone for the full list of closed issues and pull requests.
ezEngine Release November 2023
Highlights
-
The Asset Browser was significantly improved, it can now display all files on disk, allows you to move and delete files directly from the editor, and makes it much easier to import assets.
-
The editor color them and icons where completely overhauled. The icons now use a standardized color palette to differentiate between groups of functionality.
-
Added blackboard template assets and a global blackboard component for easier organization.
-
Added support for embedded textures in FBX and GLTF files.
-
Added functionality that makes it possible to do screen space effects.
-
The editor can now generate textures using Substance Designer.
-
The Visual Scripting feature has been rewritten from the ground up to provide much more functionality, better performance and better usability.
-
The animation system has gotten an overhaul. Animation Graphs are now much easier to use.
-
Added a new AI plugin which adds support for runtime navmesh generation.
-
Added volume components which can be used for post processing effects such as color correction.
-
Added the Monster Attack sample project.
All Changes
See the Release 23.11 milestone for the full list of closed issues and pull requests.
Contributions
This release contains contributions by:
ezEngine Release April 2023
Highlights
- Improved how assets track their dependencies. This significantly reduces unnecessary asset transformations. Additionally it now detects and prevents circular dependencies.
- Jolt constraints can now be breakable.
- Added support for images in EXR format.
- Added a new path shape component.
- Added camera shake functionality.
- Added global blackboards. This is very useful for tracking game state.
- Refactored core application functionality, to make (background) scene loading and switching easier.
- Lots of new tutorial videos on our YouTube channel.
- Added a new PacMan sample game.
All Changes
See the Release 23.04 milestone for the full list of closed issues and pull requests.
10 Year Anniversary Release (November 2022)
This month ezEngine is already 10 years old! 😱 In November 2012 our small group of people decided to build a new engine from the ground up and apply all the knowledge that we had learned over years of working on various projects and engines. The goal was not to compete with other engines, but just to have a shared project that we enjoy working on and make it free for the rest of the world.
Today that same team is still very actively working on ezEngine. We have made great progress and implemented lots of features. Of course, there is still a lot missing, building a modern engine is a gargantuan task. But we still very much enjoy working on it, and improve it every day.
Here's to another 10 years! 🥳🎉
Release Highlights
- Added occlusion culling to speed up rendering (on AVX capable hardware).
- Added state machines.
- Integrated Jolt Physics as the new physics engine.
- Added functionality to export all project data to a folder.
- Added support for packed ARM textures
- Upgraded the editor to use Qt6
- Reduce support for Universal Windows Platform (UWP)
- Refactored how plugins are loaded in the editor, allowing to switch active plugins per project.
- Added sensor components for AI.
- Added a component to pose an animated mesh.
- Added shader templates to easily create custom shaders.
- Added support for reflection probes for proper PBR rendering.
- Improvements to the C++ project generation.
- A lot of work went into Linux support. It's still work in progress, though.
- We made great progress porting our renderer to Vulkan. This is still work in progress, and we still use DX11 on Windows, but it is already the basis for the Linux port.
- Significantly improved the reliability of background asset processing.
All Changes
See the Release 22.11 milestone for the full list of closed issues and pull requests.
ezEngine Release October 2021
Highlights
- Improved and documented the Procedural Placement System.
- Added Scene Layers to the editor.
- FMOD support is now enabled by default.
- Added a cloth sheet component.
- Added a PhysX rope component.
- Added a fake rope component.
- Added wind volume components.
- Added help buttons in the editor for all component types, to open the corresponding documentation page.
All Changes
See the Release 21.10 milestone for the full list of closed issues and pull requests.
ezEngine Release June 2021 (Patch 1)
This release adds a brand new skeletal animation system. Also the RmlUI integration has been improved quite a bit.
As usual there are also many smaller improvements, bugfixes and more documentation.
See the Release 21.6 Milestone.
Editor
- #402: Added a splashscreen with our new logo.
- #404: The asset browser can now show in which other assets an asset is referenced.
- #401: Generalized sky light options across asset documents.
- #303: Improved mesh material assignment workflow.
- #304: Reduced screen space required by asset type filter list.
Runtime
- #378: Resources can now be created asynchroneously.
- #373, #315: Added support for blackboards.
- #372: Added image data resource + asset
- #370: Added a 'random seed' value to every game object.
- Added support for tracking which input device is in use (controller vs. mouse/keyboard).
Infrastructure
- #356: Added infrastructure to self-document available command line options.
- #345: Added support for custom variant types.
- #338: Allow using an 'ezSdkRoot.txt' redirection file to point to the SDK dir.
- #316: Added new small array container class.
Rendering
- #407: Added option to modulate fog with sky color.
- #401: Metallic materials can now reflect the skybox.
- #374: Added a basic heightmap terrain component.
- #358: Refactored RendererFoundation to make a Vulkan port easier.
- #350: SPIR-V shader compiler support.
- #348: Early draft of vulkan implementation.
Physics
- #330: Added option to decompose collision mesh into convex pieces.
- #301: Static collision meshes can now use surfaces from the render mesh.
VR / AR / XR
Tools
Third Party Integrations
- #398: Update ZStd to latest, includes the 1.5.0 release which brings speed improvements.
- #396: Updated ads (Advanced Docking System) to version 3.7.1.
- #394: Updated to RmlUi 4.0.
- #371: Significant improvements to the Kraut integration.
- #362: Added RmlUI blackboard binding.
- #320: Updated assimp to latest (5.0.1+).
Samples
- #403: Added demo scene for animations.
- Added a sample scene for terrain and vegetation to the Testing Chambers project.
ezEngine Release August 2020
A major new feature in this release is the integration of RmlUi. Apart from that, a lot of work was put into fixing bugs, polishing existing features (such as the PhysX integration) and writing documentation. Lots of documentation.
Tickets closed: Release 20.8 Milestone
Highlights
- #274: Added support for RmlUi.
- Wrote over 100 new pages of documentation.
Editor
- #259: The editor now uses a dashboard to open projects, and show which samples are available. It also contains links to all the available online resources.
- #264: Added feature to make editing certain component enum properties much easier. For example, surface interactions.
- #253: Improved user experience for exporting and running a scene. It's now one button, instead of two, and by default it will ensure all assets are transformed.
- #228: Fixed opening Visual Studio Code, when it was installed not to the user directory.
- #269: Changed asset buttons to not use right-click, but left-click for showing all the options.
- #220: A new release is now automatically detected and the user gets an information popup.
- #233: 'Create Prefab' is now possible even when having multiple objects selected. This restriction has been lifted a while ago, but was still imposed in this workflow.
- #232: 'Create Prefab' now centers the objects within the created prefab.
- #294: Added the ability to align certain visualizers (capsule, box, sphere, ...) at their edges, instead of their centers.
- #203: Fixed incorrect culling of objects after undoing a parenting operation.
- #262: Fixed that creating an asset from an asset button did not work anymore.
- #263: Fixed opening an asset document from the asset curator.
- #234: Fixed 'Convert to Editor Prefab' to work again.
- #217: Fixed that closing an inactive document would change the active document.
Runtime
- #284, #279: Hashes for strings are now also computed using xxHash instead of MurmurHash, including the ones computed at compile-time.
- #261: ezTasks are now reference counted.
- #261: Added ezArgSensitive to be able to censor sensitive user data in certain scenarios.
- #261: Added ezHashStreamWriter to compute a hash through for data serialized through a stream.
- #261: Improved quality and size of converted textures.
- #272: Added a rational data type.
Rendering
- #235: The debug renderer can now be used to render textured triangles.
Physics
- #286: Added component to grab physical objects.
- #283, #280: Added many features to physics joints, fixed several issues and improved how they can be anchored. Also wrote lots of documentation.
- #295: Refactored the character controllers. Added support for teleporting and move the CC's origin to the capsule bottom.
- #182: Fixed that character controllers would stick to the ceiling when they touched it.
- #210: Fixed that the PVD would crash upon connection, if any joint was in a scene.
Particle Effects
- #293: Particles are now always aligned with the surface that they are dropped onto.
Decals
- #293: Decals are now always aligned with the surface that they are dropped onto.
TypeScript
- #287: Add GameObject.SendEventMessage().
VR / AR / XR
Components
- #207: The SpawnComponent now allows you to set values for the prefab's exposed parameters.
Tools
- #261: The ArchiveTool can now extract ezArchives that use a non-default file extension.
Third Party Integrations
- #288: Update Lua to version 5.4.0
Samples
- Many additions to the Sample Game Plugin to demonstrate various features.
- Various additions and fixes in the Testing Chambers sample, such as an improved character controller and lots of new things in the Physics scene to show the various joint types.
- The RTS Sample now uses the new Rml UI.
Build System
- #223: Added support for detecting Visual Studio 2019 properly.
Platforms
ezEngine Release May 2020
This release focuses on bug fixes and polishing as well as documentation.
Tickets closed: Release 20.5 Milestone
Editor
- Logged errors and warnings are now displayed in the status bar for a few seconds. A button shows the number of new errors and warnings.
- Added live resource update to color gradient and curve assets
- Action tooltips now show the action shortcut
- Snap object position when pasting
- Marquee selection does not select top-level objects anymore
- Allow to cancel marquee selection with ESC
- Added preference to always enable background asset processing
- Asset processing and background transform is now much more reliable and faster
- Editor objects are not rendered in camera previews anymore
- #144: The editor can now open projects provided by the command line
- e6b3ecb: Added Group attribute to allow grouping properties
Runtime
- Performance improvement for posted messages
- #173: Refactored the task system to fix some issues
- #163: Added ezSimdVec4u
- b3c2507: Fixed various issues pointed out by the static code analyzer 'Semmle'
- 658e7c9: ezWorld performance improvements
- d667255: Added support for long file paths on Windows
Rendering
- #193: Added support for color grading
- Optimized vertex data by using smaller formats for normals, tangents and texcoords
Particle Effects
Decals
- #158: Added support for roughness, metallic and occlusion maps
Components
- PlayerStartPointComponent now exposes the prefab parameters
- The main direction for decals and particle effects is now configurable
Tools
Third Party Integrations
- Upgraded PhysX to version 4.1.
- #185: Fixed PhysX crashes with high frame rates
Documentation
- Added high-level documentation
Build System
- #165: ezEngine can now be integrated into other projects as a CMake sub-module
Platforms
ezEngine Release February 2020
Highlights
The biggest new feature is the integration of TypeScript as a proper scripting language. With great workflow when using Visual Studio Code as the script editor.
Editor
- Improved asset transform performance.
- Added support for 'template asset documents'.
Runtime
- GameObjects now have an 'enabled' state that affects the entire sub-tree.
Scripting
- Finished a new scripting system that uses TypeScript as the scripting language.
Samples
- The 'Testing Chambers' project now demonstrates the new scripting system with various features. See the 'Corridor' scene.
Components
- Added a BeamComponent for laser effects.
- Added a RaycastComponent to move an object to the closest hit surface. Works well with the BeamComponent.