This page is a work in progress and could be pending updates.
Release Notes
Available in the Gaming Circle and Industries Circle

0.1.0
Preview
Build 10 (Dec 02, 2024)
Breaking Changes
UFixedDynamicCollider3dComponent::GetHitDynamicCollider
overloads now require aPhysicsEngine3D&
as argument. In a Quantum Object, usePhysics3D()
to acquire a reference to the physics engine- Increased minimum Unreal Engine version supported to v5.4.4
Changes
- UE Levels must now be saved in order to bake Transform data into Quantum transform prototypes and this is now a proper transaction
Bug Fixes
- Fixed: Clients desyncing when using Physics Callbacks
Build 9 (Jul 02, 2024)
Bug Fixes
- Fixed: Navigation subsystems debug drawing Actor was being auto-saved by the engine
- Fixed: Collider properties being overwritten by the Actor scale
Build 8 (Jun 24, 2024)
Breaking Changes
- Quantum Colliders now take into account their Actor's scale when being baked
What's New
- Navmesh Agent Debug Path Drawing
- Navmesh Agent now rotates towards its next waypoint
- Navmesh Agent
GetWaypoints
&GetNextWaypoint
functions - Improved
FCHitResult3D
API, includingPenetrationDepth
and functions to retrieve colliders' shapes UFixedDynamicCollider3dComponent::TryGetHitDynamicCollider
overloads to try and get a collider from different Corium hit types
Bug Fixes
- Fixed: SendCommand causing crashes when the client hadn't joined a session, the session hadn't started or the client didn't have a valid player slot assigned yet
- Fixed: Linker error when using the Navigation subsystem outside of the plugin module
- Fixed: Navmesh Agent crash when Target is not on Navmesh
- Fixed:
corium::MathLib::min
and::max
overloads that receive three parameters not returning the correct value - Fixed: Client RTT being artificially increased when the update rate is low (e.g. editor in background), which could cause the simulation to temporarily stop running predictions and result in flickers on the View elements
- Fixed: Quantum Transform not being baked when initially added to an Actor
- Fixed: wrong collision penetration computed when a sphere was completely inside a capsule
Build 7 (Jun 07, 2024)
What's New
- Quantum deterministic Navigation system. Check the new documentation pages under Manual > Navigation for further info and details
CompoundShape3D::ResetCompoundMeta
method to recompute compound metadata after modifying shapesQArray<T>::SetCount
, which can set the collection Count to any value within [0, Capacity]
Changes
MapBakerSubsystem
is a new subsystem that replaces the previousMapBaker
Actor Component. Use the new gear button on the toolbar in order to bake the Quantum Map contentIQuantumObjectInterface::AllocateArray
,::AllocateSet
and::AllocateMap
are now deprecated. Instead, use the respective collection PtrAllocate
method (e.g.QArrayPtr<T>::Allocate
) or the static function on the collection type (e.g.QArray<T>::Allocate
)
Bug Fixes
- Fixed: Issue in the Capsule broad-phase collision data, which was causing collisions at the extremes to be missed
- Fixed: Compilation errors when calling
IQuantumObjectInterface::AllocateArray
,::AllocateSet
or::AllocateMap
, which are now also deprecated
Build 6 (May 28, 2024)
What's New
- Support to Continuous Collision Detection (CCD). To enabled CCD, set AllowCCD checkbox in the PhysicsConfig asset and set UseContinuousCollisionDetection flag in every physics body (FixedPhysicsBody3d) that can use CCD. Velocity thresholds and other settings can be configured in the PhysicsConfig asset.
- New QuantumObjectInterface::OnPlayerAdded overload that receives Tick and Player info structs. Previously existing overload is now deprecated, but still called
Bug Fixes
- Fixed: Serialization of TObjectPtr<T> and TSoftObjectPtr<T> fields in Quantum State structs, which could cause snapshots to break when late-joining
- Fixed: FixedTransformComponents not baking when not attached inside a blueprint
- Fixed: Access Violation exception on
UQuantumGameInstance::OnQuantumDebugStats
when disconnecting - Fixed: Access Violation exception on
UQuantumGameInstance::OnWindowFocusChanged
after client disconnects - Fixed: Access Violation exception on
UQuantumGameInstance::IsLocalPlayer
if the client is not connected or the session is not fully created yet
Build 5 (May 20, 2024)
What's New
- Methods for
QArrayPtr<T>
,QSetPtr<T>
, andQMapPtr<K, V>
to Allocate and Free collections - API for collision and overlap checks available using corium::NativeCollision
Bug Fixes
- Fixed: Access Violation Exception when disposing a
corium::TriangleMesh
that has already been disposed - Fixed: Warnings on build due to corium::CollisionResultInfo 2D and 3D constructors initializing fields in the wrong order
- Fixed:
UQuantumGameInstance::Disconnect()
destroying its internalCoriumGame
instance twice and causing exceptions - Fixed: Add default values to session and simulation config
Build 4 (May 15, 2024)
Breaking Changes
UCoriumRunnerSubsystem
(UGameInstanceSubsystem
) was replaced byUQuantumGameInstance
(UGameInstance
). This requiresQuantumGameInstance
to be set as the Game Instance Class in the Project Settings > Project > Maps & Modes. The API maps almost identically and the QuantumGameInstance can be easily retrieved throughUWorld::GetGameInstance<UQuantumGameInstance>()
in places where the Corium Runner used to be used.
What's New
- Corium::Transform3D utility functions like Right/Forward/Up, TransformPoint, LookRotation, etc
Bug Fixes
- Fixed: Potential crashes when setting a 3D Physics Body to use CCD
- Fixed: Memory leak while resetting physics scene and using Mesh colliders
- Fixed: Memory leak on disconnect
- Fixed: OnExit callbacks being unstable when the Quantum Objects did not receive the same physics entry index across multiple frames
Build 3 (Apr 18, 2024)
Removed
UMapBaker.BakeTransforms
function and button (no longer needed)
Bug Fixes
- Fixed: serialization issue on QMap and QSet collections, which could cause desyncs on late-joins
- Fixed: crash when selecting "No" to replacing the existing
MeshCollisionDataAsset
- Fixed:
FixedMeshCollider3dComponentVisualizer
crashing when a collider points to the map asset but its triangles haven't been baked - Fixed: the computation of collision normal when a Capsule collider was completely inside a Box
Build 2 (Apr 11, 2024)
What's New
- Stats UI now display the latest Checksum value
Changes
- Corium components now compute checksums over serialized data
Removed
- Excessive debug logs from the plugin
- Unused code and libraries
Bug Fixes
- Fixed: Index-out-of-bounds exception when there isn't at least one collider component on the scene
- Fixed: Commands being mispredicted and interpreted as new player data
Build 1 (Apr 5, 2024)
- Initial preview release