Photon Fusion 1.1.12

Namespaces | Classes | Enumerations | Functions
Fusion Namespace Reference

Classes

struct  Accuracy
 Indicates the rounding factor of compressed values. All values will be truncated to the nearest multiple of this. More...
 
class  AccuracyAttribute
 Additional companion attribute to NetworkedAttribute, which indicates how floats should be compressed. More...
 
class  AccuracyDefaults
 Class that contains global accuracy information. Built-in named defaults can be edited, or custom named defaults can be created. These defaults allow you to change accuracy settings across an entire project. More...
 
struct  Angle
 A Networked fusion type for degrees. This can be used with the NetworkedAttribute, in RPCs, or in NetworkInput structs. More...
 
class  AuthorityMasks
 Flag constants for input and state authority. More...
 
class  Behaviour
 Alternative base class to Unity's MonoBehaviour. This allows for components that work both in Unity, as well as the Photon relays. More...
 
class  BehaviourActionAttribute
 Attribute for use on Fusion.Behaviour classes. Automatically runs this method when the inspector refreshes. GUILayout calls be in the method and will render into the inspector. Allows for editor code to be added to a component, without requiring a custom Editor script. More...
 
class  BehaviourButtonActionAttribute
 Attribute for use on Fusion.Behaviour classes. Automatically creates a button in the inspector of Behaviour derived classes. Can be used on Fields or Method member types. For fields, the name of the method the button will execute must be supplied. When used on methods, that method will be called. More...
 
class  BehaviourWarnAttribute
 Attribute for use on Fusion.Behaviour classes. Automatically draws a warning box in the inspector if the conditions are met. More...
 
class  CastEnumAttribute
 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...
 
struct  Changed
 Wrapping struct around changed behaviours which allows you to load old and new values. More...
 
class  DoIfAttribute
 Fusion editor attribute for selective editor rendering. Condition member can be a property, field or method (with a return value). More...
 
class  DrawIfAttribute
 Fusion editor attribute for selectively drawing/hiding fields. Condition member can be a property, field or method (with a return value). More...
 
class  EditorDisabledAttribute
 Fusion editor attribute for disabling fields. More...
 
class  EditorDisabledGroupAttribute
 Fusion editor attribute for disabling groups of fields. More...
 
class  EnumMaskAttribute
 Attribute that indicates an enum should render as multi-select mask drop list in the inspector More...
 
class  HeapConfiguration
 Memory Heap Settings More...
 
class  Hitbox
 Represents a single lag-compensated collider. Multiple component instances can be added anywhere in the hierarchy of a NetworkObject which includes a HitboxRoot. More...
 
class  HitboxManager
 Entry point for lag compensated Hitbox queries, which maintains a history buffer, and provides lag compensated raycast and overlap methods. Singleton instance is accessible through the property Runner.LagCompensation. More...
 
class  HitboxRoot
 Root Hitbox group container. Manages registering/unregistering hitboxes with the group, and defines the broadphase geometry for the group. More...
 
class  HostMigrationToken
 Transitory Holder with all necessary information to restart the Fusion Runner after the Host Migration has completed More...
 
interface  IAfterAllTicks
 Interface for AfterAllTicks callback. Called after the resimulation loop (when applicable), and also after the forward simulation loop. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IAfterClientPredictionReset
 Callback interface for AfterClientPredictionReset. Called at the very start of the resimulation loop (on clients with prediction enabled), immediately after state is set to the latest server snapshot. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IAfterHostMigration
 Used to mark NetworkBehaviors that need to be react after a Host Migration process More...
 
interface  IAfterPhysicsStep
 Interface for AfterPhysicsStep callback. Called immediately after Physics.Simulate(). Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IAfterTick
 Interface for AfterTick callback. Called after each tick simulation completes. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IAfterUpdate
 Interface for the AfterUpdate callback, which is called at the end of each Fusion Update segment. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IBeforeAllTicks
 Interface for BeforeAllTicks callback. Called before the resimulation loop (when applicable), and also before the forward simulation loop. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IBeforeClientPredictionReset
 Callback interface for BeforeClientPredictionReset. Called at the very start of the resimulation loop (on clients with prediction enabled), before state is set to the latest server snapshot. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IBeforeHitboxRegistration
 Interface for BeforeHitboxRegistration callback. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IBeforePhysicsStep
 Interface for BeforePhysicsStep callback. Called immediately before Physics.Simulate(). Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IBeforeTick
 Interface for BeforeTick callback. Called before each tick is simulated. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IBeforeUpdate
 Interface for the BeforeUpdate callback, which is called at the beginning of each Fusion Update segment. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  INetworkInput
 Flag interface for custom NetworkInput structs. More...
 
