January 20, 2025 hkadmin

Havok 2024.2 Release Highlights

The Havok 2024.2 release is now available.

This release sees expanded support for larger worlds, a continuation of our work on CMake support, and performance improvements across all products. Below you can find the 2024.2 release highlights for each Havok product and the Havok product’s integration into Unreal Engine 5.5.

Havok Navigation

Support for Larger Worlds

Havok Navigation now supports a larger number of navigation mesh sections overall. The limit has been increased to 2^31 from a previous limit of 1024.

This change allows for an increase in the overall size of the world at the same nav mesh section size. It also improves the overall granularity supported in navigation meshes, in turn lowering the in-memory information needed on both server and client.

Nav Volume Painter Prioritization

Defining the behavior of entities around different parts of the world is a big part in the interaction between characters and game worlds. Nav volume painting allows you to apply materials to Nav Volumes based on painter volumes.

For instance, you can paint a water volume to show a strong current that characters will try to avoid if possible or paint a section of sky as a cloud which slows character progress.

With this Havok release, we hand control to you to define how multiple overlapping painter volumes are handled.

Gradual Sampling Demo

We have added a new demo as an example implementation of gradual sampling of the game world.

Gradual Sampling is a way to reduce the cost of complex game specific queries to the world to make navigation decisions. We show how to split the cost of a query over several frames to perform complex analysis without having to commit to global asynchronous stepping.

Havok Cloth

GPU Based Mesh-Mesh Deformation

The Havok Cloth SDK is CPU based. However, with more cloth on screen and more sophisticated outfits and meshes driving the Cloth simulation, enabling GPU based mesh-mesh deformation can result in significant speed-ups.

In Havok Cloth 2024.2 we have added a ā€œCustom Deformā€ mode to Cloth Setups that allows you to offload mesh-mesh deformation to the GPU.

Havok Cloth Tutorials

We have created a series of Cloth Tutorial Videos to help you get up to speed with using the Cloth Setup Tool.

This playlist currently contains:

    • Cloth Setup ā€“ Quick Start Tutorial
    • Havok Cloth Toolkit ā€“ Simple Cloth Setup Tutorial
    • Havok Filter Manager ā€“ Tutorial
    • Mesh Channel Toolbox ā€“ Tutorial

You can find links to these videos in the documentation, Havok Cloth Setup Tool(CST), and the modeler plugin.

Automatically Create LOD shapes

LOD states can now be created automatically through the Havok Cloth Setup Tool or at load time. You now have the option to take a model at the highest level of detail and automatically generate lower LODs and the transitions between them.

This removes the need to manually define specific transitions and setup objects.

Havok Physics

Particles Improvements

Thanks to continued work with our customers on Havok Physics Particles we have been able to introduce many improvements to the system. Havok Physics Particles allow for a higher number of physics bodies simulating on screen for a fraction of the performance cost of a ā€˜normalā€™ rigid body. We achieve this by approximating particles either with convex hulls (allows piling and stacking) or as spheres.

Particle colliders can now opt-in or opt-out of different features (e.g. queries, collisions). We have improved performance for collisions between particles and regular Havok rigid bodies for complex shape hierarchies and collisions with compound shapes and multiple bodies.

Detecting Entangled Constraints

We have added a new utility to detect when constrained bodies become trapped by geometry and to automatically resolve these issues when they arise. This can be an issue for ragdolls; if a ragdoll is created at a position that accidentally places their feet inside the ground the constraints become trapped and add energy to the system. This new utility aims to detect when scenarios like this happen and gracefully resolve them in a believable way.

Our last release saw us move towards providing more stability out-of-the-box with a new feature for the detection of entangled compound bodies. Detecting Entangled Constraints is another incremental step towards that goal.

More Flexible Shape Combinations

We have extended our collision pipeline to allow more flexibility in how you assemble your physics shapes. You can now wrap LOD shapes or heightfield shapes with a Transformed Shape or put a heightfield shape into a compound shape.

Common

C++ 14

C++14 has been introduced as the default version across all Havok products. We aim to keep the minimum spec for Havok as low as possible. This is an update from our previous minimum required version of C++11.

CMake Support Improvements

In our last release we introduced CMake support for re-building the Havok SDK. As a continuation of this work we have made further improvements to support building for additional platforms, support for multi-config generators, and more.

Unreal Engine Integrations

We offer fully supported Unreal Engine integrations of all Havok products. Within 2 weeks of a new Unreal Engine version, all Havok product integrations will be updated and available for that respective Unreal Engine release.

The Havok for Unreal Engine Integrations are distributed through GitHub and are also available as a partner branch on Epicā€™s Perforce server.

Below are highlights of our Unreal Engine integrations per product since the last Havok SDK release in July 2024.

Havok Navigation for Unreal

Pathfind through unloaded world partitions

We have enabled pathfind queries on world partitions that have not yet been loaded by the game. To achieve this, we leverage a feature of the base C++ Havok Navigation SDK: cluster graphs.

A cluster graph is a simplified representation of the full navigation mesh, encapsulating connectivity information between all navigation mesh sections. Querying the cluster graph provides a coarse initial path for characters pathing outside of the loaded nav mesh area.

We now enable cluster graphs by default in our Unreal Engine integration. In addition to pathfinds through unloaded sections, this also significantly improves A* search performance for pathfind queries.

Havok Cloth for Unreal

Automatically Create Custom LOD Shapes

As highlighted in the Havok Cloth SDK feature highlights above, we now support automatic generation of LOD meshes, states, and the state transitions between them.

To utilize this feature during import into Unreal Engine, you can now enable a new tick box during import to create LOD states and transitions.

GPU Based Mesh-Mesh Deformation

In the Havok Cloth SDK section, we highlighted the ability to perform mesh-mesh deformation directly on the GPU. To take advantage of this feature in Unreal Engine, a new component UHavokClothSkinnedMeshComponent has been introduced, delivering performance improvements of up to 3x compared to the CPU based mesh-mesh deformation.

Havok Physics for Unreal

Feature Parity

Havok Physics is integrated into Unreal Engine transparently, replacing Chaos Physics at the Physics API level. As a result, Havok Physics supports the same workflows as a vanilla version of Unreal Engine, including Chaos Destruction workflows. As Chaos Physics continued to evolve, the Havok Physics integration requires continued work to remain as close to full feature parity as possible.

Since July, we have continued to close the feature parity gap with a focus on the control of Destruction setups.

Evaluate Now

If you would like to see how these features could help superpower your game, or are interested in learning more about any of the Havok products, reach out through the contact page to start an evaluation.