SDK & Download
Download
Download the latest released preview package of Quantum SDK 3.1
Changelog
Open the changelog section the latest released preview package of Quantum SDK 3.1
Migration Guide
Open the Quantum SDK 3.1 migration guide page
Preview
The Quantum SDK 3.1.0 is provided as development snapshots and is not intended to be used for live or released games. There may be blocker bugs and the API can change or break during the preview phase.
To ensure quick support and iterations new SDK packages will be published as nightly builds.
Make sure to read the What's New in 3.1 article.
Download
| Version | Release Date | Download | |
|---|---|---|---|
| 3.1.0 Preview | 10월 29, 2025 | Quantum SDK 3.1.0 Preview Build 1878 | Release Notes |
Changelog
3.1.0
Preview
Disclaimer: The Quantum SDK 3.1.0 development snapshots are not intended to be used for live games.
Build 1878 (Oct 29, 2025)
Bug Fixes
- Fixed: An issue where clients with certain heap configurations would desync upon late-joining
Build 1873 (Oct 23, 2025)
What's New
- Support to scheduling multiple Physics Updates in the same frame simulation
Build 1872 (Oct 21, 2025)
Changes
- The default heap management mode for migrating projects is now the new
PageBasedmode instead of
Bug Fixes
- Fixed: An issue where
FrameBase.ComponentCountthrows anAssertExceptionfor table components that have never been added to an entity
Build 1871 (Oct 18, 2025)
Bug Fixes
- Fixed: A regression where ECS internals would GC allocate when iterating elements of
ComponentSet - Fixed: An issue that caused pause mode stepping in Unity Editor to not simulate one tick at a time
Build 1870 (Oct 17, 2025)
What's New
- Added a NavMesh import option to load auto-generated navmesh links directly from the Unity navmesh, only works in Unity Editor
- Added
QuantumRunnerExtensionsmethods to simplify starting Quantum in different modes by providing specific Init()-methods to createSessionRunner.Arguments, see the usage inside theQuantumRunnerLocalDebug.csscript for example - Quantum instant replays now also work when being activated during a replay
Changes
- Renamed
QuantumGame.CreateSavegame()toGetSnapshotFile(), retired theQuantumRunnerLocalSavegame.csscript and merged its functionality withQuantumRunnerLocalDebug.cs - Corrected a typo in
QuantumRunnerUnityFactory.CreatePlatformInfoand changed the static method to a property - Removed the
StartWithFrame()method from theQuantumRunnerLocalDebugclass
Bug Fixes
- Fixed: A bug where multiple tasks dispatched from the same
SystemThreadedFiltercan visit the same entities. (The slice length was not being respected.) - Fixed: An issue that caused the navmesh agent to chose any navmesh link instead of the closest one when having multiple links available that connects two triangles
- Fixed: An issue that caused the
QuantumRunnerLocalDebugscript to not apply theSimulationSpeedMultiplierwhen usingEngineDeltaTime
Build 1869 (Oct 16, 2025)
What's New
Quantum.Compression- an abstract base class for compression algorithms. Comes with two implementations:CompressionDotNet(default) andCompressionSharpLibZib(enabled whencom.unity.sharp-zip-libpackage is present). Using the latter might help with "Runtime Speed with LTO" Web builds issues. Both implementations produce the same results and rely onGZipformat
Changes
ByteUtilscompression methods made obsolete, useQuantum.CompressioninsteadCollisionChecksin Physics2D and Physics3D namespaces are now static classes
Bug Fixes
- Fixed: System task profiler entries not being recorded in non-development builds
Build 1865 (Oct 15, 2025)
Bug Fixes
- Fixed: A regression where filters didn't skip entities pending destruction
- Fixed: An issue that caused the heap settings in SimulationConfig of existing projects to not be migrated correctly
Build 1863 (Oct 14, 2025)
Breaking Changes
- The
DeterministicSessionConfiginspector now computes theHard Tolerancebased on theSimulation Rate, inputOffset Ping Startand inputOffset Min, to override this behaviour toggleOverride Hard Tolerance
What's New
- Added
Predictionstatistic to the GraphProfilers and QuantumStats window that shows how many ticks the simulation goes into prediction
Changes
- Some stats on the QuantumStats window are now smoothed and show an average (1 second) to make them more readable
Build 1862 (Oct 11, 2025)
Bug Fixes
- Fixed: An issue that could cause an ArgumentException similar to
X cannot be greater than Yafter late-joining
Build 1861 (Oct 10, 2025)
Bug Fixes
- Fixed: An issue in the component block iterator that could cause the exception
_blockCount > 0
Build 1859 (Oct 09, 2025)
Bug Fixes
- Fixed: An issue in
QuantumStartUIthat caused multiple builds on the same machine that all used the same user name to not join the same room - Fixed: An issue that caused the
QuantumStartUIto show the popup window when stopping the Editor during connecting
Build 1854 (Oct 08, 2025)
Breaking Changes
- The library
Quantum.Deterministic.dllwas merged withQuantun.Engine.dlland remnants of the old dll have to be deleted from projects that migrate to SDK 3.1 - The
DeterministicSessionConfiginspector now computes theHard Tolerancebased on the simulation rate and input offset ping start, to override this behaviour toggleOverride Hard Tolerance SessionRunner.Argumentsnow requires setting an explicitTaskRunnerto be set. This can be done by either specifyingTaskRunner = QuantumTaskRunnerJobs.GetInstance()or by implicitly setting the TaskRunner by usingGameParameters = QuantumRunnerUnityFactory.CreateGameParametersfor Unity. UseTaskRunner = new DotNetTaskRunner()outside of Unity- The demo input
.unitypackagenow requires the installation of the Unity modulecom.unity.inputsystem Quantum.Profiling.HostProfilerwas renamed toQuantum.HostProfiler
What's New
- Added
tablecomponents, which are an alternative to the sparse set ECS components that scale better, see the documentation for more details - Added a new physics solver
ProjectedGaussSeidelthat greatly improves the stability when stacking rigid bodies, to use the legacy solver select it in the SimulationConfig - Added
SimulatorContextto exposes simulation callbacks, which allow for modifications to future simulation and prediction advancements, see the documentation for more details - Optimized the memory required to store the sparse set ECS components which increases the performance of frame copies
- Added new counters to the
GraphProfilerto track bandwidth for incoming and outgoing traffic - Added Unity profiler counters such as
Q Frames Verified,Q Frames Predicted, andQ Simulation Time, that can be added to the Unity profiler windows as a custom profiler module - Added new non-biased random number generation methods to
RNGSession:Next(long, long),NextInclusive(long, long),Next(uint),Next(ulong),NextUInt32(),Int64() - Added
QuantumIgnorelabel support - apply to an asset to be ignored byQuantumUnityDB, useful on prefabs that are used as map prototypes exclusively for example - Added
SimulationUpdateTime.EngineUnscaledCappedDeltaTimewhich uses a capped version of unscaled delta time, this improves support for breakpoints and Unity Editor pausing in local mode - Added an
FPconverter utility window that convertsdoubletoFPand raw values - Added a new configurable value called
Heuristic Weightto theNavMeshAgentConfigwhich can improve the performance of the A* algorithm algorithm, try setting it to1.5 - Added support for Unity's
InputSystemactions which is now used by the demo Quantum input scripts
Changes
- The default simulation rate was increased from
60 Hzto64 Hz(using powers of two), ensuring thatDeltaTimehas no rounding error and providing greater precision in physics calculations - The multi client scripts have been moved out of the SDK package into a
.unitypackage(Assets/Photon/Quantum/PackageResources/Quantum-MultiClient) - Exporting replays and snapshots via the menu now saves the last save location as a relative path
- Changed the NavMesh API by renaming
Map.NavMeshLinkstoMap.NavMeshAssetsand by removing the propertyNavMeshAgentConfig.AutomaticTargetCorrectioninsteadAutomaticTargetCorrectionRadius> 0 is checked to test if target correction is enabled