Quantum 3 3.1.0

Namespaces | Classes | Enumerations | Functions
Quantum Namespace Reference

Classes

class  ArrayLengthAttribute
 Editor attribute for selecting the minimum and maximum length constraints for an array field. More...
 
class  ArrayUtils
 A collection of utility methods for working with arrays. More...
 
class  AssemblyNameAttribute
 Specifies that the attributed field represents the name of an assembly. More...
 
class  Assert
 Provides methods for asserting conditions. Throws an AssertException when a condition is not met. Methods are only invoked in DEBUG builds unless otherwise specified. More...
 
class  AssertException
 An exception that is thrown when an assertion fails. More...
 
struct  AssetGuid
 Represents a unique identifier for an asset. More...
 
class  AssetObject
 A base class for all Quantum asset objects. More...
 
struct  AssetObjectIdentifier
 A struct that identifies an asset object by either its GUID and (optionally) path. More...
 
struct  AssetRef
 An indirect reference to an AssetObject. More...
 
class  BinaryData
 An asset containing raw binary data. Use CreateByteStream to access contents safely and auto-decompress, if compressed. More...
 
class  BinaryDataAttribute
 Specifies that the field represents binary data. More...
 
struct  BitSet1024
 A bitmask with 1024 bits. More...
 
class  BitSetAttribute
 Represents an attribute that specifies the number of bits in a bit set. More...
 
struct  BitSetRef
 A variable sized bitmask over 64-bit words. More...
 
struct  BitSetRef32
 A variable sized bitmask over 32-bit words. More...
 
class  BitStreamExtensionsCore
 Bit steam extensions methods to serialize Quantum specific concrete types. More...
 
class  BitStreamReplayInputProvider
 This implementation of IDeterministicStreamReplayInputProvider is used to provide delta compressed input for a Quantum simulation replay from a BitStream. Alternatively the input provider can be started empty (new BitStreamReplayInputProvider(null, 0)) and to a later point in time be filled with input history chunks by setting a new Stream and a new MaxFrame values. More...
 
struct  Button
 The Quantum button used for player input. Instead of using bools or similar data types to represent key presses, the Button type is used inside the Input DSL definition. This is because it only uses one bit per instance, so it is favorable to use where possible. Although they only use one bit over the network, locally they will contain a bit more game state. This is because the single bit is only representative of whether or not the button was pressed during the current frame, the rest of the information is computed locally. More...
 
class  ByteSerializerHashMapper
 Maps value hashes to an indexed collection of previous values. Can be used in combination with a ByteStream to avoid serializing the same value multiple times. More...
 
class  ByteStream
 The byte stream is a class to serialize and deserialize byte-wise data. It's mostly used by Quantum asset serialization and deserialization. The data is stored inside a byte array internally. More...
 
class  ByteStreamExtension
 Byte stream extension methods. More...
 
class  CallbackBase
 The base class for callbacks adds an id to the callback. More...
 
class  CallbackBeforeSimulationStage
 Callback called before the Verified or Predicted stages of the simulation start. More...
 
class  CallbackChecksumComputed
 Callback called when a checksum has been computed. More...
 
class  CallbackChecksumError
 Callback called on a checksum error. More...
 
class  CallbackChecksumErrorFrameDump
 Callback called a frame dump is received due to a checksum error. More...
 
class  CallbackCopyPreviousPredicted
 Callback called just before the current update predicts its last frame. More...
 
class  CallbackCopyPreviousUpdatePredicted
 Callback called when the frame last predicted in the previous update is available again. More...
 
class  CallbackDispatcher
 A subscribe and publish pattern for Quantum callbacks. A Quantum callback is a invocation from inside the simulation during certain situations. More...
 
class  CallbackEventCanceled
 Callback called when an event raised in a predicted frame was canceled in a verified frame due to a roll-back / missed prediction. Synchronised events are only raised on verified frames and thus will never be canceled; this is useful to graciously discard non-sync'ed events in the view. More...
 
class  CallbackEventConfirmed
 Callback called when an event was confirmed by a verified frame. More...
 
class  CallbackGameDestroyed
 Callback called when the game was destroyed. More...
 
class  CallbackGameInit
 Callback called when the game is about to start. More...
 
class  CallbackGameResultResponse
 Callback when GameResult was recieved by the server. More...
 
class  CallbackGameResynced
 Callback called when the game has been re-synchronized from a snapshot and is about to start. Will be followed by the CallbackGameStarted callback. More...
 
class  CallbackGameStarted
 Is called during QuantumGame.OnGameStart or QuantumGame.OnGameResync when the game is started after systems are initialized and the snapshot has arrived for late-joining clients. More...
 
class  CallbackInputConfirmed
 Callback when input was confirmed. More...
 
class  CallbackLocalPlayerAddConfirmed
 Callback when a local player was successfully added to the game. More...
 
class  CallbackLocalPlayerAddFailed
 Callback when a adding a local player failed. More...
 
class  CallbackLocalPlayerRemoveConfirmed
 Callback when a local player was successfully removed from the game. More...
 
class  CallbackLocalPlayerRemoveFailed
 Callback when removing a local player failed. More...
 
class  CallbackPluginDisconnect
 Callback called when the local client is disconnected by the plugin. More...
 
class  CallbackPollInput
 Callback called when the simulation queries local input. More...
 
class  CallbackSimulateFinished
 Callback called when frame simulation has completed. More...
 
class  CallbackSimulationStageFinished
 Callback called after the Verified or Predicted stages of the simulation have finished. More...
 
class  CallbackTaskProfilerReportGenerated
 Callback when ProfilerContextData has been generated. More...
 
class  CallbackUnitySceneLoadBegin
 Callback sent when a Unity scene load begins. To enable this feature SimulationConfig.AutoLoadSceneFromMap must be toggled on. More...
 
class  CallbackUnitySceneLoadDone
 Callback sent when a Unity scene load is done. More...
 
class  CallbackUnitySceneUnloadBegin
 Callback sent when a Unity scene unload begins. More...
 
class  CallbackUnitySceneUnloadDone
 Callback sent when a Unity scene unload is done. More...
 
class  CallbackUpdateView
 Callback guaranteed to be called every rendered frame. More...
 
class  CallbackUpdateViewAfterEvents
 Callback guaranteed to be called every rendered frame after CallbackUpdateView and after the events have been dispatched. More...
 
struct  CharacterController2D
 A component for kinematic character controller prototyping that uses a circle as a shape. You can quickly add this to an entity and set a CharacterController2DConfig, then call the CharacterController2D.Move(FrameBase, EntityRef, FPVector2, IKCCCallbacks2D, int?, bool?, FP?) method in a system update. More...
 
class  CharacterController2DConfig
 The configuration values of the CharacterController2D. Use this to setup the kcc shape size and tune its movement and collision detection. More...
 
struct  CharacterController2DMovement
 Result of a 2D KCC raw movement query. More...
 
struct  CharacterController3D
 A component for kinematic character controller prototyping that uses a sphere as a shape. You can quickly add this to an entity and set a CharacterController3DConfig, then call the CharacterController3D.Move(FrameBase, EntityRef, FPVector3, IKCCCallbacks3D, int?, bool?, FP?) method in a system update. More...
 
class  CharacterController3DConfig
 The configuration values of the CharacterController3D. Use this to setup the kcc shape size and tune its movement and collision detection. More...
 
struct  CharacterController3DMovement
 Result of a 3D KCC raw movement query. More...
 
class  ChecksumErrorFrameDumpContext
 Gathers additional meta data during the Quantum game callback IDeterministicGame.GetExtraErrorFrameDumpData in response to a checksum error. More...
 
class  ChecksumFile
 A serializable object that contains recorded checksums for a Quantum session. More...
 
class  ChecksumFileHelper
 Helper methods to convert between ulong and long. More...
 
struct  CollisionInfo2D
 Info about a collision between two 2D physics colliders. More...
 
struct  CollisionInfo3D
 Info about a collision between two 3D physics colliders. More...
 
struct  ColorRGBA
 Quantum representation of a color with 4 channels (R, G, B, A) each represented by a byte. More...
 
struct  ComponentBlockIteratorReadOnly
 Read-only component block iterator: unlike ComponentBlockIterator<T>, the visited blocks are not copy-on-write copied, at the expense of only allowing read-only access to the components. More...
 
struct  ComponentCallbacks
 Component callbacks. More...
 
struct  ComponentFilter
 Filter entities by component types. More...
 
struct  ComponentFilterRef
 Filter entities by component types and specifies how those components are accessed. More...
 
struct  ComponentFilterStruct
 Component filter. More...
 
struct  ComponentFilterStructMeta
 Component filter that is initialized from a filter class having component fields. More...
 
struct  ComponentPrototypeRef
 Represents a generalized reference to a component prototype. The prototype can either come from an entity prototype asset or from a map asset. Type is stored as a ComponentTypeRef. More...
 
class  ComponentRegistry
 Collects component registrations before ids exist, then Commit assigns dense ids deterministically: explicit ids claim their slots, the rest fill the remaining slots sorted by type name. Ids depend only on the set of collected components, never on the order they were added in, so registrations may be spread across partial declarations whose initializer order is unspecified. More...
 
class  ComponentTypeId
 Runtime information for component types, containing their ID, size, flags and callbacks. More...
 
class  ComponentTypeSetSelector
 Represents a set of component types. Use ComponentTypeRef array insteadd. More...
 
class  CompressionDotNet
 The default compression implementation. Problematic for Web, because it relies on native code internally, and it gets removed when LTO is enabled. More...
 
class  ConsoleLogger
 Not used anymore. More...
 
class  ConsoleLogStream
 A log stream that writes log messages to the console with a specified color. More...
 
class  ContextMenuAttribute
 A replacement for UnityEngine.ContextMenuAttribute. More...
 
class  CreateAssetMenuAttribute
 A replacement for UnityEngine.CreateAssetMenuAttribute. More...
 
class  DebugDraw
 This class will draw shapes issued by the simulation (e.g. Draw.Sphere(Photon.Deterministic.FPVector3, Photon.Deterministic.FP, ColorRGBA?, bool)) The shape drawing is based on the DEBUG define which is enabled in UnityEditor and development builds. Can be globally toggled of by using IsEnabled. More...
 
class  DebugLogStream
 Represents a debug log stream that supports logging to different streams. More...
 
class  DebugMesh
 Access to Quantum debug mesh resources. Obsolete: has been replaced by QuantumMeshCollection.Global. More...
 
class  DecoratingPropertyAttribute
 A base class for property attributes that decorate other property attributes. More...
 
class  DefaultExecutionOrder
 Attribute to create set the default execution order for the script More...
 
class  DefaultHostProfilerAttribute
 
class  DeterministicCommandSetup
 A partial static class to extend by implementing the partial method AddCommandFactoriesUser. It's used to create the Quantum command factories when initializing the simulation, either DeterministicCommand or DeterministicCommandPool<T> object. Only commands added here can be invoked by the simulation. More...
 
class  DeterministicSystemSetup
 Responsible for instantiating Quantum systems on simulation start. User systems can be added by adding a SystemsConfig to the RuntimeConfig. Or adding them in the user callback AddSystemsUser. More...
 
class  DictionaryEntryPrototype
 Obsolete class. More...
 
class  DictionaryFieldAttribute
 Carries an attribute intended for a named field of a dictionary entry (its Key or Value). This is a plain attribute, not a Unity property attribute, so it registers no drawer and can safely sit on the dictionary field without hijacking the entry drawer; the entry drawer materializes the wrapped attribute via CreateAttribute and applies it to the targeted Key/Value. More...
 
class  DirectoryPathAttribute
 Specifies that the string field represents a path to directory. More...
 
class  DispatcherBase
 Base class for dispatchers. Dispatchers are used to publish and subscribe to events represented by IDispatchable objects. More...
 
class  DispatcherHandlerFlags
 Built-in flags for DispatcherBase.Subscribe<TDispatchable>(object, DispatchableHandler<TDispatchable>, bool, uint, DispatchableFilter) More...
 
class  DisplayAsEnumAttribute
 Casts an enum or int value in the inspector to specific enum type for rendering of its popup list. Supplying a method name rather than a type allows a property with the type Type to be used to dynamically get the enum type. More...
 
class  DisplayNameAttribute
 Specifies the display name for a field. More...
 
class  DoIfAttributeBase
 Editor attribute for selective editor rendering. Condition member can be a property, field or method (with a return value). More...
 
