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.
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.
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
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
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.