This page is a work in progress and could be pending updates.

Release Notes


Available in the Gaming Circle and Industries Circle
Circle

0.1.0

Preview

Build 10 (Dec 02, 2024)

Breaking Changes

  • UFixedDynamicCollider3dComponent::GetHitDynamicCollider overloads now require a PhysicsEngine3D& as argument. In a Quantum Object, use Physics3D() 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, including PenetrationDepth 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 shapes
  • QArray<T>::SetCount, which can set the collection Count to any value within [0, Capacity]

Changes

  • MapBakerSubsystem is a new subsystem that replaces the previous MapBaker Actor Component. Use the new gear button on the toolbar in order to bake the Quantum Map content
  • IQuantumObjectInterface::AllocateArray, ::AllocateSet and ::AllocateMap are now deprecated. Instead, use the respective collection Ptr Allocate 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>, and QMapPtr<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 internal CoriumGame 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 by UQuantumGameInstance (UGameInstance). This requires QuantumGameInstance 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 through UWorld::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
Back to top