class  DotNetRunnerFactory
 Platform dependent information and factory methods for the SessionRunner. This implementation of the IRunnerFactory is not unused in Unity but in standalone Quantum applications and on the Quantum server plugin. More...
 
class  DotNetTaskRunner
 The implementation of IDeterministicPlatformTaskRunner for .Net frameworks. Not used when running the simulation in Unity. More...
 
class  Draw
 Issues a debug shape to be drawn in Unity. The shape drawing is based on the DEBUG define which is enabled in UnityEditor and development builds. Can be globally toggled of by using DebugDraw.IsEnabled in Unity. Different implementation can be attached using Init(Action<Draw.DebugRay>, Action<Draw.DebugLine>, Action<Draw.DebugCircle>, Action<Draw.DebugSphere>, Action<Draw.DebugRectangle>, Action<Draw.DebugBox>, Action<Draw.DebugCapsule>, Action<Draw.DebugText>, Action). More...
 
class  DrawerPropertyAttribute
 A base class for property attributes that are used to draw properties in the inspector. More...
 
class  DrawIfAttribute
 Editor attribute for selectively drawing/hiding fields. Condition member can be a property, field or method (with a return value). More...
 
class  DrawInlineAttribute
 Specifies that a field should be drawn inline in the inspector. More...
 
class  DynamicAssetDB
 A DynamicAssetDB is a database of assets that can be added and removed at runtime. For late joiners, contents are serialized and deserialized using an IAssetSerializer. More...
 
class  DynamicMap
 Used to dynamically edit and manage mesh colliders and their triangles at runtime. This is particularly useful in games with procedurally generated content or user-generated levels, where the environment can change dynamically. More...
 
struct  EditMeshScope
 Scope for editing triangles of a mesh collider. More...
 
class  EditorButtonAttribute
 Specifies that a method should be displayed as a button in the Unity editor. More...
 
class  EditorDefines
 Quantum editor defines. More...
 
class  EditorRectUtils
 Unity custom editor GUI utility functions. More...
 
class  EntityComponentConfigAttribute
 Obsolete attribute, use [CodeGen] instead. More...
 
struct  EntityComponentPair
 An entity-component pair. Used when iterating over components. Since this type contains a copy of the component, it is not suitable for writing back to the component. More...
 
struct  EntityComponentPointerPair
 An entity-component pointer pair. Used when iterating over components. More...
 
struct  EntityComponentReadOnlyPair
 An entity-component read-only reference pair. Used when iterating over components with read-only access. More...
 
class  EntityPrototype
 An asset that represents a prototype for an entity. Prototypes are a convenient way to define a set of components that can be instantiated at runtime using FrameBase.Create(Quantum.AssetRef<Quantum.EntityPrototype>) or FrameBase.Create(Quantum.EntityPrototype) methods. More...
 
struct  EntityPrototypeRef
 Represents a generalized reference to an entity prototype - either EntityPrototype asset or an entity from Map. More...
 
struct  EntityRef
 Quantum entity reference identifies a unique Entity. More...
 
class  EnumEqualityComparer
 Enum utility methods. More...
 
class  ErrorIfAttribute
 Editor attribute for adding notices to fields if the condition member evaluates as true. Condition member can be a property, field or method (with a return value). More...
 
class  EventBase
 The base class for Quantum events. Events are a fire-and-forget mechanism to transfer information from the simulation to the view. More...
 
class  EventDispatcher
 Publish, subscribe pattern for Quantum events: EventBase. Quantum events are used to communicate view relevant game updates from the simulation to the view. More...
 
class  EventGameResult
 Does not have to implement checksum, because it's a hard-coded synced event. More...
 
class  EventList
 Internally used class. More...
 
class  EventRegistry
 Collects event registrations and produces the id lookup tables. Ids are assigned on Commit: explicit ids are kept, the rest fill the remaining slots in alphabetical order of the type's full name. Registration order does not matter. More...
 
class  ExceptionUtils
 Utility methods to work with exceptions. More...
 
struct  ExitInfo2D
 Info about two entities that were colliding in the 2D Physics. More...
 
struct  ExitInfo3D
 Info about two entities that were colliding in the 3D Physics. More...
 
class  ExpandableEnumAttribute
 Editor attribute that shows an enum as an expandable list of options in the inspector. More...
 
class  FieldEditorButtonAttribute
 Editor attribute to add a button that invokes a custom method in the inspector. More...
 
class  FixedArray
 Provides utility methods for working with Quantum fixed-size arrays. More...
 
struct  FloatMinMax
 A struct that holds min and max float values and comes with a few inspector tools More...
 
class  FormerlySerializedAsAttribute
 A replacement for UnityEngine.Serialization.FormerlySerializedAsAttribute. More...
 
struct  FPAnimationCurve
 A deterministic discretized animation curve. Values between keyframes are interpolated linearly. More...
 
class  FPMathUtils
 Unity specific FixedPoint math utilities. All conversions between Unity float into Quantum FP (e.g. Vector2 to FPVector2) are considered non-deterministic and should never be used in the Quantum simulation directly. More...
 
class  Frame
 The user implementation of FrameBase that resides in the project quantum_state and has access to all user relevant classes. More...
 
class  FrameChecksumerBitStream
 Represents a bit stream used for frame checksum calculation. Implements the IBitStream interface. More...
 
class  FrameContextUser
 Use this class to extend the Core.FrameContext class. More...
 
class  FrameThreadSafeExtensions
 Extension methods for the FrameThreadSafe class. More...
 
struct  FrameTimer
 Built-in timer struct for game logic that counts frames, it is not affected by FrameBase.GameTimeScale (see GameTimer). Seconds are converted with the simulation rate (FrameBase.UpdateRate). More...
 
class  GameObjectUtils
 Unity game object utility methods for Quantum. More...
 
class  GameResult
 The game result class can be extended by a partial class. It is used with the EventGameResult to report the game result to the server. See the online documentation for more information. More...
 
struct  GameTimer
 Built-in timer struct for game logic that counts FrameBase.GameTick instead of the frame number. Pausing or slowing down the game time (see FrameBase.GameTimeScale) pauses or slows down this timer. More...
 
class  GizmoDisableScopeAttribute
 Attribute requires a Header attribute. More...
 
class  GizmoIconColorAttribute
 Defines the color of a gizmo header in the overlay. More...
 
class  GizmoUtils
 Utility class for drawing gizmos. More...
 
struct  GlobalsCore
 Internally used class. More...
 
class  HashCodeUtils
 Hashcode generation utilities. More...
 
class  HeaderAttribute
 A replacement for UnityEngine.HeaderAttribute. More...
 
class  HideArrayElementLabelAttribute
 Attribute used to hide the label of an array element in the inspector. More...
 
class  HideInInspectorAttribute
 A replacement for UnityEngine.HideInInspector. More...
 
class  HostProfiler
 Provides profiling functionality for the host. More...
 
struct  HostProfilerCategory
 
struct  HostProfilerCounter
 
class  HostProfilerCounterExtensions
 
struct  HostProfilerMarker
 
struct  HostProfilerNamedMarkerScope
 Provides a scope for a host profiler marker. Do not use this struct directly, use HostProfilerMarker.Start instead. More...
 
interface  IAssetSerializer
 Represents a serializer that handles assets and various configuration objects. More...
 
class  IAssetSerializerExtensions
 An extension class for IAssetSerializer. More...
 
interface  ICallbackDispatcher
 A callback dispatcher interface. Implementations of this interface are responsible for dispatching callbacks to the runtime. More...
 
interface  ICallbackUnityScene
 An interface for callbacks that are related to Unity scenes. More...
 
interface  IComponent
 The interface to identify Quantum components. More...
 
interface  IComponentSingleton
 The interface to identify Quantum singleton components. More...
 
interface  IDispatchable
 The interface for the dispatchable callbacks or events. More...
 
interface  IEntityPrototypeMaterializedListener
 If implemented by ComponentPrototype, OnEntityPrototypeMaterialized will be invoked after the entire prototype has been materialized, but before Quantum.ISignalOnEntityPrototypeMaterialized. This is useful when a component needs some extra initialization after all the components have been materialized. More...
 
interface  IEventDispatcher
 An event dispatcher interface. Implementations of this interface are responsible for dispatching events to the runtime. More...
 
interface  IKCCCallbacks2D
 The interface receives the interaction callbacks from the character controller system. More...
 
interface  IKCCCallbacks3D
 The interface receives the interaction callbacks from the character controller system. More...
 
interface  ILogger
 Represents a logger. More...
 
interface  ILogSource
 An interface for log sources. Implement this interface to be able to pass a custom context to Log methods. More...
 
class  InactiveTaskRunner
 An implementation of IDeterministicPlatformTaskRunner that forces the Quantum task system to run synchronously (single-threaded). More...
 
interface  INavigationCallbacks
 Basic callbacks from the navigation system to Quantum systems. More...
 
class  InlineHelpAttribute
 If applied to a field, checks if there is a help text for the field or the field's type and shows it in the inspector. More...
 
struct  InputDirection
 Compressed direction (always normalized) to be used as part of input to optimize bandwidth, encoded as an angle using a single byte (2 degrees of accuracy). More...
 
struct  InputDirectionMagnitude
 Compressed direction with magnitude (range 0 to 1) to be used as part of input to optimize bandwidth, encoded as an angle and magnitude using two bytes. More...
 
struct  InputPitchYaw
 Compressed pitch + yaw angles (ranges -89 to 89 and -+ 180)) to be used as part of input to optimize bandwidth, encoded as two shorts. More...
 
class  InputProvider
 The input provider is used to push recorded inputs into the simulation. This class uses the full input history instead of delta compressed input stream which uses a large memory footprint. More...
 
class  InputProviderExtensions
 Input provider extension methods. More...
 
class  InspectorNameAttribute
 A replacement for UnityEngine.InspectorNameAttribute. More...
 
struct  InstantReplaySettings
 Settings required to record frame snapshots for instant replays. More...
 
class  InternalLogStreams
 Provides static log streams for different log levels. More...
 
interface  IProgressBar
 A progress bar that reports back during navmesh baking. More...
 
interface  IPrototype
 A prototype interface. Indicates that the implementing type is a prototype of some kind. More...
 
interface  IQString
 QString interface for UTF-16 strings. More...
 
interface  IQStringUtf8
 QString interface for UTF-8 strings. More...
 
interface  IQuantumEntityViewCulling
 Interface to control entity view instantiation and to add custom culling. More...
 
interface  IQuantumEntityViewPool
 Interface to create custom implementation of the entity view pool that can be assigned to the QuantumEntityViewUpdater.Pool. More...
 
interface  IQuantumNavMeshSource
 Implement this in a MonoBehaviour to turn a script into a navmesh bake data source. More...
 
interface  IQuantumSnapshotInterpolationTimer
 Interface to access the interpolation timer state. More...
 
interface  IQuantumUnityDispatcher
 An interface marking a dispatcher as being a Quantum Unity dispatcher. More...
 
class  IQuantumUnityDispatcherExtensions
 Set of extension methods for IQuantumUnityDispatcher. More...
 
interface  IQuantumViewComponent
 The interface that the QuantumEntityViewUpdater uses to control the view components (QuantumViewComponent<T>). More...
 
interface  IQuantumViewContext
 Use this interface to create view context classes that can be used inside concrete QuantumEntityViewComponent<T>. More...
 
interface  IResourceManager
 Represents an asset manager that can load, unload, and dispose AssetObject. More...
 
class  IResourceManagerExtensions
 Extension methods for IResourceManager. More...
 
interface  IRunnerFactory
 The interface for the runner factory. It creates platform specific objects to run the Quantum simulation. More...
 
interface  ISerializationCallbackReceiver
 A replacement for UnityEngine.ISerializationCallbackReceiver. More...
 
interface  ISignal
 Represents a signal. Not meant to be implemented directly. More...
 
interface  ISignalOnCollision2D
 Interface for receiving callbacks once per frame while two non-trigger 2D colliders are touching. More...
 
interface  ISignalOnCollision3D
 Interface for receiving callbacks once per frame while two non-trigger 3D colliders are touching. More...
 
interface  ISignalOnCollisionEnter2D
 Interface for receiving callbacks once two non-trigger 2D colliders start touching. More...
 
interface  ISignalOnCollisionEnter3D
 Interface for receiving callbacks once two non-trigger 3D colliders start touching. More...
 
interface  ISignalOnCollisionExit2D
 Interface for receiving callbacks once two non-trigger 2D colliders stop touching. More...
 
interface  ISignalOnCollisionExit3D
 Interface for receiving callbacks once two non-trigger 3D colliders stop touching. More...
 
