Photon Quantum 3.0.0

Namespaces | Classes | Enumerations
Quantum Namespace Reference

Classes

class  BinaryData
 An asset containing raw binary data. Use CreateByteStream to access contents safely and auto-decompress, if compressed. 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 when due to a checksum error a frame is dumped. 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 has been started. More...
 
class  CallbackGameResynced
 Callback called when the game has been re-synchronized from a snapshot. More...
 
class  CallbackGameStarted
 Callback called when the game has been started. More...
 
class  CallbackInputConfirmed
 Callback when local input was confirmed. 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  CallbackUpdateView
 Callback guaranteed to be called every rendered frame. More...
 
struct  CharacterController2D
 
struct  CharacterController2DMovement
 Result of a 2D KCC raw movement query. More...
 
struct  CharacterController3D
 
struct  CharacterController3DMovement
 Result of a 3D KCC raw movement query. 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...
 
class  ComponentTypeId
 A runtime identifier for component types (most methods cannot be used during edit time). Internally uses the hash of the type to serialize component types efficiently. Create a ComponentSet from ComponentTypeRef this way: More...
 
class  DeterministicSystemSetup
 Responsible for instantiating Quantum systems on simualtion start. User systems can be added by adding a SystemsConfig to the RuntimeConfig. Or adding them in the user callback AddSystemsUser. 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  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 factory is created to be used on the Quantum server plugin. More...
 
class  DrawIfAttribute
 Editor attribute for selectively drawing/hiding fields. Condition member can be a property, field or method (with a return value). More...
 
struct  EntityRef
 Quantum entity reference. 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  FieldsMask
 Base class for FieldsMask<T>. More...
 
class  Frame
 The user implementation of FrameBase that resides in the project quantum_state and has access to all user relevant classes. 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  ISignalOnNavMeshMoveAgent
 Signal is called when the agent should move. The desired direction is influence by avoidance. More...
 
interface  ISignalOnNavMeshSearchFailed
 Signal is fired when the agent could not find a path in the agent update after using NavMeshPathfinder.SetTarget More...
 
interface  ISignalOnNavMeshWaypointReached
 Signal is fired when an agent reaches a waypoint. 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  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
 (requires SteeringAgent and PathfinderAgent) More...
 
struct  NavMeshPathfinder
 The NavMeshAgent is an entity component for automated navmesh navigation and steering. More...
 
struct  NavMeshRegionMask
 Internally stores a unsigned long to be able to toggle 64 different regions. More...
 
struct  NavMeshSteeringAgent
 Requires NavMeshPathfinder component. 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  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...
 
struct  PlayerRef
 Represents a Quantum player. 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  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  QuantumEditorSettings
 Contains global Quantum editor settings. 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  QuantumMultiClientPlayer
 This class keeps track of individual Photon connections and Quantum simulations (QuantumRunner). 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  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 detectes 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  ReplayFile
 A class that holds all relevant data to run a Quantum replay that can be saved and loaded in JSON. 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  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 startable for a variaty 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 enviroment. 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...
 
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  SimulationConfig
 The SimulationConfig holds parameters used in the ECS layer and inside core systems like physics and navigation. More...
 
struct  StaticColliderData
 Information about a static collider. 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...
 
struct  Transform2D
 The Transform2D is an entity component providing position and rotation a 2D object. More...
 
struct  Transform3D
 The Transform3D is an entity component providing position and rotation for a 3D object. 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  UnitAttribute
 Unit Attribute class. Used to mark a field with the respective Units 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  CallbackFlags : int
 Represents which collision callbacks will be called for an entity. More...
 
enum  CompareOperator
 Comparison method for evaluating condition member value against compareToValues. More...
 
enum  QuantumEntityPrototypeColliderLayerSource
 Defines the source of the physics collider layer information. 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  ShutdownCause
 
enum  ShutdownConnectionOptions
 The shutdown connection options define what to do with the client Photon connection during runner shutdown. 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...
 

Enumeration Type Documentation

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

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

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

◆ 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

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

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