interface  INetworkObjectPool
 Interface which defines the handlers for NetworkRunner Spawn() and Despawn() actions. Passing an instance of this interface to NetworkRunner.StartGame(StartGameArgs) as the StartGameArgs.ObjectPool argument value will assign that instance as the handler for runner Spawn() and Despawn() actions. By default (if StartGameArgs.ObjectPool == null) actions will use Instantiate(), and Despawn() actions will use Destroy(). More...
 
interface  INetworkRunnerCallbacks
 Interface for NetworkRunner callbacks. Register a class/struct instance which implements this interface with NetworkRunner.AddCallbacks(INetworkRunnerCallbacks[]). More...
 
class  InterpolatedErrorCorrectionSettings
 A set of parameters that tune the interpolated correction of prediction error on transform data. More...
 
interface  IPredictedSpawnBehaviour
 Interface for predicted spawn callbacks. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. More...
 
interface  IRunnerVisibilityRecognizedType
 Flags a Unity component class as a RunnerVisibilityNodes recognized type. Will be included in NetworkRunner.IsVisible handling, and will be found by RunnerVisibilityNodes component finds. More...
 
interface  ISimulationEnter
 Interface for SimulationEnter callback. Called when the NetworkObject joins AreaOfInterest. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. Only applicable to SimulationConfig.StateReplicationModes.EventualConsistency. More...
 
interface  ISimulationExit
 Interface for the SimulationExit callback. Called when the NetworkObject leaves AreaOfInterest. Implement this interface on SimulationBehaviour and NetworkBehaviour classes. Only applicable to SimulationConfig.StateReplicationModes.EventualConsistency. More...
 
struct  LagCompensatedHit
 Defines a lag compensated query hit result. More...
 
class  LagCompensationSettings
 Settings for lag compensation history. More...
 
class  LobbyInfo
 Holds information about a Lobby More...
 
class  MultiPropertyDrawersFixAttribute
 Use in Unity 2020.3, when DecoratingPropertyAttribute-based attributes preceeed a PropertyAttribute that creates a per-attribute drawer. More...
 
class  NestedComponentUtilities
 Tools to replace GetComponent variants that respects nested objects. These are used to find components of a NetworkedObjects without also finding components that belong to parent or child NetworkedObjects. More...
 
class  NetworkAreaOfInterestBehaviour
 Base class for network behaviours which provide a position offset for area of interest. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
struct  NetworkArray
 Fusion type for networking arrays. Maximum capacity is fixed, and is set with the CapacityAttribute.

More...
 
class  NetworkBehaviour
 Base class for Fusion network components, which are associated with a NetworkObject. More...
 
struct  NetworkBehaviourCallbackReference
 Reference to an OnChange callback added to a NetworkBehaviour More...
 