interface  ISignalOnComponentAdded
 
interface  ISignalOnComponentRemoved
 
interface  ISignalOnEntityPrototypeMaterialized
 
interface  ISignalOnMapChanged
 
interface  ISignalOnNavMeshMoveAgent
 
interface  ISignalOnNavMeshSearchFailed
 
interface  ISignalOnNavMeshWaypointReached
 
interface  ISignalOnPlayerAdded
 
interface  ISignalOnPlayerConnected
 
interface  ISignalOnPlayerDataSet
 Obsolete: use ISignalOnPlayerAdded. More...
 
interface  ISignalOnPlayerDisconnected
 
interface  ISignalOnPlayerRemoved
 /> More...
 
interface  ISignalOnTrigger2D
 Interface for receiving callbacks once per frame while a non-trigger and a trigger 2D colliders are touching. More...
 
interface  ISignalOnTrigger3D
 Interface for receiving callbacks once per frame while a non-trigger and a trigger 3D colliders are touching. More...
 
interface  ISignalOnTriggerEnter2D
 Interface for receiving callbacks once a non-trigger and a trigger 2D colliders start touching. More...
 
interface  ISignalOnTriggerEnter3D
 Interface for receiving callbacks once a non-trigger and a trigger 3D colliders start touching. More...
 
interface  ISignalOnTriggerExit2D
 Interface for receiving callbacks once a non-trigger and a trigger 2D colliders stop touching. More...
 
interface  ISignalOnTriggerExit3D
 Interface for receiving callbacks once a non-trigger and a trigger 3D colliders stop touching. More...
 
class  JointGizmoEntry
 Individual entry for specifically the joint section of the gizmo overlay. More...
 
class  JsonUtilityExtensions
 Extends capabilities of JsonUtility by adding type annotations to the serialized JSON, Unity object reference handling and integer enquotement. More...
 
class  LastSupportedVersionAttribute
 Marks the last version that supports the attributed type/method/property/field. More...
 
class  LayerAttribute
 Specifies that an int field should be drawn as a layer field in the inspector. More...
 
class  LayerInfo
 Physics layer information. More...
 
struct  LayerMask
 The Quantum physics layer mask used with LayerValue. More...
 
class  LayerMatrixAttribute
 Specifies that the integer array field should be drawn as a layer matrix in the inspector. More...
 
struct  LayerValue
 The Quantum physics layer value used with LayerMask. More...
 
class  LocalReferenceAttribute
 Marks a field as a reference to a local object. In Unity, a local object is an object from the same scene or prefab. Automatically applied by CodeGen. More...
 
class  Log
 Quantum's logging system. More...
 
struct  LogContext
 Additional info about the log context. More...
 
class  LogLevelExtensions
 Extensions for LogLevel More...
 
struct  LogSettings
 Settings for the logging system. More...
 
class  LogStream
 Interface for logging streams. More...
 
class  MailboxSet8
 A utility class to optimize periodic checks by saving a iteration value for each index of the initial capacity. More...
 
class  Map
 The Quantum map is a Quantum asset that contains information about the level and is used by the deterministic simulation to drive gameplay. Only one map can be loaded at a time. More...
 
class  MapDataBakerCallback
 Derive from the class to receive callbacks during Quantum map baking. Add the QuantumMapBakeAssemblyAttribute assembly attribute when the implementation is located in different assemblies. More...
 
class  MapDataBakerCallbackAttribute
 Add this attribute to implementations of MapDataBakerCallback to control the order in which the callbacks are finally executed. Works across different assemblies. More...
 
struct  MapEntityId
 Represents a Quantum entity that is part of a map. More...
 
struct  MapEntityLink
 Map entity link can be used inside a component to reference an entity from the map. More...
 
struct  MapStaticCollider2D
 The data structure to hold 2D static colliders for a Quantum map. Static colliders are baked into the map and are used for efficient collision detection. More...
 
class  MapStaticCollider2DPolygonData
 Stores 2D polygon collider data used on static collider MapStaticCollider2D. More...
 
struct  MapStaticCollider3D
 The data structure to hold 3D static colliders for a Quantum map. Static colliders are baked into the map and are used for efficient collision detection. More...
 
class  MaxStringByteCountAttribute
 Specifies that the string field should be drawn as a text field with a maximum byte count for given encoding. More...
 
class  MemoryLayoutVerifier
 Verifies the memory layout of types and detects any potential issues. More...
 
struct  MeshUnmanagedTrianglesRef
 A lightweight reference to a mesh in unmanaged memory. More...
 
class  MinAttribute
 A replacement for UnityEngine.MinAttribute. More...
 
class  MinMaxSliderAttribute
 An attribute to display a slider in the Unity inspector between a min and max value. More...
 
class  MovedFromAttribute
 A replacement for UnityEngine.Scripting.APIUpdating.MovedFromAttribute. More...
 
class  MultiTypeReferenceAttribute
 Adds one object picker per type to the inspector. More...
 
class  Navigation
 Navigation API More...
 
class  NavMesh
 The asset object that contains a Quantum navigation mesh. The object loads an additional data file during the Loaded. This is because of size limitations when loading the data with Unity serialization. More...
 
class  NavMeshAgentConfig
 The configuration file for navmesh agent components. More...
 
struct  NavMeshAgentSteeringData
 Navmesh agent steering data passed into callbacks. More...
 
struct  NavMeshAvoidanceAgent
 A component that will make the agent avoid other agents while calculating the navigation steering. Requires NavMeshSteeringAgent and NavMeshPathfinder. More...
 
struct  NavMeshAvoidanceObstacle
 A component that represents a circle-shaped obstacle for navmesh agents to avoid. This is not altering the navmesh itself, but it is dynamic obstacle to be avoided by other agents steering. More...
 
class  NavMeshBakeData
 he MapNavMesh.BakeData is a complete mesh that is then further processed and converted to a Quantum navmesh. The mesh is build in the way of a triangle strip. More...
 
struct  NavMeshBakeDataLink
 Creates a extra link between two triangles on the navmesh. More...
 
struct  NavMeshBakeDataTriangle
 Triangles are expected to have clock-wise winding order. Not all fields have to be filled out. Some of them are only needed for the legacy navmesh drawing tool. More...
 
struct  NavMeshBakeDataVertex
 Stores a 3D position. More...
 
class  NavMeshBaker
 The NavMeshBaker turns the intermediate navmesh format NavMeshBakeData into a Quantum NavMesh. More...
 
class  NavMeshBakerBenchmarkerProgressBar
 An implementation of the IProgressBar used for the navmesh baking. The internal baking process will set additional information on this class. The progress bar is only showed when the LogLevel is set to Debug. More...
 
struct  NavMeshBorder
 The navmesh border data structure. More...
 
class  NavMeshBorderGizmoEntry
 Individual entry for specifically the border of the navmesh section of the gizmo overlay. More...
 
struct  NavMeshBorderNode
 The navmesh border node data structure that stores all borders inside a 2D grid for global raycasts for example. More...
 
class  NavMeshComponentGizmoEntry
 Individual entry for specifically the NavMesh component section of the gizmo overlay. More...
 
class  NavMeshGizmoEntry
 Individual entry for specifically the navmesh section of the gizmo overlay. More...
 
struct  NavMeshLink
 The navmesh link data structure. More...
 
class  NavMeshLinkGizmoEntry
 Individual entry for specifically the border of the navmesh section of the gizmo overlay. More...
 
struct  NavMeshPathfinder
 The NavMeshAgent is an entity component for automated navmesh navigation and steering. Use NavMeshPathfinder.Create(FrameBase, EntityRef, NavMeshAgentConfig) to create pathfinder components. Also see Quantum.NavMesh and NavMeshAgentConfig More...
 
struct  NavMeshPortal
 The Quantum navmesh stores connections between neighboring triangles as portals. More...
 
struct  NavMeshRegionMask
 Internally stores a unsigned long to be able to toggle 512 different regions. More...
 
struct  NavMeshSteeringAgent
 A component to enable the steering toward a target position calculated by the navigation system. Requires NavMeshPathfinder component. More...
 
struct  NavMeshTriangle
 The navmesh triangle data structure. More...
 
struct  NavMeshTriangleCenterGridNode
 This grid stores one fallback triangle per cell. More...
 
struct  NavMeshTriangleNode
 A grid or all triangles used for quick lookups. More...
 
struct  NavMeshVertex
 The navmesh vertex data structure is saves as an array in the NavMesh.Vertices. More...
 
class  NonReorderableAttribute
 A replacement for UnityEngine.NonReorderableAttribute. More...
 
class  OptionalAttribute
 Marks a field as optional. In Unity, the path passed will serve as the toggle to enable/disable. More...
 
struct  OptionalGizmoBool
 Allows optional gizmo values to be serialized in the inspector. More...
 
class  PathUtils
 Utility methods to work with folder and file paths. More...
 
class  PhotonServerSettings
 This class wraps the AppSettings into a scriptable object and adds a few Quantum connection related configurations. Connect to specific region cloud: UseNameSever = true, FixedRegion = "us", Server = "" Connect to best region: UseNameSever = true, FixedRegion = "", Server = "" Connect to (local) master server: UseNameSever = false, FixedRegion = "", Server = "10.0.0.0.", Port = 5055 Connect to (local) name server: UseNameSever = true, FixedRegion = "", Server = "10.0.0.0.", Port = 5058 More...
 
struct  PhysicsBody2D
 Adds physics motion to an entity with a PhysicsCollider2D driven by the built-in physics systems. You can customize how the movement of the physics body will works by changing the Mass, GravityScale or Drag. A Kinematic body will not have linear and angular velocities integrated, but those values are still perceived and taken into account when resolving the collision with other dynamic bodies. More...
 
struct  PhysicsBody3D
 Adds physics motion to an entity with a PhysicsCollider3D driven by the built-in physics systems. You can customize how the movement of the physics body will works by changing the Mass, GravityScale or Drag. A Kinematic body will not have linear and angular velocities integrated, but those values are still perceived and taken into account when resolving the collision with other dynamic bodies. More...
 
struct  PhysicsCallbacks2D
 A component that tracks the collisions (trigger and non-trigger) this entity is involved in. The tracked metadata is used to raise physics callbacks according to the callback Flags set. More...
 
struct  PhysicsCallbacks3D
 
struct  PhysicsCollider2D
 A component with a shape used to represent 2D physics objects in the physics simulation. You can use flags and layers to setup how the object interacts with other colliders. More...
 
struct  PhysicsCollider3D
 A component with a shape used to represent 3D physics objects in the physics simulation. You can use flags and layers to setup how the object interacts with other colliders. More...
 
class  PhysicsComponentGizmoEntry
 Individual entry for specifically the physics section of the gizmo overlay. More...
 
struct  PhysicsJoints2D
 A component holding one or more Physics2D.Joint, defining connections between a 2D Physics Body and anchors according to velocity and/or position constraints. More...
 
struct  PhysicsJoints3D
 A component holding one or more Joint3D, defining connections between a 3D Physics Body and anchors according to velocity and/or position constraints. More...
 
class  PhysicsMaterial
 The Quantum's asset with the definitions for a PhysicsMaterialData. More...
 
struct  PhysicsMaterialData
 Defines the settings for a physics body to resolve its collision when it is touching another body. More...
 
struct  PlayerRef
 Represents a Quantum player. More...
 
class  PolygonCollider
 The asset that contains data of a convex polygon. More...
 
struct  PolygonColliderRuntimeData
 The buffers with runtime data for the vertices and normals. They are loaded when the asset is added or replaced. More...
 
class  PreserveAttribute
 A replacement for UnityEngine.Scripting.PreserveAttribute. More...
 
class  ProgressBar
 A progress bar implementation used by the navmesh importing. The progress bar is only showed when the LogLevel is set to Debug. More...
 
class  PropertyAttribute
 A replacement for UnityEngine.PropertyAttribute. More...
 
struct  Ptr
 The Ptr is a pointer wrapper to a memory location inside the frame heap. More...
 
struct  QBoolean
 Quantum boolean type that is stored on components. More...
 
struct  QEnum16
 A variable sized enum field backed by a short value. The type helps with consistency and backwards compatibility when Enum types change during development. More...
 
struct  QEnum32
 A variable sized enum field backed by a int value. The type helps with consistency and backwards compatibility when Enum types change during development. More...
 
struct  QEnum64
 A variable sized enum field backed by a long value. The type helps with consistency and backwards compatibility when Enum types change during development. More...
 
