Photon Quantum 3.0.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. 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. 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  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  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  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  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...
 
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  ComponentCallbacks
 Component callbacks. More...
 
struct  ComponentFilter
 Filter entities by component types. 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  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  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  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  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  DictionaryAttribute
 Represents an attribute that can be applied to a field to indicate that it is a dictionary property. More...
 
class  DictionaryEntryPrototype
 Obsolete class. 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  DotNetSessionContext
 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. A static resource manager is created during Init() that is shared between multiple server simulation instances. More...
 
class  DotNetSessionRunner
 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  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). 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  DynamicCollectionAttribute
 Marks a collection field as source for a Quantum heap-based collection. Automatically applied by CodeGen. 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...
 
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...
 
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  FieldsMask
 Base class for FieldsMask<T>. 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 used for timing game logic. 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...
 
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...
 
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...
 
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...
 
struct  InstantReplaySettings
 Settings required to record frame snapshots for instant replays. 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  IQuantumEntityViewPool
 Interface to create custom implementation of the entity view pool that can be assigned to the QuantumEntityViewUpdater.Pool. 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  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  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...
 
struct  Mask256
 Mask256 is a 256-bit mask that can be used to store 256 boolean values. 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  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...
 
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 NavMesh and NavMeshAgentConfig More...
 
struct  NavMeshPortal
 The Quantum navmesh stores connections between neighbouring triangles as portals. More...
 
struct  NavMeshRegionMask
 Internally stores a unsigned long to be able to toggle 128 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...
 
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  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  QuantumEditorSettings
 Contains global Quantum editor settings. 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  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. Using QuantumCallback.Subscribe() with pooled objects as listener needs to use the onlyIfActiveAndEnabled option to not be callbacks from disabled pooled objects. 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  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  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  QuantumMemoryStats
 A script that displays memory stats of the Quantum heap. 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  QuantumMultiClientPlayer
 This class keeps track of individual Photon connections and Quantum simulations (QuantumRunner). More...
 
class  QuantumMultiClientPlayerView
 The multi client UI view of one player. More...
 
class  QuantumMultiClientRunner
 The script will can manage multiple online clients and Quantum players in your Editor. This means the remote view of your player can be visualized in the same Unity instance. Minimum settings: More...
 
class  QuantumNavMesh
 This class is a collection of utility methods to import Unity NavMesh data into Quantum NavMesh data. More...
 
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  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  QuantumRunnerLocalDebug
 A debug script that starts the Quantum simulation for MaxPlayerCount players when starting the game from a gameplay scene. Will add LocalPlayers as local players during simulation start. The script will disable itself when it detects that other scene were loaded before this (to delegate adding players to a menu scene / game bootstrap). More...
 
class  QuantumRunnerLocalReplay
 An example of how to start a Quantum replay simulation from a replay file. More...
 
class  QuantumRunnerLocalSavegame
 This script can be used to start a Quantum simulation from a savegame file and is very similar to QuantumRunnerLocalReplay. More...
 
class  QuantumRunnerRegistry
 A registry to keep track of all active Quantum runners. 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. 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  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  QuantumStats
 Measures and display basic Quantum statistics on a UI element. 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  QuantumUnityEventDispatcher
 Quantum.EventDispatcher implementation for Unity. More...
 
class  QuantumUnityExtensions
 Provides backwards compatibility for Unity API. 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  QuantumUnityNativeAllocator
 The Unity implementation of the Quantum native memory allocator. More...
 
class  QuantumUnityNativeUtility
 The Unity implementation of the Quantum native utility functions. 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  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  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  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...
 
class  SimulationConfig
 The SimulationConfig holds parameters used in the ECS layer and inside core systems like physics and navigation. 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. 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...
 
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  TypeUtils
 Type reflection utility methods. Is generally slow. 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  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  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  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  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  QuantumEntityComponentInspectorMode
 Entity component inspector mode. 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
 Interpolation mode for the view. More...
 
enum  QuantumEntityViewTimeReference
 Used when grabbing transform data for view interpolation. 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  QuantumToolbarZone
 The toolbar zone to display the Quantum toolbar. 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
 
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  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...
 
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...
 
delegate void QuantumGlobalScriptableObjectUnloadDelegate (QuantumGlobalScriptableObject instance)
 A delegate that can be used to unload a QuantumGlobalScriptableObject. 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.

◆ 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.

Caveat: Changing it will make every client use the setting which might be undesirable when only used for debugging.

Enumerator
Default 

Internal stopwatch. Recommended for releasing games.

EngineDeltaTime 

Engine (Unity) delta time. Extremely 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 unscaled delta time.

◆ 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, NavMeshRegionMask) be not usable.

◆ 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.

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.

◆ 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

◆ 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.

◆ QuantumToolbarZone

The toolbar zone to display the Quantum toolbar.

Enumerator
ToolbarZoneRightAlign 

Show toolbar on the right side of the play button.

ToolbarZoneLeftAlign 

Show the toolbar on the left side of the play button.

◆ QuantumEntityComponentInspectorMode

Entity component inspector mode.

Enumerator
ShowMonoBehaviours 

Show the mono behaviours.

InlineInEntityPrototypeAndShowMonoBehavioursStubs 

Inline entity prototype and show mono behaviours as stubs.

InlineInEntityPrototypeAndHideMonoBehaviours 

Inline entity prototype and hide mono behaviours.

◆ 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(bool, bool) 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.

◆ 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 PredictedPrevious frame or farthest frame data from verified (when using snapshot interpolation).

ErrorCorrection 

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

◆ QuantumEntityViewInterpolationMode

Interpolation mode for the view.

Enumerator
Prediction 

Default mode interpolated between PredictedPrevious and Predicted, also using mis-prediction error smoothing.

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

Auto 

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

◆ 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 and QuantumMapDataBakeFlags.BakeMapColliders

BakeMapPrototypes 

Bake map prototypes

BakeMapColliders 

Bake map colliders

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.

◆ 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.

◆ 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.

UserCallbackIdStart 

A tag where user callbacks can start.

◆ ShutdownCause

enum Quantum.ShutdownCause
strong
Enumerator
Ok 

Expected shutdown

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

◆ 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 > ( 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.

◆ QuantumGlobalScriptableObjectUnloadDelegate()

delegate void Quantum.QuantumGlobalScriptableObjectUnloadDelegate ( QuantumGlobalScriptableObject  instance)

A delegate that can be used to unload a QuantumGlobalScriptableObject.