class  NetworkCharacterController
 Provides custom API and state replication for collider-based character controller movement (not related to Unity's CharacterController type). Replicates both the internal state (Velocity, MaxSpeed, etc) and the Unity Transform data from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject to control movement and sync the position and/or rotation accurately, including client-side prediction. More...
 
class  NetworkConfiguration
 Main network configuration class. More...
 
struct  NetworkDictionary
 Fusion type for networking Dictionaries. Maximum capacity is fixed, and is set with the CapacityAttribute.

More...
 
class  NetworkedAttribute
 
class  NetworkEvents
 Companion component for NetworkRunner. Exposes INetworkRunnerCallbacks as UnityEvents, which can be wired up to other components in the inspector. More...
 
struct  NetworkId
 The unique identifier for a network entity. More...
 
struct  NetworkInput
 Translates INetworkInput structs and represents them in Fusions's unsafe allocated memory. More...
 
struct  NetworkLinkedList
 Fusion type for networking LinkedLists. Maximum capacity is fixed, and is set with the CapacityAttribute.

Typical Usage: More...
 
class  NetworkMecanimAnimator
 A component for synchronizing the Animator controller state from the State Authority to network proxies. Requires a Unity Animator component, and a NetworkObject component. NOTE: Animator Root Motion is not compatible with re-simulation and prediction. More...
 
class  NetworkObject
 The primary Fusion component for networked GameObject entities. This stores the object's network identity and manages the object's state and input authority. More...
 
struct  NetworkObjectHeader
 Network meta information for a NetworkObject. More...
 
class  NetworkPhysicsSimulation2D
 Fusion component for handling Physics2D.SyncTransforms() and Physics2D.Simulate(). Only used when NetworkProjectConfig.PhysicsEngines.Physics2D == true. More...
 
class  NetworkPhysicsSimulation3D
 Fusion component for handling Physics.SyncTransforms() and Physics.Simulate(). Only used when NetworkProjectConfig.PhysicsEngines.Physics3D == true. More...
 
class  NetworkPosition
 Replicates a Unity Transform's position state from the NetworkObject.StateAuthority to all other peers. Rotation is NOT networked. For that, see NetworkPositionRotation or NetworkTransform. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
class  NetworkPositionRotation
 Replicates a Unity Transform's position and rotation states from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject to sync the position and rotation. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
class  NetworkPrefabAsset
 Represents a base class for "prefab assets" - assets that point to a prefab and provide a way to load them. More...
 
class  NetworkPrefabAssetMissing
 Placeholder kept after a prefab is removed or made not spawnable. If the prefab is restored/made spawnable again, the type of this asset will change to NetworkPrefabAsset. More...
 
struct  NetworkPrefabId
 ID for a NetworkObject Prefab which has been cataloged in a NetworkProjectConfig.PrefabTable. More...
 
struct  NetworkPrefabInfo
 Meta data for a NetworkObject prefab which has been cataloged in a NetworkProjectConfig.PrefabTable. More...
 
struct  NetworkPrefabRef
 A decoupled NetworkObject prefab reference. Internally stored as a GUID. More...
 
class  NetworkProjectConfig
 The core Fusion config file that is shared with all peers at startup. More...
 
class  NetworkProjectConfigAsset
 Manages and references the current instance of NetworkProjectConfig More...
 
class  NetworkRigidbody
 Replicates a Unity Rigidbody state from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject with a Rigidbody component. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
class  NetworkRigidbody2D
 Replicates a Unity Rigidbody state from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject with a Rigidbody component. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
class  NetworkRigidbodyBase
 Base class for 2D and 3D networked rigid body behaviours: see NetworkRigidbody2D and NetworkRigidbody, respectively. This class handles some of the data and logic shared between the two versions. More...
 
class  NetworkRigidbodyObsolete
 Replicates a Unity Rigidbody state from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject with a Rigidbody component. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
class  NetworkRigidbodyObsolete2D
 Replicates a Unity Rigidbody state from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject with a Rigidbody component. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
struct  NetworkRNG
 PCG32 random generator, 16 bytes in size. http://www.pcg-random.org More...
 
class  NetworkRunner
 Represents a Server or Client Simulation. More...
 
class  NetworkRunnerCallbackArgs
 Stores data types used on the INetworkRunnerCallbacks interface More...
 
class  NetworkSimulationConfiguration
 Configuration for network conditions simulation (induced latency and loss). More...
 
class  NetworkString
 Fixed-size UTF32 string. All operations are alloc-free, except for converting to System.String. More...
 
class  NetworkStructWeavedAttribute
 Describes the total number of WORDs a Fusion.INetworkedStruct uses. More...
 
class  NetworkTransform
 Replicates a Unity Transform's position and rotation states from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject to sync the position and rotation data. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
class  NetworkTransformAnchor
 Replicates Unity parenting. To network parent changes, the new parent must either be null or have a NetworkTransformAnchor or class derived from that on the GameObject, and the GameObject being re-parented also requires a NetworkTransformAnchor based Component. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
class  NetworkTransformObsolete
 Replicates a Unity Transform state from the NetworkObject.StateAuthority to all other peers. Add this component to a GameObject to sync the position and/or rotation. A NetworkObject is required on this GameObject or a parent of this GameObject. More...
 
class  NormalizedRectAttribute
 Enables a special inspector drawer for Unity Rect type, specially designed for editing RectTransforms using normalized values. More...
 
class  OrderAfterAttribute
 
class  OrderAttribute
 Base class for OrderBefore and OrderAfter attributes. More...
 
class  OrderBeforeAttribute
 
class  OrderSorter
 This sorting class is meant to be released and garbage collected after use. More...
 
struct  PlayerRef
 Represents a Fusion player. More...
 
class  Pow2SliderAttribute
 Attribute used to mark a field that needs to change based on an exponent via a UI slider More...
 
struct  ReadAccuracy
 Float decompression value, used when reading from the fusion allocator. More...
 
struct  Rotation
 Wrapper class which unifies rotation handling of Quaternion, Euler or Z-only (used by 2D). Can store a Quaternion, Euler or Z-axis (for 2d rotation), and implicitly casts between those types. More...
 
class  RpcAttribute
 Flags a method as being a networked Remote Procedure Call. Only usable in a NetworkBehaviour. Calls to this method (from the indicated allowed RpcSources) will generate a network message, which will execute the method remotely on the indicated RpcTargets. The RPC method can include an empty RpcInfo argument, that will include meta information about the RPC on the receiving peer. More...
 
struct  RpcInvokeInfo
 May be used as an optional RpcAttribute return value. Contains meta data about the RPC send, such as failure to send reasons, culling, message size, etc. More...
 
struct  RpcSendResult
 RPC send operation result information. More...
 
class  RpcTargetAttribute
 RPC attribute used to indicate a specific target player for an RPC when sending from one player to another. RPC is sent to the server, and then is forwarded to the specified player. Usage: More...
 
class  RunnerVisibilityNode
 Identifies visible/audible components (such as renderers, canvases, lights) that should be enabled/disabled by NetworkRunner.IsVisible. Automatically added to scene objects and spawned objects during play if running in NetworkProjectConfig.PeerModes.Multiple. Additionally this component can be added manually at development time to identify specific Behaviours or Renderers you would like to restrict to one enabled copy at a time. More...
 
class  RunnerVisibilityNodes
 Automatically adds a RunnerVisibilityNode for each indicated component. These indicated components will be limited to no more than one enabled instance when running in Multi-Peer mode. More...
 
class  SessionInfo
 Holds information about the Game Session More...
 
class  Simulation
 Main simulation class More...
 
class  SimulationBehaviour
 Base class for a Fusion aware Behaviour (derived from UnityEngine.MonoBehavour). Objects derived from this object can be associated with a NetworkRunner and Simulation. If a parent NetworkObject is found, this component will also be associated with that network entity. More...
 
class  SimulationBehaviourAttribute
 Attribute for specifying which SimulationStages and SimulationModes this SimulationBehaviour will execute in. Can be used to limit execution to only Host, Server or Client peers, or to only execute on Resimulation or Forward ticks. Usage: More...
 
class  SimulationConfig
 Project configuration settings specific to how the Simulation class behaves. More...
 
struct  SimulationGlobalState
 Stores the global state of a simulation More...
 
class  SimulationSnapshot
 Represents a snapshot of the simulation state More...
 
struct  StartGameArgs
 Fusion Start Arguments, used to configure the simulation mode and other settings More...
 
class  StartGameResult
 Represents the result of starting the Fusion Simulation More...
 
class  UnitAttribute
 Unit Attribute class. Used to mark a field with the respective Fusion.Units More...
 
class  Versioning
 The Versioning class provides methods and properties related to versioning. More...
 
class  WarnIfAttribute
 Fusion 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...
 
struct  WriteAccuracy
 Float compression value, used when writing to the fusion allocator. More...
 

Enumerations

enum class  ConnectionType
 Defines the type of the current connection with the Remote Peer, either the Server or a Client More...
 
enum class  DoIfCompareOperator
 Comparison method for evaluating condition member value against compareToValues. More...
 
enum class  EditorHeaderBackColor
 Color of the component graphic header in the Unity inspector. None indicates no header graphic should be used. More...
 
enum class  EditorHeaderIcon
 Icon to be rendered on the component graphic header in the Unity inspector. More...
 
enum class  FusionGraphVisualization
 
enum class  GameMode
 Fusion Game Mode. More...
 
enum class  HitboxTypes
 Defines the collision geometry type of a Hitbox. More...
 
enum class  HitOptions
 Per-query options for lag compensation (both raycast and overlap). More...
 
enum class  HitType
 Queries can hit either fusion's custom Hitbox or Unity's standard Physx colliders. More...
 
enum class  InlineHelpButtonPlacement
 
enum class  LogType : byte
 
enum class  NetworkObjectDestroyFlags
 
enum class  NetworkObjectFlags : int
 
enum class  NetworkObjectHeaderFlags : int
 
enum class  NetworkObjectPacketFlags
 
enum class  OnChangedTargets
 Defines the target authority mask for OnChanged callbacks More...
 
enum class  PageSizes
 Page Bit Shift Lookup Table More...
 
enum class  RpcChannel
 
enum class  RpcHostMode
 Options for when the game is run in SimulationModes.Host mode and RPC is invoked by the host. More...
 
enum class  RpcLocalInvokeResult
 Results for the local RPC Invocation of the RPC method. More...
 
enum class  RpcSendCullResult
 Results for the RPC message send operation. Note: Some individual targets may be culled even if the send operation succeeds. Information about culled targets can be found in RpcInvokeInfo.SendResult. More...
 
enum class  RpcSendMessageResult
 Result flags for the RPC message send operation. More...
 
enum class  RpcSources
 
enum class  RpcTargets
 
enum class  RpcTargetStatus
 
enum class  SessionLobby
 Session Lobby Type More...
 
enum class  ShutdownReason
 Describes a list of Reason why the Fusion Runner was Shutdown More...
 
enum class  SimulationMessageInternalTypes
 
enum class  SimulationModes
 Flags for The type of network peer a simulation represents. More...
 
enum class  SimulationStages
 Flags for which stage the simulation currently running. Forward is when a tick is being simulated for the first time. Resimulate is when a tick is being simulated again with corrections. More...
 
enum class  Spaces
 
enum class  Units
 Unit Type for a certain field. This helps to identify the unit that a certain value represents, like Seconds or Percentage More...
 

Functions

delegate void ChangedDelegate< T > (Changed< T > changed)
 Delegate definition for changed callbacks. More...
 
unsafe delegate void RpcInvokeDelegate (NetworkBehaviour behaviour, SimulationMessage *message)
 
unsafe delegate void RpcStaticInvokeDelegate (NetworkRunner runner, SimulationMessage *message)
 

Enumeration Type Documentation

◆ ConnectionType

enum ConnectionType
strong

Defines the type of the current connection with the Remote Peer, either the Server or a Client

Enumerator
None 

No connection is currently active

Relayed 

Connection was accomplished using the Photon Relay Services

Direct 

Connection was accomplished directly with the remote peer

◆ DoIfCompareOperator

enum DoIfCompareOperator
strong

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.

◆ EditorHeaderBackColor

enum EditorHeaderBackColor
strong

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

◆ EditorHeaderIcon

enum EditorHeaderIcon
strong

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

◆ GameMode

enum GameMode
strong

Fusion Game Mode.

Used to select how the local simulation will act.

Enumerator
Single 

Single Player Mode: it works very similar to Host Mode, but don't accept any connections.

Shared 

Shared Mode: starts a Game Client, which will connect to a Game Server running in the Photon Cloud using the Fusion Plugin.

Server 

Server Mode: starts a Dedicated Game Server with no local player.

Host 

Host Mode: starts a Game Server and allows a local player.

Client 

Client Mode: starts a Game Client, which will connect to a peer in either Server or Host Modes.

AutoHostOrClient 

Automatically start as Host or Client. The first peer to connect to a room will be started as a Host, all others will connect as clients.

◆ HitboxTypes

enum HitboxTypes
strong

Defines the collision geometry type of a Hitbox.

Enumerator
None 

[Future Use] to represent a disabled Hitbox.

Box 

Geometry is a box, fill in Extents and (optional) Offset.

Sphere 

Geometry is a sphere, fill in Radius and (optional) Offset.

◆ HitOptions

enum HitOptions
strong

Per-query options for lag compensation (both raycast and overlap).

Enumerator
None 

Default, no extra options.

IncludePhysX 

Add this to include checks against PhysX colliders.

SubtickAccuracy 

Subtick accuracy query (exactly like seen by player).

DetailedHit 

Compute surface normal and distance of raycast hit.

IgnoreInputAuthority 

If the HitboxRoot objects which the player performing the query (if specified) has input authority over should be ignored by the query.

◆ HitType

enum HitType
strong

Queries can hit either fusion's custom Hitbox or Unity's standard Physx colliders.

Enumerator
None 

Used when a raycast does not hit anything. Not used on overlaps.

Hitbox 

LagCompensatedHit is a Fusion Hitbox.

PhysX 

LagCompensatedHit is a Unity PhysX Collider.

◆ OnChangedTargets

enum OnChangedTargets
strong

Defines the target authority mask for OnChanged callbacks

Enumerator
StateAuthority 

Receive callback if you have state authority over the object

InputAuthority 

Receive callback if you have input authority over the object

Proxies 

Receive callback if you have neither input or state authority over the object

All 

Shorthand for StateAuthority|InputAuthority|Proxies

◆ PageSizes

enum PageSizes
strong

Page Bit Shift Lookup Table

◆ RpcChannel

enum RpcChannel
strong
Enumerator
Reliable 

Rpc order preserved, delivery verified, resend in case of a failed delivery.

Unreliable 

Rpc order preserved, delivery not verified, no resend attempts.

◆ RpcHostMode

enum RpcHostMode
strong

Options for when the game is run in SimulationModes.Host mode and RPC is invoked by the host.

Enumerator
SourceIsServer 

If host invokes RPC RpcInfo.Source will be set to PlayerRef.None (default).

SourceIsHostPlayer 

If host invokes RPC RpcInfo.Source will be set to the host's local player.

◆ RpcLocalInvokeResult

enum RpcLocalInvokeResult
strong

Results for the local RPC Invocation of the RPC method.

Enumerator
Invoked 

RPC has been invoked locally.

NotInvokableLocally 

Not invoked locally because RpcAttribute.InvokeLocal is false.

NotInvokableDuringResim 

Not invoked locally because RpcAttribute.InvokeResim is false and simulation stage is SimulationStages.Resimulate

InsufficientSourceAuthority 

Not invoked because source NetworkObject current authority does not match flags set in RpcAttribute.Sources

InsufficientTargetAuthority 

Not invoked because target player is local and this NetworkObject current authority does not match flags set in RpcAttribute.Targets

TargetPlayerIsNotLocal 

Not invoked because target player is not local.

PayloadSizeExceeded 

RPC is too large. See RpcAttribute.MaxPayloadSize for the maximum allowed size.

◆ RpcSendCullResult

enum RpcSendCullResult
strong

Results for the RPC message send operation. Note: Some individual targets may be culled even if the send operation succeeds. Information about culled targets can be found in RpcInvokeInfo.SendResult.

Enumerator
NotCulled 

RPC has been sent. Check RpcInvokeInfo.SendResult for details.

NotInvokableDuringResim 

Send culled because RpcAttribute.InvokeLocal is false.

InsufficientSourceAuthority 

Send culled because source NetworkObject current authority does not match flags set in RpcAttribute.Sources

NoActiveConnections 

Send culled because there are no active connections.

TargetPlayerUnreachable 

Send culled because target player does not exist.

TargetPlayerIsLocalButRpcIsNotInvokableLocally 

Send culled because target player is local and RpcAttribute.InvokeLocal is false.

PayloadSizeExceeded 

RPC message size is too large to be sent. See RpcAttribute.MaxPayloadSize for the maximum allowed size.

◆ RpcSendMessageResult

enum RpcSendMessageResult
strong

Result flags for the RPC message send operation.

Enumerator
SentToServerForForwarding 

Client sent to the server, server will send to the target client.

SentToTargetClient 

Server sent to a specific client (a targeted message).

SentBroadcast 

Server attempted to send to all the clients and at least one succeeded.

NotSentTargetObjectNotConfirmed 

Target object not confirmed on the client.

NotSentTargetObjectNotInPlayerInterest 

Target object not in client's interest. Likely due to being outside of player's AOI region, or needs to be explicitly set as always interested.

NotSentTargetClientNotAvailable 

Target client not connected (a targeted message).

NotSentBroadcastNoActiveConnections 

Server attempted to send to all the clients, but none was connected.

NotSentBroadcastNoConfirmedNorInterestedClients 

Server attempted to send to all the clients, but the target object is not confirmed/not in Object Interest for all target clients.

◆ SessionLobby

enum SessionLobby
strong

Session Lobby Type

Enumerator
Invalid 

Invalid Session Lobby Type

ClientServer 

ClientServer Lobby

Shared 

Shared Lobby

Custom 

Custom Lobby - works in conjuction with a Lobby Name/ID

◆ ShutdownReason

enum ShutdownReason
strong

Describes a list of Reason why the Fusion Runner was Shutdown

Enumerator
Ok 

OK Reason means Fusion was Shutdown by request

Error 

Shutdown was caused by some internal error

IncompatibleConfiguration 

Raised when the peer tries to Join a Room with a mismatching type between ClientServer Mode and Shared Mode.

ServerInRoom 

Raised when the local peer started as a Server and tried to join a Room that already has a Server peer.

DisconnectedByPluginLogic 

Raised when the Peer is disconnected or kicked by a Plugin Logic.

GameClosed 

Raised when the Game the Peer is trying to Join is Closed

GameNotFound 

Raised when the Game the Peer is trying to Join does not exist

MaxCcuReached 

Raised when all CCU available for the Photon Application are in use

InvalidRegion 

Raised when the peer is trying to connect to an unavailable or non-existent Region

GameIdAlreadyExists 

Raised when a Session with the same name was already created

GameIsFull 

Raised when a peer is trying to join a Room with already the max capacity of players

InvalidAuthentication 

Raised when the Authentication Values are invalid

CustomAuthenticationFailed 

Raised when the Custom Authentication has failed for some other reason

AuthenticationTicketExpired 

Raised when the Authentication Ticket has expired

PhotonCloudTimeout 

Timeout on the Connection with the Photon Cloud

AlreadyRunning 

Raised when Fusion is already running and the StartGame is invoked again

InvalidArguments 

Raised when any of the StartGame arguments does not meet the requirements

HostMigration 

Signal this Runner is shutting down because of a Host Migration is about to happen

ConnectionTimeout 

Connection with a remote server failed by timeout

ConnectionRefused 

Connection with a remote server failed because it was refused

◆ SimulationModes

enum SimulationModes
strong

Flags for The type of network peer a simulation represents.

Enumerator
Server 

Simulation represents a server peer, with no local player.

Host 

Simulation represents a server peer, with a local player.

Client 

Simulation represents a client peer, with a local player.

◆ SimulationStages

enum SimulationStages
strong

Flags for which stage the simulation currently running. Forward is when a tick is being simulated for the first time. Resimulate is when a tick is being simulated again with corrections.

Enumerator
Forward 

Currently simulating a tick for the first time.

Resimulate 

Currently simulating a previously simulated tick again, with state corrections.

◆ Units

enum 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 
Seconds 
MilliSecs 
Kilobytes 
Megabytes 
Normalized 
Multiplier 
Percentage 
NormalizedPercentage 
Degrees 
PerSecond 
DegreesPerSecond 
Radians 
RadiansPerSecond 
TicksPerSecond 
Units 
Bytes 
Count 

Function Documentation

◆ ChangedDelegate< T >()

delegate void Fusion.ChangedDelegate< T > ( Changed< T >  changed)

Delegate definition for changed callbacks.

Type Constraints
T :NetworkBehaviour