struct  QEnum8
 A variable sized enum field backed by a sbyte value. The type helps with consistency and backwards compatibility when Enum types change during development. More...
 
struct  QNavMeshStaticColliderData
 Saves an area and flags that can be used to generate a navmesh from the Quantum map static colliders. Only used by the Navigation addon. More...
 
class  QString
 Base class for DSL-generated variable QString(N) fields. QString supports UTF-16 (Unicode in .NET). N represents the total size of the string in bytes minus 2 bytes used for bookkeeping. In other words QString(64) will use 64 bytes for a string with a max byte length of 62 bytes, i.e. up to 31 UTF-16 characters. More...
 
class  QStringUtf8
 Base class for DSL-generated variable QString(N) fields. QStringUtf8 supports UTF-8. N represents the total size of the string in bytes minus 2 bytes used for bookkeeping. In other words QString(64) will use 64 bytes for a string with a max byte length of 62 bytes, i.e. up to 32 UTF-8 characters. More...
 
class  QuantumAddRuntimePlayers
 Similar to the CustomCallback script and the QuantumRunnerLocalDebug this script will add all players inside the RuntimePlayer list as local players to Quantum during the game start. The script must Awake before starting the game and it works for local debug and online matches via a menu. Remove this script from your scene when the players are only added inside the menu classes (use the Player list in QuantumRunnerLocalDebug to start game scenes directly). More...
 
class  QuantumAssetSourceResource
 Resources-based implementation of the asset source pattern. More...
 
class  QuantumAssetSourceStatic
 Hard reference-based implementation of the asset source pattern. This asset source forms a hard reference to the asset and never releases it. This type is meant to be used at runtime. For edit-time, prefer QuantumAssetSourceStaticLazy<T>, as it delays actually loading the asset, improving the editor performance. More...
 
class  QuantumAssetSourceStaticLazy
 An edit-time optimised version of QuantumAssetSourceStatic<T>, taking advantage of Unity's lazy loading of assets. At runtime, this type behaves exactly like QuantumAssetSourceStatic<T>, except for the inability to use runtime-created objects. More...
 
class  QuantumAutoStaticsCleanupAttribute
 Fallback for Unity's [AutoStaticsCleanup] on Unity versions older than 6.5. On a field or event, resets it; on a class or struct, resets all its static fields and events. The declaring type needs to be partial; the cleanup code is generated by AutoCleanupCodeGen. More...
 
class  QuantumCallback
 Quantum callbacks are special types of events that are triggered internally by the Quantum simulation. For example CallbackUpdateView for Unity updates, CallbackPollInput that polls for player input. Use this class to subscribe and unsubscribe from Quantum callbacks. More...
 
class  QuantumCallbackHandler_DebugDraw
 A handler object that registers to Quantum callbacks and draws debug shapes issued from the simulation. More...
 
class  QuantumCallbackHandler_FrameDiffer
 A handler object to subscribe to Quantum callbacks to open the frame dump differ in builds after receiving a checksum error frame dumps. More...
 
class  QuantumCallbackHandler_GameResult
 A handler object that subscribes to Quantum callbacks to send game results to the server. More...
 
class  QuantumCallbackHandler_LegacyQuantumCallback
 A handler object that subscribes to Quantum callbacks to call legacy QuantumCallbacks in on Unity game objects. More...
 
class  QuantumCallbackHandler_StartRecording
 A handler object that subscribes to Quantum callbacks to start recording input and checksums. More...
 
class  QuantumCallbackHandler_UnityCallbacks
 A handler object that subscribes to Quantum callbacks to handle Unity scene loading and unloading. More...
 
class  QuantumCallbacks
 A legacy way to hook into Quantum game callbacks. Use the publish subscribe pattern used by QuantumCallbacks instead. To use this callback class, derive from it and implement the methods you are interested in. The callback MonoBehaviour has to be added to the scene to work. More...
 
class  QuantumColor
 Quantum default colors. More...
 
class  QuantumConsoleRunner
 Simple command-line runner for Quantum simulations. More...
 
class  QuantumDebugInput
 A Unity script that creates empty input for any Quantum game. More...
 
class  QuantumDefaultConfigs
 This class represents a collection of Quantum config assets that are used when no explicit simulation config was assigned to a simulation (through RuntimeConfig). It's also implementing QuantumGlobalScriptableObject to have one instance globally accessible. More...
 
class  QuantumDefaultConfigsAssetPostprocessor
 A Unity asset post processor that makes use to generate default Quantum configs in the user folder. More...
 
class  QuantumDeterministicSessionConfigAsset
 The asset wraps an instance of DeterministicSessionConfig and makes it globally (in Unity) accessible as a default config. More...
 
class  QuantumEntityPrototype
 Entity Prototypes are similar to blueprints or prefabs, they carry information to create a Quantum Entity with its components and initialized them with pre-configured data. More...
 
class  QuantumEntityPrototypeBakeContext
 
class  QuantumEntityPrototypeSource
 Implement this in a MonoBehaviour to turn a script into entity prototype source. More...
 
class  QuantumEntityView
 The Quantum entity view component is the representation of the entity inside Unity. Instances will be created by the EntityViewUpdater. Quantum entity with the View component will references a Quantum EntityView asset which will in turn be instantiated as EntityView.Prefab and the resulting game object includes this script. More...
 
class  QuantumEntityViewComponent
 The base class to inherit entity view components from. Entity view components can be used to add features to entity views and gain simple access to all relevant Quantum game API and the Quantum entity. More...
 
class  QuantumEntityViewPool
 An implementation of a EntityView pool to be used with the QuantumEntityViewUpdater.Pool. Add this behaviour to the same game object that the QuantumEntityViewUpdater behaviour is on. More...
 
struct  QuantumEntityViewTransformData
 Per-tick history entry of a QuantumEntityView, see QuantumEntityViewTransformHistory. A union: the 2d components overlay the 3d component, Type selects which one is stored, so a 2d entry does not pay for the 3d component and both transform types share one buffer. More...
 
class  QuantumEntityViewTransformHistory
 Per-tick transform history of the QuantumEntityViews, driven by the QuantumEntityViewUpdater. It replaces the three frame copies the session used to keep for the view, recording only the transforms of the registered views at the moments the simulator reports the corresponding frame:

Predicted and verified ticks cannot share a ring, the same tick exists in both versions and predicted ticks run ahead by up to the rollback window. More...

 
class  QuantumEntityViewUpdater
 The Entity View Updater is essential. An instance needs to be present to create Entity Views as the simulation view representations based on the Quantum.EntityView components. More...
 
class  QuantumEvent
 Events are a fire-and-forget mechanism to transfer information from the simulation to the view. Use this class to subscribe and unsubscribe from Quantum events. More...
 
class  QuantumFrameDiffer
 The frame differ shows the frame dumps of all clients in a game and allows to compare them after a checksum error. This class renders the GUI on the screen and is usable in builds. More...
 
class  QuantumFrameDifferGUI
 The actual GUI to render the frame dumps differences of multiple dumps send by different clients. Uses Unity Immediate Mode GUI. More...
 
class  QuantumGame
 QuantumGame acts as an interface to the simulation from the client code's perspective. More...
 
class  QuantumGameFlags
 This class contains values for flags that will be accessible with QuantumGame.GameFlags. Built-in flags control some aspects of QuantumGame inner workings, without affecting the simulation outcome. More...
 
class  QuantumGameGizmosSettings
 The gizmo settings for the Quantum game. More...
 
class  QuantumGameGizmosSettingsScriptableObject
 A scriptable object to store the Quantum game gizmos settings QuantumGameGizmosSettings. Global configs are marked with "QuantumDefaultGlobal" asset label and there should be only one instance of this asset tagged as such. More...
 
struct  QuantumGameStartParameters
 Parameters required to start a Quantum game. More...
 
class  QuantumGizmoColors
 The default Quantum Gizmo colors. More...
 
class  QuantumGizmoEntry
 Individual entry for a specific section of Quantum. More...
 
struct  QuantumGizmoStyle
 The style of the gizmo. More...
 
class  QuantumGlobalScriptableObject
 A base class for ScriptableObjects that are meant to be globally accessible, at edit-time and runtime. The way such objects are loaded is driven by usages of QuantumGlobalScriptableObjectSourceAttribute attributes. More...
 
class  QuantumGlobalScriptableObjectAddressAttribute
 If applied at the assembly level, allows QuantumGlobalScriptableObject<T> to be loaded with Addressables. More...
 
class  QuantumGlobalScriptableObjectAttribute
 Provides additional information for a global scriptable object. More...
 
struct  QuantumGlobalScriptableObjectLoadResult
 The result of QuantumGlobalScriptableObjectSourceAttribute.Load. Contains the loaded object and an optional unloader delegate. More...
 
class  QuantumGlobalScriptableObjectResourceAttribute
 If applied at the assembly level, allows QuantumGlobalScriptableObject<T> to be loaded with Resources. There is a default registration for this attribute, which attempts to load the asset from Resources using path from QuantumGlobalScriptableObjectAttribute. More...
 
class  QuantumGlobalScriptableObjectSourceAttribute
 Base class for all attributes that can be used to load QuantumGlobalScriptableObject. Attributes need to be registered at the assembly level. For instance, this snippet is used to register a default loader, that attempts to load from Resources based on QuantumGlobalScriptableObjectAttribute.DefaultPath: More...
 
class  QuantumInputHistoryData
 Input history wrapper to used to store on replay files. Default way to save is DeltaCompressed in Json with compression to reduce the (Json) file size the most. More...
 
class  QuantumInstantReplay
 The instant replay feature. It can be used as is or used as a base class for custom instant replay implementations. More...
 
class  QuantumInstantReplayDemo
 A script to demonstrate the instant replay feature of Quantum. Add this script to a GameObject in your scene to enable the instant replays. Press the "Start" button during runtime to start a replay. Uses the QuantumInstantReplay class. More...
 
class  QuantumJsonFriendlyDataBlob
 Wrapper around storing binary data in JSON to work around the problem that Unity JSON tools only serialize byte arrays verbosely. More...
 
class  QuantumLoadBalancingClient
 Obsolete: Not used anymore. Replace by using RealtimeClient directly. More...
 
class  QuantumLogInitializer
 Initializes the logging system for Quantum. Use InitializeUser to completely override the log level and trace channels or to provide a custom logger. Use InitializeUnityLoggerUser to override default Unity logger settings. More...
 
class  QuantumMachineId
 A scriptable object that has an id used by the sample menus as a unique AppVersion. Mostly a development feature to ensure to only match compatible clients in the Photon matchmaking. Reimporting this asset will generate new Bytes and thus a new ids. More...
 
class  QuantumMapBakeAssemblyAttribute
 This assembly attribute needs to be set inside custom assemblies that required static edit mode callbacks from the MapDataBakerCallback class. [assembly: QuantumMapBakeAssembly] More...
 
class  QuantumMapBakeMetadata
 Bake metadata stored as a hidden sub-asset of a baked Map. Holds editor-side data that supports the baked map but is never read by the simulation. More...
 
class  QuantumMapData
 Unity component that holds and bakes the map data for a Quantum map from a given scene. More...
 
class  QuantumMapLoader
 A Unity script that helps with loading Quantum maps and scenes. More...
 
class  QuantumMenuSceneInfo
 Info asset for creating configurable selectable scenes in the Photon menu. This type was moved to the SDK to simplify adding scenes automatically (e.g. when installing another unity package). More...
 
class  QuantumMeshCollection
 A collection of Unity mesh asset to draw gizmos or scene object. More...
 
class  QuantumMonoBehaviour
 Base class for all Quantum MonoBehaviours. More...
 
class  QuantumMppm
 Support for Multiplayer Play Mode (MPPM). It uses named pipes to communicate between the main Unity instance and virtual instances. More...
 
class  QuantumMppmCommand
 The base class for all Quantum MPPM commands. More...
 
class  QuantumNavMesh
 This class is a collection of utility methods to import Unity NavMesh data into Quantum NavMesh data. More...
 
class  QuantumNavMeshBakeContext
 
class  QuantumNavMeshDebugDrawer
 Obsolete script. Navmesh editor gizmos are now rendered with the map. More...
 
class  QuantumNavMeshRegion
 This script can be placed on a game object that has a mesh renderer and is used to cast Quantum navmesh toggle-able regions onto the Unity generated navmesh. More...
 
