Skip to content
1448308
Compare
Choose a tag to compare

Highlights

All Changes

See the Release 21.10 milestone for the full list of closed issues and pull requests.

72863bc
Compare
Choose a tag to compare

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

  • #365: OpenXR Remoting support.
  • #332: OpenXR upgrade.

Tools

  • #389: Add support for .vox MagicaVoxel models.
  • #322: Rewrote the ModelImporter.

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.
7a36842
Compare
Choose a tag to compare

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

  • #266, #225: Made it possible to build the editor with LLVM/Clang (on Windows).
  • #285: Various fixes for building for Android.
89922a9
Compare
Choose a tag to compare

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

  • #188 Several fixes for particle effects
  • #189 Added particle 'bounds' behavior

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

  • 7dcc0c6: Added search to the ingame console
  • 7c71b8a: Added support for ETW profiling

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

  • ac77380: Added ability to compile for arm64 from Visual Studio open folder workflow
  • a8f3f4a: Added basic support for Android debugging. Note: Android support is limited to low level libraries.
  • 34ec12d: Added Android JNI wrappers
059684c
Compare
Choose a tag to compare

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.