class  QuantumNetworkCommunicator
 This class implements the Quantum interface ICommunicator and uses Photon Realtime in Unity to support sending RaiseEvent(byte, byte[], int, bool, int[]) and receiving AddEventListener(Photon.Deterministic.OnEventReceived) network messages from the Photon Cloud. More...
 
class  QuantumNoAutoStaticsCleanupAttribute
 Excludes a static field or event of a type marked with QuantumAutoStaticsCleanupAttribute from being cleaned up. On a class or struct it has no effect on the code generation; it only marks the type's statics as intentionally not cleaned up. More...
 
class  QuantumPlatform
 Current platform information. More...
 
struct  QuantumPlayerLoopSystemHandle
 Represents a system that has been added to the PlayerLoopSystem. More...
 
class  QuantumPlayerLoopSystemUtils
 Utility class for manipulating Unity Player Loop System. More...
 
class  QuantumRagdollLimbView
 A custom entity view for the parts of the ragdoll. Since ragdoll limbs can have parents in Unity's hierarchy, they must be updated in the correct order. Otherwise, the updating of a parent transform position right after its child position will mess with the limb position. More...
 
class  QuantumReconnectInformation
 Implements MatchmakingReconnectInformation to save reconnect information to player prefs. This way the app can try to reconnect after app start. More...
 
class  QuantumReplayFile
 A class that holds all relevant data to run a Quantum replay and can serialized in JSON. A replay may contain an asset db for convenience, that should be omitted in production environments where files sizes are a concern. A replay may contain recorded checksums, that can be verified during runtime as a development feature. More...
 
class  QuantumRunnerBehaviour
 A unity script that updates the Quantum runner. Also manages calls to Gizmos and DebugDraw required to render Quantum debug gizmos. If you are writing a custom SRP, you must call RenderPipeline.EndCameraRendering to trigger OnPostRenderInternal(). More...
 
class  QuantumRunnerExtensions
 Extension methods to enhance creating and initializing SessionRunner.Arguments to simplify Quantum start procedures. Using any form of Init(ref SessionRunner.Arguments, RuntimeConfig) is optional and can be replaced by setting all arguments manually. More...
 
class  QuantumRunnerLocalDebug
 A Unity script that starts a local Quantum simulation from a gameplay scene. Requires a QuantumMapData in the hierarchy. Player are automatically added to the game which can be listed in LocalPlayers. The script disables itself when other scene were loaded before (which indicates a menu scene). Optionally the Quantum game can be started from a SnapshotFile. More...
 
class  QuantumRunnerLocalReplay
 An example of how to start a Quantum replay simulation from a replay file. Also works for loading a snapshot to start a local session from. More...
 
class  QuantumRunnerLocalSavegame
 The script has been retired and is not used anymore. The functionality was merged with QuantumRunnerLocalReplay. More...
 
class  QuantumRunnerRegistry
 A registry to keep track of all active Quantum runners. More...
 
class  QuantumRunnerRollbackPolicy
 A ruleset that controls how the simulator spends its per-update budget between verified ticks, prediction rollbacks and predicted ticks. Attach to a scene object; applies itself to QuantumRunner.Default. Use this script to optimize worst case rollback performance in online mode. Verify results by running the graph profiler. More...
 
class  QuantumRunnerUnityFactory
 Implements the runner factory to Unity platform. More...
 
class  QuantumSceneViewComponent
 The SceneViewComponent is able to attach itself to the QuantumEntityViewUpdater and received updates from it. More...
 
class  QuantumScriptableObject
 Base class for all Quantum scriptable objects. More...
 
class  QuantumSnapshotInterpolationTimer
 Configuration of the snapshot interpolation mode when selected in QuantumEntityView.InterpolationMode. The transforms it interpolates between are the verified ticks recorded by the QuantumEntityViewTransformHistory. More...
 
class  QuantumStaticBoxCollider2D
 The script will create a static 2D Quantum box collider during map baking. More...
 
class  QuantumStaticBoxCollider3D
 The script will create a static 3D Quantum box collider during map baking. More...
 
class  QuantumStaticCapsuleCollider2D
 The script will create a static 2D capsule collider during Quantum map baking. More...
 
class  QuantumStaticCapsuleCollider3D
 The script will create a static 3D capsule collider during Quantum map baking. More...
 
class  QuantumStaticCircleCollider2D
 The script will create a static 2D circle collider during Quantum map baking. More...
 
class  QuantumStaticCollider2DBakeContext
 
class  QuantumStaticCollider2DSource
 
class  QuantumStaticCollider3DBakeContext
 
class  QuantumStaticCollider3DSource
 
class  QuantumStaticColliderSettings
 Authoring settings shared by all static collider source components, baked into the map's static collider data. More...
 
class  QuantumStaticEdgeCollider2D
 The script will create a static 2D edge collider during Quantum map baking. More...
 
class  QuantumStaticMeshCollider3D
 The script will create a static 3D mesh collider during Quantum map baking. More...
 
class  QuantumStaticPolygonCollider2D
 The script will create a static 2D polygon collider during Quantum map baking. More...
 
class  QuantumStaticSphereCollider3D
 The script will create a static sphere collider during Quantum map baking. More...
 
class  QuantumStaticTerrainCollider3D
 The script will create a static 3D terrain collider during Quantum map baking. More...
 
class  QuantumUnityCallbackDispatcher
 Quantum.CallbackDispatcher implementation for Unity. Adds Unity specific callback types. Additional user callback types can be added via partial method. More...
 
class  QuantumUnityDB
 At runtime, servers as the default implementation of IResourceManager for Unity. During edit time, it collects and keeps track of all the AssetObject assets in the project. Collected assets are stored as IQuantumAssetObjectSource references, avoiding forming hard-references to the actual assets (if possible). More...
 
class  QuantumUnityDBScope
 A collection of IQuantumAssetObjectSource. At edit time, when placed in a folder, will break the link between assets and the DB. The DB does not reference scopes; instead, it assumes a scope is going to be loaded with QuantumUnityDB.AddScope at runtime. One of the possible use cases is compartmentalizing assets that are statically references by Addressable/Asset Bundle scenes. Without scopes, such assets would be referenced statically by the DB. If a scope is used, it can be marked to be included in the same bundle as the scene and no static references should leak out. More...
 
class  QuantumUnityEditorPaths
 Quantum Unity paths. More...
 
class  QuantumUnityEventDispatcher
 Quantum.EventDispatcher implementation for Unity. More...
 
class  QuantumUnityExtensions
 Provides backwards compatibility for Unity API. More...
 
class  QuantumUnityInputSystemWithLegacyFallback
 This script simplifies the transition between the new Unity Input System and the legacy Input Manager. More...
 
class  QuantumUnityJsonSerializer
 Asset serializer implementation based on UnityEngine.JsonUtility and a set of utility methods from JsonUtilityExtensions. Can use surrogates to replace asset types with more efficient representations (RegisterSurrogate<AssetType,SurrogateType>. Additionally, any Unity-object references are serialized as null by default (NullifyUnityObjectReferences). The output can be deserialized with Newtonsoft.Json-based deserializer from Quantum.Json assembly. If this interoperability is needed, consider enabling IntegerEnquotingMinDigits to ensure that large integers are enquoted and not treated as floating points. More...
 
class  QuantumUnityLogger
 
class  QuantumUnitySceneManagerUtils
 Extension and utility methods for SceneManager and Scene types. More...
 
class  QuantumUnityStaticDispatcherAdapter
 Adapter for static dispatchers in Unity. Provides utility static methods, internal worker that removes dead listeners and means for creating a dispatcher. More...
 
class  QuantumUnsafe
 Utility methods for memory operations. More...
 
class  QuantumUserGizmoEntry
 User defined gizmo entry. More...
 
class  QuantumViewComponent
 The base class to inherit entity view components from. Entity view components can be used to add features to entity views and gain simple access to all relevant Quantum game API and the Quantum entity. The view component is not updated (OnUpdateView, OnLateUpdateView) if the behaviour has been disabled. More...
 
class  QUnityComponentPrototypeRef
 Obsolete, still defined to prevent data loss. More...
 
class  RangeAttribute
 A replacement for UnityEngine.RangeAttribute. More...
 
class  RangeExAttribute
 Represents an attribute that specifies a range of values for a field or property. More...
 
class  ReadOnlyAttribute
 Attribute used to mark a field as read-only. More...
 
class  ReflectionUtils
 Quantum reflection utilities. More...
 
class  ReplayFile
 Obsolete class, use QuantumReplayFile instead. More...
 
class  ResourceManagerStatic
 A static resource manager that can be used to manage assets in a deterministic context. All the assets are known and instantiated ahead of time. More...
 
class  RingBufferInputProvider
 This input provider can store a certain amount of input sets in a ring buffer. More...
 
class  RNGExtensions
 Extension methods for the RNGSession struct to provide additional random number generation functionality for quaternions, colors, and vectors in various geometric distributions. More...
 
class  Rotation2DAttribute
 Marks a FP/NullableFP field as a 2D rotation angle. More...
 
class  RuntimeConfig
 In contrast to the SimulationConfig, which has only static configuration data, the RuntimeConfig holds information that can be different from game to game. More...
 
class  ScenePathAttribute
 Specifies that a string field represents a scene path. More...
 
class  ScriptHelpAttribute
 Defines the appearance of the script header in the Unity inspector. More...
 
struct  SerializableType
 A System.Type wrapper that can be serialized. More...
 
class  SerializableTypeAttribute
 Specifies that either a string field represents a type name or sets additional options for SerializableType field. More...
 
class  SerializeField
 A replacement for UnityEngine.SerializeField. More...
 
class  SerializeReference
 A replacement for UnityEngine.SerializeReference. More...
 
class  SerializeReferenceTypePickerAttribute
 Attribute used to show a type picker for a field with [SerializeReference]. More...
 
class  ServerSessionContext
 This class implements the IDeterministicSessionContext interface inside the simulation project. It's used on the custom server to access Quantum simulation code like the resource manager and command serialization. It uses the resource manager of the shared resources that is shared between multiple server simulation instances. More...
 
class  ServerSessionFactory
 Default implementation of the session factory. Required to let the server create the bindings to use for example the command serializer on the context or to run the server simulation. Creates specific implementations that the Quantum server does not have access to. More...
 
class  ServerSessionRunner
 This class implements the IDeterministicSessionRunner interface and contains code to glue together the Quantum server and Quantum session runner. This was formerly part of the Quantum Server SDK. The class will also work without running the server simulation only as wrapper for access to custom simulation code as resource manager and command serialization for example. More...
 
class  ServerSharedResources
 Default implementation of IDeterministicSharedResources. Loads the FP look up tables and the asset database (from disk, or from the embedded resource as fallback) once into a resource manager that is shared by all server rooms. More...
 
class  SessionRunner
 The SessionRunner helps to start, run and shutdown a Quantum simulation. It should never be reused for multiple simulations of multiple runs of the same game session. Always recrate the runner. It has an extensive list of starting Arguments that make it start-able for a variety of use cases: Local, Multiplayer, Replay, Server etc It extracts platform dependent code into the IRunnerFactory parameter. It offers asynchronous methods to start and stop the runner but although it uses the TPL syntax for convenience it is not considered to be run in a multi-threaded environment. Use the non-async versions of the methods or use a ConcurrentExclusiveSchedulerPair.ExclusiveScheduler for unit tests and console applications. Also never use the async methods from the Quantum server plugin, parallelization is done by the Photon-Server. This class is delivered in source code to enable developers to create custom runner code. More...
 
class  SessionRunnerException
 Runner specific exceptions. More...
 
struct  Shape2D
 Defines a 2D shape with Type and data disposed in a union-like structure. All shapes have a UserTag, BroadRadius and Centroid. All non-compound shapes have a LocalTransform and their Centroid always match their local transform position. More...
 
class  Shape2DConfig
 The base settings for building a Shape2D. More...
 
struct  Shape3D
 Defines a 3D shape with Type and data disposed in a union-like structure. All shapes have a UserTag, BroadRadius and Centroid. All non-compound shapes have a LocalTransform and their Centroid always match their local transform position. More...
 
class  Shape3DConfig
 The base settings for building a Shape3D. More...
 
struct  ShutdownArgs
 SessionRunner shutdown information. More...
 
class  SimulationConfig
 The SimulationConfig holds parameters used in the ECS layer and inside core systems like physics and navigation. More...
 
class  SpaceAfterAttribute
 Similar to UnityEngine.SpaceAttribute, but adds space after the property. More...
 
class  SpaceAttribute
 A replacement for UnityEngine.SpaceAttribute. More...
 
struct  StaticColliderData
 Information about a static collider. More...
 
class  Statics
 Static type registry is completed by code generation. More...
 
class  StreamReplayInputProvider
 The stream replay input provider is used to play back input from a stream. More...
 
class  StructPrototype
 Base class for DSL code-generated structs. The fields will be ordered in alphabetical order when the struct is generated. More...
 
class  SystemBase
 The Quantum system base class. More...
 
class  SystemGroup
 The base class for a hierarchy of systems. More...
 
class  SystemMainThread
 Most common Quantum system type. Implements a regular Update() with all the usual features. More...
 
class  SystemMainThreadFilter
 This type of system uses a FilterStruct of type T to filter a set of entities based on it, loop through them and calls a method. More...
 
class  SystemMainThreadGroup
 A Quantum main thread system that has a system hierarchy. The class will be deprecated in future versions, use SystemGroup instead. More...
 
class  SystemsConfig
 A Quantum configuration asset that will create and start Quantum systems in a data-driven way when starting the simulation. Can be assigned to RuntimeConfig. If no config is assigned then a default selection of build-in systems is used (DeterministicSystemSetup.CreateSystems(RuntimeConfig, SimulationConfig, SystemsConfig). The systems to be used can always be changed by code inside DeterministicSystemSetup.AddSystemsUser(ICollection<SystemBase>, RuntimeConfig, SimulationConfig, SystemsConfig). More...
 
class  SystemSignalsOnly
 This type of system does not have an Update() function. It is meant for systems that focus solely on implementing and receiving signals from other systems. By avoiding the Update loop, it helps you save some overhead. More...
 
class  TextWriterLogger
 Not used anymore. More...
 
class  TextWriterLogStream
 A log stream that writes log messages to a TextWriter. More...
 
class  ToggleLeftAttribute
 Specifies that the bool field should be drawn as the toggle on the left side of the label. More...
 
class  TooltipAttribute
 A replacement for UnityEngine.TooltipAttribute. More...
 
class  TraceLogStream
 Represents a trace log stream that supports logging to different streams. More...
 
struct  Transform2D
 The Transform2D is an entity component providing position and rotation a 2D object. More...
 
struct  Transform2DVertical
 The Transform2DVertical is an entity component pseudo-3D height and offset for an entity. More...
 
struct  Transform3D
 The Transform3D is an entity component providing position and rotation for a 3D object. More...
 
class  TriangleMesh
 The data representation of all static triangles in the scene. More...
 
struct  TriangleReference
 Represents a reference to a triangle in the triangle mesh. More...
 
struct  TriggerInfo2D
 Info about a collision between a trigger and a non-trigger 2D physics colliders. More...
 
struct  TriggerInfo3D
 Info about a collision between a trigger and a non-trigger 3D physics colliders. More...
 
class  TypeRegistry
 The Quantum type registry. More...
 
class  UnionPrototype
 Base class for DSL code-generated union structs. The union type overlaps in memory the data layout of all the involved structs. Unions can be declared as part of a component. Internally, the union type Data contains the logic necessary for switching between the union types as they are accessed More...
 
class  UnitAttribute
 Unit Attribute class. Used to mark a field with the respective Units More...
 
class  UnityAddressablesRuntimeKeyAttribute
 Specifies that the string field represents a key for Unity Addressables. More...
 
class  UnityAssetGuidAttribute
 Specifies that the string field represents a GUID of an asset. More...
 
class  UnityNavMeshAreaAttribute
 Specifies that the string field represents a path to a Unity resource. More...
 
class  UnityResourcePathAttribute
 Specifies that the string field represents a path to a Unity resource. More...
 
struct  View
 Quantum component used to reference an EntityView asset which represents the view object that is created and updated in runtime, usually used for displaying entity graphics. More...
 
class  WarnIfAttribute
 Editor attribute for adding notices to fields if the condition member evaluates as true. Condition member can be a property, field or method (with a return value). More...
 

Enumerations

enum  AddResult
 The result of a FrameBase.Add call. More...
 
enum  AssetGuidType
 Type of AssetGuid. More...
 
enum  CallbackFlags : int
 Represents which collision callbacks will be called for an entity. More...
 
enum  CallbackId
 Quantum game callback ids. More...
 
enum  CapsuleDirection2D
 The direction that the capsule sides extend. More...
 
enum  CapsuleDirection3D
 The Quantum's representation for the capsule shape 3D world axis direction. More...
 
enum  CharacterMovementType
 The state of the character movement. It is updated internally by the character controller system. More...
 
enum  CommitCommandsModes
 Indicates the mode in which commands are committed. More...
 
enum  CompareOperator
 Comparison method for evaluating condition member value against compareToValues. More...
 
enum  ComponentFlags
 Component type flags. More...
 
enum  ComponentStorage
 Can override a component's default storage mode. More...
 
enum  DatabaseType
 Enum representing different types of databases. More...
 
enum  DefaultAssetGuids : long
 Obsolete: Don't use hard-coded asset guids instead use the configs registered in the SimulationConfig. More...
 
enum  DrawIfMode
 Mode for the DrawIf attribute. If the condition is not met, should the field be hidden or just read-only? More...
 
enum  EditorButtonVisibility
 Specifies the visibility options for an editor button. More...
 
enum  EventFlags
 Flags to mark Quantum event mechanics. More...
 
enum  HostProfilerDataUnit
 
enum  LogFlags
 Flags for logging. More...
 
enum  LogLevel
 The log level. Messages with a lower level than the current LogLevel will be ignored. More...
 
enum  LogType : byte
 Log type. More...
 
enum  NavMeshBakeDataFindClosestTriangle
 A fallback triangle for each grid cell is searched. This type symbolized two different search algorithms. More...
 
enum  NavmeshRegionImportMode
 How Quantum navmesh regions are imported from the Unity navmesh. More...
 
enum  PhysicsCombineFunction : Int32
 Defines how the properties of the collider will be combined and affect the collision resolution. The Physics system will chose the function with the highest precedent from the two colliders. More...
 
enum  QuantumEntityPrototypeColliderLayerSource
 Defines the source of the physics collider layer information. More...
 
enum  QuantumEntityPrototypeTransformMode
 Defines what kind of transform component a QuantumEntityPrototype has. More...
 
enum  QuantumEntityViewBindBehaviour
 The view bind behaviour controls when the view is created. For entities on the predicted or entities on the verified frame. Because the verified frame is confirmed by the server this bind behaviour will show local entity views delayed. When using non-verified it may happen that they get destroyed when the frame is finally confirmed by the server. More...
 
enum  QuantumEntityViewFlags
 Additional configuration of the entity view that enables of disabled parts of the updating process. Either for performance reasons or when taking over control. More...
 
enum  QuantumEntityViewInterpolationMode
 Quantum view interpolation modes. Recommended to use ExponentialDecay as default. More...
 
enum  QuantumEntityViewTimeReference
 Used when grabbing transform data for view interpolation. More...
 
enum  QuantumEntityViewTransformType : byte
 Which transform component a QuantumEntityView keeps a per-tick history of. Selects what QuantumEntityViewTransformHistory records into a QuantumEntityViewTransformData entry. Byte-sized so it fits into the entry's padding. More...
 
enum  QuantumInstantReplaySeekMode
 A mode to seek running instant replays to a desired frame. More...
 
enum  QuantumMapDataBakeFlags
 The QuantumEditorAutoBaker script uses this enumeration to configure what steps to build on different automatic build triggers. More...
 
enum  QuantumMppmStatus
 The current status of MPPM. If the package is not enabled, this will always be QuantumMppmStatus.Disabled. More...
 
enum  QuantumPlayerLoopSystemAddMode
 Enum representing the possible modes for adding a system to the Unity Player Loop System. More...
 
enum  QuantumScriptingBackend
 Backend types. More...
 
enum  QuantumUnsafeTrackingMode
 Controls how QuantumUnsafe traces allocs. More...
 
enum  QueryOptions : Int16
 The flags to set up which type of colliders the query should hit and how detailed the collision should be. More...
 
enum  RecordingFlags
 The Quantum game input recording flags. More...
 
enum  RotationFreezeFlags : byte
 The flags to set up the rotation axis that will be not changed by the physics body movement. More...
 
enum  ScriptHeaderBackColor
 Color of the component graphic header in the Unity inspector. None indicates no header graphic should be used. More...
 
enum  ScriptHeaderIcon
 Icon to be rendered on the component graphic header in the Unity inspector. More...
 
enum  ScriptHeaderStyle
 Style of the script header in the Unity inspector. More...
 
enum  SetResult
 The result of a FrameBase.Set call. More...
 
enum  Shape2DType : byte
 Defines the geometry used by the Shape2D. More...
 
enum  Shape3DType : byte
 Defines the geometry used by the Shape3D. More...
 
enum  ShutdownCause
 The cause of the SessionRunner shutdown. More...
 
enum  ShutdownConnectionOptions
 The shutdown connection options define what to do with the client Photon connection during runner shutdown. More...
 
enum  SimulationConfigChecksumErrorDumpOptions
 Configuration options for checksum error dumps. More...
 
enum  SimulationUpdateTime
 The type of measuring time progressions to update the local simulation. More...
 
enum  TerrainBakeResolutionDivisor
 Factor by which to reduce the source Unity terrain heightmap resolution when baking the Quantum terrain collider. More...
 
enum  TransformSpace
 
enum  Units
 Unit Type for a certain field. This helps to identify the unit that a certain value represents, like Seconds or Percentage More...
 
enum  UnityCallbackId
 IDs for Unity-specific callbacks. More...
 

Functions

delegate void AssetObjectDisposingDelegate (AssetGuid guid)
 A delegate that is invoked before an AssetObject is disposed. More...
 
unsafe delegate void ComponentChangedDelegate (FrameBase frame, EntityRef entity, void *component)
 The signature that components are signaled with changes like adding or removing. More...
 
unsafe delegate void ComponentSerializeDelegate (void *component, FrameSerializer serializer)
 The signature that components are serialized with when creating frame snapshots. More...
 
sealed class DictionaryAttribute ()
 Represents an attribute that can be applied to a field to indicate that it is a dictionary property. More...
 
delegate bool DispatchableFilter (IDeterministicGame game)
 Delegate for filtering events. More...
 
delegate void DispatchableHandler< T > (T callback)
 Delegate for dispatchable events. More...
 
readonly struct DispatcherSubscription (int metaIndex, uint subscriptionId)
 Represents a specific subscription to a dispatcher. Can be used to unsubscribe without knowing the listener or handler. More...
 
sealed class DynamicCollectionAttribute ()
 Marks a collection field as source for a Quantum heap-based collection. Automatically applied by CodeGen. More...
 
delegate AssetObject QuantumCreateMapNestedAssetDelegate (Type assetType, string assetName)
 
delegate AssetGuid QuantumGetMapNestedAssetRefDelegate (Type assetType, string assetName)
 
delegate void QuantumGlobalScriptableObjectUnloadDelegate (QuantumGlobalScriptableObject instance)
 A delegate that can be used to unload a QuantumGlobalScriptableObject. More...
 
readonly struct QuantumUnsafeAllocInfo (nint ptr, int size, int align, string filePath, int lineNumber, string stackTrace)
 Memory allocation info entry. More...
 
readonly struct QuantumUnsafeAllocResult (QuantumUnsafeAllocInfo[] info)
 Memory allocation info result. More...
 

Enumeration Type Documentation

◆ DefaultAssetGuids

enum Quantum.DefaultAssetGuids : long
strong

Obsolete: Don't use hard-coded asset guids instead use the configs registered in the SimulationConfig.

◆ AssetGuidType

enum Quantum.AssetGuidType
strong

Type of AssetGuid.

Enumerator
Default 

Static asset, guid is known before simulation starts.

RuntimeGenerated 

Static asset, guid is generated at runtime.

DynamicSequential 

Dynamic asset, value has been sequentially generated. Not meant to be used directly.

DynamicExplicit 

Dynamic asset, value has been precalculated.

◆ ComponentFlags

Component type flags.

Enumerator
None 

Normal component.

Singleton 

Singleton component.

Table 

Table component.

◆ ComponentStorage

Can override a component's default storage mode.

Enumerator
Default 

Use the default storage mode (i.e. the one specified in the component's DSL definition).

SparseSet 

Use sparse set storage.

Table 

Use table storage.

◆ EventFlags

enum Quantum.EventFlags
strong

Flags to mark Quantum event mechanics.

Enumerator
None 

Regular Quantum event.

Synced 

Marks a synced event that is only emitted after input has been verified.

Server 

Marks the event to be only invoked on the server.

Client 

Marks the event to be only invoked on the client.

◆ DatabaseType

enum Quantum.DatabaseType
strong

Enum representing different types of databases.

Enumerator
AssetDB 

The AssetDB.

DynamicDB 

The DynamicDB.

Any 

Any database.

Default 

The default database: AssetDB

◆ AddResult

enum Quantum.AddResult
strong

The result of a FrameBase.Add call.

Enumerator
EntityDoesNotExist 

The entity does not exist.

ComponentAlreadyExists 

The entity already has a component of the type being added.

ComponentAdded 

The component was successfully added to the entity.

◆ SetResult

enum Quantum.SetResult
strong

The result of a FrameBase.Set call.

Enumerator
EntityDoesNotExist 

The entity does not exist.

ComponentUpdated 

Indicates that a component has been updated in the FrameBase.Set method.

ComponentAdded 

The component was successfully added to the entity.

◆ CommitCommandsModes

Indicates the mode in which commands are committed.

Enumerator
OnFrameSimulationBegin 

The commands are committed at the beginning of the frame simulation.

OnFrameSimulationEnd 

The commands are committed at the end of the frame simulation.

InBetweenSystems 

The commands are committed in between systems.

Manual 

The commands are committed manually.

◆ RecordingFlags

The Quantum game input recording flags.

Enumerator
None 

Record nothing.

Input 

Record input.

Checksums 

Record checksums.

All 

Record input and checksums.

Default 

Not used anymore.

◆ SimulationUpdateTime

The type of measuring time progressions to update the local simulation.

Enumerator
Default 

Internal stopwatch. Recommended for releasing games.

EngineDeltaTime 

Engine (Unity) delta time. Useful when pausing the Unity simulation during debugging for example. Caveat: the setting can cause issues with time synchronization when initializing online matches: the time tracking can be inaccurate under load (e.g.level loading) and result in a lot of large extra time syncs request and canceled inputs for a client when starting an online game.

EngineUnscaledDeltaTime 

Engine (Unity) unscaled delta time. Different to EngineDeltaTime after using break points this delta time catches up.

EngineUnscaledCappedDeltaTime 

Engine (Unity) unscaled delta time that similar to EngineDeltaTime uses UnityEngine.Time.maximumDeltaTime to cap the maximum delta time value. Caveat: the setting can cause issues with time synchronization when initializing online matches: the time tracking can be inaccurate under load (e.g.level loading) and result in a lot of large extra time syncs request and canceled inputs for a client when starting an online game.

◆ NavMeshBakeDataFindClosestTriangle

A fallback triangle for each grid cell is searched. This type symbolized two different search algorithms.

Enumerator
BruteForce 

Iterates through all triangles because the triangle closest can be inside a neighbor cell.

SpiralOut 

Spiral around the current cell to find a closest triangle in neighbors. This could result in empty fallback triangles, which will unlikely cause any problems. Requires to set NavMeshBakeData.ClosestTriangleCalculationDepth.

None 

No fallback triangle search. Will speed up navmesh baking considerably but make NavMesh.FindClosestTriangleFast(Photon.Deterministic.FPVector3, in NavMeshRegionMask) be not usable.

◆ CapsuleDirection2D

The direction that the capsule sides extend.

◆ CapsuleDirection3D

The Quantum's representation for the capsule shape 3D world axis direction.

Unity represents the capsule axis in 3D as an integer, where the X-axis is assigned the number 0. In Quantum, the Y-axis is assigned the value 0 to ensure it is the default axis in serialization process.

◆ CallbackFlags

enum Quantum.CallbackFlags : int
strong

Represents which collision callbacks will be called for an entity.

By default, no callbacks are called unless at least one of the entities involved in a collision have the respective flag set.

The callbacks are called for every entity involved in a collision that has the respective collision type flag set.

No collision is checked between two kinematic colliders that are both trigger or both non-trigger.

Enumerator
None 

Set None to stop receiving callbacks for an entity.

OnDynamicCollision 

Called once per frame while two non-trigger colliders are touching.

Related signals: ISignalOnCollision2D and ISignalOnCollision3D.

OnDynamicCollisionEnter 

Called once two non-trigger colliders start touching.

Related signals: ISignalOnCollisionEnter2D and ISignalOnCollisionEnter3D.

OnDynamicCollisionExit 

Called once two non-trigger colliders stop touching.

Related signals: ISignalOnCollisionExit2D and ISignalOnCollisionExit3D.

OnStaticCollision 

Called once per frame while a non-trigger collider is touching a non-trigger static collider.

Related signals: ISignalOnCollision2D and ISignalOnCollision3D.

OnStaticCollisionEnter 

Called once a non-trigger collider start touching a non-trigger static collider.

Related signals: ISignalOnCollisionEnter2D and ISignalOnCollisionEnter3D.

OnStaticCollisionExit 

Called once a non-trigger collider stop touching a non-trigger static collider.

Related signals: ISignalOnCollisionExit2D and ISignalOnCollisionExit3D.

OnDynamicTrigger 

Called once per frame while a trigger collider is touching a non-trigger collider.

Related signals: ISignalOnTrigger2D and ISignalOnTrigger3D.

OnDynamicTriggerEnter 

Called once a trigger collider start touching a non-trigger collider.

Related signals: ISignalOnTriggerEnter2D and ISignalOnTriggerEnter3D.

OnDynamicTriggerExit 

Called once a trigger collider stop touching a non-trigger collider.

Related signals: ISignalOnTriggerExit2D and ISignalOnTriggerExit3D.

OnStaticTrigger 

Called once per frame while a non-trigger collider is touching a trigger static collider.

Related signals: ISignalOnTrigger2D and ISignalOnTrigger3D.

OnStaticTriggerEnter 

Called once a non-trigger collider start touching a trigger static collider.

Related signals: ISignalOnTriggerEnter2D and ISignalOnTriggerEnter3D.

OnStaticTriggerExit 

Called once a non-trigger collider stop touching a trigger static collider.

Related signals: ISignalOnTriggerExit2D and ISignalOnTriggerExit3D.

◆ QueryOptions

enum Quantum.QueryOptions : Int16
strong

The flags to set up which type of colliders the query should hit and how detailed the collision should be.

Enumerator
HitStatics 

summary> The query checks static colliders. Include also HitTriggers in order to check static trigger colliders.

HitKinematics 

The query checks colliders with no physics body or with Kinematic physics body. Include also HitTriggers in order to check trigger colliders.

HitDynamics 

The query checks colliders with dynamic (not kinematic) physics body.

HitTriggers 

The query also checks trigger colliders. Combine this with both or either HitStatics and/or HitKinematics.

HitAll 

The query checks all colliders: statics, kinematics and dynamics, including trigger colliders. To filter some of these options out, combine specific flags instead.

HitSolids 

The query checks all non-trigger colliders: statics, kinematics and dynamics.

ComputeDetailedInfo 

Detailed info (e.g. contact point, normal, penetration) will be computed for the query hits.

DetectOverlapsAtCastOrigin 

For Ray and Shape casts, the query will consider other colliders that may be overlapping with the cast feature at the cast origin. By default, such overlaps are not considered hits.

SleepingOnly 

When used in combination with HitDynamics flag, causes awaken bodies to be ignored by the query.

◆ CharacterMovementType

The state of the character movement. It is updated internally by the character controller system.

Enumerator
None 

summary>Grounded with no desired direction passed.

summary>There is no contacts within the Radius.

FreeFall 

summary> There is at least 1 ground contact within the radius, specifically a contact with a normal angle vs -gravity < maxSlopeAngle). It is possible to be "grounded" without this type of contact CharacterController3DMovement.Grounded /summary>

SlopeFall 

summary>there is no ground contact, but there is at least one lateral contact.

◆ PhysicsCombineFunction

enum Quantum.PhysicsCombineFunction : Int32
strong

Defines how the properties of the collider will be combined and affect the collision resolution. The Physics system will chose the function with the highest precedent from the two colliders.

Enumerator
Max 

The max value between the two values.

Min 

The min value between the two values.

Average 

The average value between the two values.

Multiply 

The multiplication of the two values.

◆ CompareOperator

Comparison method for evaluating condition member value against compareToValues.

Enumerator
Equal 

true if condition member value equals compareToValue.

NotEqual 

true if condition member value is not equal to compareToValue.

Less 

true if condition member value is less than compareToValue.

LessOrEqual 

true if condition member value is less than or equal to compareToValue.

GreaterOrEqual 

true if condition member value is greater than or equal to compareToValue.

Greater 

true if condition member value is greater than compareToValue.

NotZero 

Returns true if the condition member evaluates to anything other than zero. In the case of object references, this means true for any non-null value.

IsZero 

Returns true if the condition member evaluates to zero. In the case of object references, this means true for any null value.

BitwiseAndNotEqualZero 

Returns true if the bitwise AND of the condition member and compareToValue is not zero.

◆ DrawIfMode

enum Quantum.DrawIfMode
strong

Mode for the DrawIf attribute. If the condition is not met, should the field be hidden or just read-only?

Enumerator
ReadOnly 

Field is read-only if the condition is not met.

Hide 

Field is hidden if the condition is not met.

◆ EditorButtonVisibility

Specifies the visibility options for an editor button.

Enumerator
PlayMode 

The button is only visible in Play Mode.

EditMode 

The button is only visible in Edit Mode.

Always 

The button is always visible.

◆ ScriptHeaderStyle

Style of the script header in the Unity inspector.

Enumerator
Unity 

Use the default Unity header style.

Photon 

Use the Photon header style.

◆ ScriptHeaderIcon

Icon to be rendered on the component graphic header in the Unity inspector.

◆ ScriptHeaderBackColor

Color of the component graphic header in the Unity inspector. None indicates no header graphic should be used.

◆ Units

enum Quantum.Units
strong

Unit Type for a certain field. This helps to identify the unit that a certain value represents, like Seconds or Percentage

Enumerator
None 
Ticks 

ticks

Seconds 

seconds - secs

MilliSecs 

millisecs - ms

Kilobytes 

kilobytes - kB

Megabytes 

megabytes - MB

Normalized 

normalized - norm

Multiplier 

multiplier - mult

Percentage 

%

NormalizedPercentage 

normalized % - n%

Degrees 

degrees - \u00B0

PerSecond 

per sec - /sec

DegreesPerSecond 

\u00B0 / sec - \u00B0/sec

Radians 

radians - rad

RadiansPerSecond 

radian / sec - rad/s

TicksPerSecond 

ticks / sec - tck/s

Units 

units - units

Bytes 

bytes - bytes

Count 

count - count

Packets 

packets - packets

Frames 

frames - frames

FramesPerSecond 

fps - fps

SquareMagnitude 

sqrMagnitude - sqrMag

◆ HostProfilerDataUnit

Enumerator
Undefined 
TimeNanoseconds 
Bytes 
Count 
Percent 
FrequencyHz 

◆ QuantumScriptingBackend

Backend types.

Enumerator
DotNet 

Run by dotnet.

Mono 

Run by Mono.

IL2CPP 

Run by IL2CPP.

CoreCLR 

Run by CoreCLR.

◆ QuantumUnsafeTrackingMode

Controls how QuantumUnsafe traces allocs.

Enumerator
None 

No tracing.

Simple 

Allocs are traced without the stack trace.

StackTrace 

Allocs are traced with the stack trace.

◆ TransformSpace

Enumerator
World 

Applies transformation relative to the world coordinate system.

Local 

Applies transformation relative to the local coordinate system.

◆ LogType

enum Quantum.LogType : byte
strong

Log type.

Enumerator
Error 

Error log type.

Warn 

Warning log type.

Info 

Information log type.

Debug 

Debug log type.

Trace 

Trace log type.

◆ LogFlags

enum Quantum.LogFlags
strong

Flags for logging.

Enumerator
Debug 

This is a debug stream.

Trace 

This is a trace stream.

◆ LogLevel

enum Quantum.LogLevel
strong

The log level. Messages with a lower level than the current LogLevel will be ignored.

Enumerator
Debug 

Debug messages. Dlls will only output Debug messages if compiled with DEBUG symbol.

Info 

General info messages.

Warn 

Warning messages.

Error 

Error messages.

None 

No messages will be output.

◆ UnityCallbackId

IDs for Unity-specific callbacks.

Enumerator
UnitySceneLoadBegin 

Scene load begins.

UnitySceneLoadDone 

Scene load is done.

UnitySceneUnloadBegin 

Scene unload begins.

UnitySceneUnloadDone 

Scene unload is done.

UserCallbackIdStart 

Callback ID start for user callbacks.

◆ QuantumEntityPrototypeColliderLayerSource

Defines the source of the physics collider layer information.

Enumerator
GameObject 

The layer information is retrieved from the Source Collider's GameObject (if one is provided) or this Prototype's GameObject (otherwise).

Explicit 

The layer is defined explicitly from a layer enumeration.

◆ QuantumEntityPrototypeTransformMode

Defines what kind of transform component a QuantumEntityPrototype has.

Enumerator
Transform2D 

Quantum.Transform2D

Transform3D 

Quantum.Transform3D

None 

No transform component.

◆ QuantumEntityViewBindBehaviour

The view bind behaviour controls when the view is created. For entities on the predicted or entities on the verified frame. Because the verified frame is confirmed by the server this bind behaviour will show local entity views delayed. When using non-verified it may happen that they get destroyed when the frame is finally confirmed by the server.

Enumerator
NonVerified 

The entity view is created during a predicted frame.

Verified 

The entity view is created during a verified frame.

◆ QuantumEntityViewFlags

Additional configuration of the entity view that enables of disabled parts of the updating process. Either for performance reasons or when taking over control.

Enumerator
DisableUpdateView 

QuantumEntityView.UpdateView and QuantumEntityView.LateUpdateView() are not processed and forwarded to entity view components.

DisableUpdatePosition 

Will completely disable updating the entity view positions.

UseCachedTransform 

Use cached transforms to improve the performance by not calling Transform properties.

DisableEntityRefNaming 

The entity game object will be named to resemble the EntityRef, set this flag to prevent naming.

DisableSearchChildrenForEntityViewComponents 

Disable searching the entity view game object children for entity view components.

EnableSnapshotInterpolation 

Inits a transform buffer, so updating with verified frames only can be switched on to guarantee smooth visuals. When in use, visuals are presented with latency proportional to ping. Turning this on only prepares the buffers and callbacks. Switching the interpolation mode is controlled with a separate toggle on the QuantumEntityView.

DisableSearchInactiveForEntityViewComponents 

Disable searching the inactive entity view game object children for entity view components.

◆ QuantumEntityViewTimeReference

Used when grabbing transform data for view interpolation.

Enumerator
To 

Either Predicted frame or closest frame data from verified (when using snapshot interpolation).

From 

Either the tick before the Predicted frame, read from the view's per-tick transform history, or the farthest frame data from verified (when using snapshot interpolation).

ErrorCorrection 

Previous update corrected frame (to compute total mis-prediction).

◆ QuantumEntityViewInterpolationMode

Quantum view interpolation modes. Recommended to use ExponentialDecay as default.

Enumerator
Prediction 

Interpolated between the last two predicted ticks recorded in the view's transform history, also using mis-prediction error smoothing. Captures and caches transform copies of predicted frames on QuantumEntityViewUpdater.TransformHistory.

SnapshotInterpolation 

Dynamically interpolates between two past verified frames. Timing is computed by EntityViewUpdater. Views using this mode are always seen "in the past", but are smooth and accurate, given mis-predictions are not possible. REQUIRES: QuantumEntityViewFlags must include EnableSnapshotInterpolation

ExponentialDecay 

Lightweight and effective game view interpolation mode. External writes to Unity transforms interact with smoothing, and mid-frame warps without simulation teleport flags will slide rather than snap.

Auto 

Dynamically switches between Prediction and SnapshotInterpolation based on culled status of the Entity. REQUIRES: QuantumEntityViewFlags must include EnableSnapshotInterpolation

◆ QuantumEntityViewTransformType

Which transform component a QuantumEntityView keeps a per-tick history of. Selects what QuantumEntityViewTransformHistory records into a QuantumEntityViewTransformData entry. Byte-sized so it fits into the entry's padding.

Enumerator
None 

No history is kept.

Transform2D 

Quantum.Transform2D and optionally Quantum.Transform2DVertical.

Transform3D 

Quantum.Transform3D.

◆ QuantumMapDataBakeFlags

The QuantumEditorAutoBaker script uses this enumeration to configure what steps to build on different automatic build triggers.

Enumerator
None 

Build nothing

BakeMapData 

Bake QuantumMapDataBakeFlags.BakeMapPrototypes, QuantumMapDataBakeFlags.BakeMapColliders and QuantumMapDataBakeFlags.BakeMapTerrains

BakeMapPrototypes 

Bake map prototypes

BakeMapColliders 

Bake map colliders

BakeMapTerrains 

Bake Terrain Collider assets.

BakeUnityNavMesh 

Bake the Unity navmesh

ImportUnityNavMesh 

Import the Unity navmesh into an intermediate navmesh data structure

BakeNavMesh 

Bake the Quantum navmesh using the intermediate navmesh data structure

ClearUnityNavMesh 

Clear and reset the Unity navmesh

GenerateAssetDB 

Generate the Quantum Unity Asset DB

SaveUnityAssets 

Save Unity assets during the baking process. Results in calling AssetDatabase.SaveAssets().

◆ QuantumInstantReplaySeekMode

A mode to seek running instant replays to a desired frame.

Enumerator
Disabled 

Feature disabled.

FromStartSnapshot 

Start from the first snapshot and seek to the desired frame.

FromIntermediateSnapshots 

Start from intermediate snapshots if available.

◆ NavmeshRegionImportMode

How Quantum navmesh regions are imported from the Unity navmesh.

Enumerator
Disabled 

Regions are not imported.

Advanced 

Requires QuantumNavMeshRegion scripts to setup region data to increase the max region count to 64. Supports using different region names for different maps.

Simple 

Uses the Unity NavMesh areas to directly generate regions and use according area names. Limited to 30 different global regions.

◆ TerrainBakeResolutionDivisor

Factor by which to reduce the source Unity terrain heightmap resolution when baking the Quantum terrain collider.

Enumerator
MatchSource 

Use the source Unity terrain heightmap resolution (no downsampling).

◆ QuantumPlayerLoopSystemAddMode

Enum representing the possible modes for adding a system to the Unity Player Loop System.

Enumerator
FirstChild 

Add the system as the first child of the parent system.

LastChild 

Add the system as the last child of the parent system.

Before 

Add the system before the parent system in the player loop.

After 

Add the system after the parent system in the player loop.

◆ QuantumMppmStatus

The current status of MPPM. If the package is not enabled, this will always be QuantumMppmStatus.Disabled.

Enumerator
Disabled 

MPPM is not installed.

MainInstance 

This instance is the main instance. Can use QuantumMppm.Send<T> to send commands.

VirtualInstance 

This instance is a virtual instance. Will receive commands from the main instance.

◆ SimulationConfigChecksumErrorDumpOptions

Configuration options for checksum error dumps.

Enumerator
SendAssetDBChecksums 

Sends asset db checksums.

ReadableDynamicDB 

Dumps readable information from the dynamic db.

RawFPValues 

Prints raw FP values.

ComponentChecksums 

Dumps component checksums.

SceneMesh3D 

Dumps 3D Physics SceneMesh metadata.

◆ CallbackId

enum Quantum.CallbackId
strong

Quantum game callback ids.

Enumerator
PollInput 

Callback called when the simulation queries local input.

GameInit 

Callback called when the game has been started.

GameStarted 

Callback called when the game has been started.

GameResynced 

Callback called when the game has been re-synchronized from a snapshot.

GameDestroyed 

Callback called when the game was destroyed.

UpdateView 

Callback guaranteed to be called every rendered frame.

SimulateFinished 

Callback called when frame simulation has completed.

EventCanceled 

Callback called when an event raised in a predicted frame was canceled in a verified frame due to a roll-back / missed prediction.

EventConfirmed 

Callback called when an event was confirmed by a verified frame.

ChecksumError 

Callback called on a checksum error.

ChecksumErrorFrameDump 

Callback called a frame dump is received due to a checksum error.

InputConfirmed 

Callback when input was confirmed.

ChecksumComputed 

Callback called when a checksum has been computed.

PluginDisconnect 

Callback called when the local client is disconnected by the plugin.

PlayerAddConfirmed 

Callback when a local player was successfully added to the game.

PlayerRemoveConfirmed 

Callback when a local player was successfully removed from the game.

PlayerAddFailed 

Callback when a adding a local player failed.

PlayerRemoveFailed 

Callback when removing a local player failed.

ProfilerReportGenerated 

Callback when profiler report has been generated.

BeforeSimulationStage 

Callback before the Verified or Prediction stages of the simulation are about to start.

SimulationStageFinished 

Callback after the Verified or Prediction stages have finished.

GameResultResponse 

Callback send after game result has been received.

UpdateViewAfterEvents 

Callback guaranteed to be called every rendered frame after UpdateView and after events have been dispatched.

CopyPreviousPredicted 

Callback when second-to-last predicted frame is available in the current update (e.g. to copy data out of).

CopyPreviousUpdatePredicted 

Callback when the last frame predicted in the previous update is available in the current update (e.g. to copy data out of).

UserCallbackIdStart 

A tag where user callbacks can start.

◆ ShutdownCause

enum Quantum.ShutdownCause
strong

The cause of the SessionRunner shutdown.

Enumerator
Ok 

Expected shutdown

Error 

An error occurred

StartFailed 

Start timed out or cancelled

SessionError 

The session threw an exception.

NetworkError 

Not used.

SimulationStopped 

Simulation stopped. Could also be a network error.

◆ ShutdownConnectionOptions

The shutdown connection options define what to do with the client Photon connection during runner shutdown.

Enumerator
Disconnect 

Disconnect

LeaveRoom 

Leave the room and connect to master server.

LeaveRoomAndBecomeInactive 

Leave the room and connect to master server, but keep inactive in the room.

None 

Do do anything to the connection during runner shutdown.

Function Documentation

◆ AssetObjectDisposingDelegate()

delegate void Quantum.AssetObjectDisposingDelegate ( AssetGuid  guid)

A delegate that is invoked before an AssetObject is disposed.

Parameters
guid

◆ DictionaryAttribute()

sealed class Quantum.DictionaryAttribute ( )

Represents an attribute that can be applied to a field to indicate that it is a dictionary property.

◆ DynamicCollectionAttribute()

sealed class Quantum.DynamicCollectionAttribute ( )

Marks a collection field as source for a Quantum heap-based collection. Automatically applied by CodeGen.

◆ ComponentSerializeDelegate()

unsafe delegate void Quantum.ComponentSerializeDelegate ( void *  component,
FrameSerializer  serializer 
)

The signature that components are serialized with when creating frame snapshots.

Parameters
componentThe pointer to the component in the frame memory
serializerThe serializer to write or read the component

◆ ComponentChangedDelegate()

unsafe delegate void Quantum.ComponentChangedDelegate ( FrameBase  frame,
EntityRef  entity,
void *  component 
)

The signature that components are signaled with changes like adding or removing.

Parameters
frameThe frame
entityThe entity the component belongs to
componentThe component that was added or removed

◆ DispatchableHandler< T >()

delegate void Quantum.DispatchableHandler< T > ( T  callback)

Delegate for dispatchable events.

Template Parameters
T
Type Constraints
T :IDispatchable 

◆ DispatchableFilter()

delegate bool Quantum.DispatchableFilter ( IDeterministicGame  game)

Delegate for filtering events.

◆ DispatcherSubscription()

readonly struct Quantum.DispatcherSubscription ( int  metaIndex,
uint  subscriptionId 
)

Represents a specific subscription to a dispatcher. Can be used to unsubscribe without knowing the listener or handler.

◆ QuantumUnsafeAllocInfo()

readonly struct Quantum.QuantumUnsafeAllocInfo ( nint  ptr,
int  size,
int  align,
string  filePath,
int  lineNumber,
string  stackTrace 
)

Memory allocation info entry.

File where the alloc happened.

Line number where the alloc happened.

Size of the alloc.

Align of the alloc.

Stack trace of the alloc. Only set if tracking is enabled with QuantumUnsafeTrackingMode.StackTrace

Pointer to allocated memory.

◆ QuantumUnsafeAllocResult()

readonly struct Quantum.QuantumUnsafeAllocResult ( QuantumUnsafeAllocInfo[]  info)

Memory allocation info result.

◆ QuantumGlobalScriptableObjectUnloadDelegate()

delegate void Quantum.QuantumGlobalScriptableObjectUnloadDelegate ( QuantumGlobalScriptableObject  instance)

A delegate that can be used to unload a QuantumGlobalScriptableObject.