Fusion.Unity
Types that fusion.runtime isn't aware of, which need to be found using names instead.
Find all component types that contribute to a scene rendering, and associate them with a component,
and add them to the runner's list of visibility nodes.
Reapplies a runner's IsVisibile setting to all of its registered visibility nodes.
Dictionary lookup for manually added visibility nodes (which indicates only one instance should be visible at a time),
which returns a list of nodes for a given LocalIdentifierInFile.
Gets the unique identifier of the network object.
The network object identifier.
The side to attach the statistics panel anchor.
Flags controlling which Mecanim data will be synced.
Gets a value indicating whether the statistics panel is active.
Sets the custom configuration for Fusion Statistics.
The list of custom configurations for Fusion Statistics.
Sets the anchor position of the Fusion Statistics canvas.
The anchor position of the canvas (TopLeft or TopRight).
Called from a custom editor script.
Will update any editor information into the fusion statistics.
Sets up the statistics panel for Fusion statistic tracking.
Sets the world anchor for Fusion Statistics. Set null to return to screen space overlay.
The FusionStatsWorldAnchor component that defines the anchor object. Null to return to screen space overlay.
The scale of the statistics panel.
Destroys the statistics panel.
List of all simulation stats able to render on a graph.
Incoming packets.
Outgoing packets.
Round Trip Time.
In Bandwidth in Bytes.
Out Bandwidth in Bytes.
Amount of re-simulation ticks executed.
Amount of forward ticks executed.
Average measured time between two input/state packets (from same client) received by the server.
Time sync abruptly reset count.
Average measured time between two state packets (from server) received by the client.
Average buffering for prediction.
How much the simulation is currently sped up / slowed down.
Average buffering for interpolation.
How much interpolation is currently sped up / slowed down.
Input in bandwidth.
Input out bandwidth.
Average size for received packet.
Average size for sent packet.
Amount of object updates received.
Amount of object updates sent.
Memory in use for the object allocator.
Memory in use for the general allocator.
Memory free for the object allocator.
Memory free for the general allocator.
Amount of written words. How many networked changes are being sent.
Size of all last written words in Bytes.
Amount of read words. How many networked changes are being received.
Size of all last read words in Bytes.
Component which automatically faces this GameObject toward the supplied Camera. If Camera == null, will face towards Camera.main.
Force a particular camera to billboard this object toward. Leave null to use Camera.main.
Automatically adds a for each indicated component.
These indicated components will be limited to no more than one enabled instance when running in Multi-Peer mode.
If more than one runner instance is visible, this indicates which peer's clone of this entity should be visible.
Collection of components that will be marked for Multi-Peer mode as objects that should only have one enabled instance.
Prefix for the GUIDs of components which are added at runtime.
At runtime startup, this adds a for each component reference to this GameObject.
Finds visual/audio components on this GameObject, and adds them to the Components collection.
Finds visual/audio nested components on this GameObject and its children, and adds them to the Components collection.
If true, all messages will be prefixed with [Fusion] tag
If true, some parts of messages will be enclosed with <color> tags.
If true, each log message that has a source parameter will be prefixed with a hash code of the source object.
Color of the global prefix (see ).
Min Random Color
Max Random Color
Server Color
When running in Multi-Peer mode, this component automatically will register the associated
with ,
and will automatically attach loaded scene objects and spawned objects with the peers visibility handling.
Add this Component to the NetworkRunner Prefab or GameObject. If Interest Management is enabled in NetworkProjectConfig ReplicationFeatures,
gizmos will be shown that indicate active Area Of Interest cells. These gizmos are currently NOT applicable to Shared Mode and will only
render for the Server/Host peer.
Flag component which indicates a NetworkObject has already been factored into a Runner's VisibilityNode list.
The current status of MPPM. If the package is not enabled, this will always be .
MPPM is not installed.
This instance is the main instance. Can use to send commands.
This instance is a virtual instance. Will receive commands from the main instance.
Support for Multiplayer Play Mode (MPPM). It uses named pipes
to communicate between the main Unity instance and virtual instances.
The current status of MPPM.
If is , this static field can be used to send commands.
Sends a command to all virtual instances. Use as:
FusionMppm.MainEditor?.Send
The base class for all Fusion MPPM commands.
Execute the command on a virtual instance.
Does the main instance need to wait for an ack?
If the command is persistent (i.e. needs to be executed on each domain reload), this key is used to store it.
Companion component for . Automatically added as needed for rendering in-game networking IMGUI.
When enabled, the in-game user interface buttons can be activated with the keys H (Host), S (Server) and C (Client).
The GUISkin to use as the base for the scalable in-game UI.
Finds all components of type in the scene.
Finds all components of type in the scene.
Finds all components of type in the scene.
Finds the first instance of type in the scene. Returns null if no instance found.
If enabled and there is an already loaded scene that matches what the scene manager has intended to load,
that scene will be used instead and load will be avoided.
Should all scene load errors be logged into the console? If disabled, errors can still be retrieved via the
or .
All the scenes loaded by all the managers. Used when is enabled.
In multiple peer mode, each runner maintains its own scene where all the newly loaded scenes
are moved to. This is to make sure physics are properly sandboxed.
List of running coroutines. Only one is actually executed at a time.
For remote clients, this manager first unloads old scenes then loads the new ones. It might happen that all
the current scenes need to be unloaded and in such case a temp scene needs to be created to ensure at least one
scene loaded at all times.
Scene used when Multiple Peer mode is used. Each loaded scene is merged into this one, allowing
for multiple runners to have separate cross-scene physics.
Root for DontDestroyOnLoad objects. Instantiated on .
A label by which addressable scenes can be discovered.
Creates a task that resolves addressable scene paths. By default, this method locates all the addressable scenes with
label. Override this method to provide a custom implementation. For example, user
might want to have a pre-defined set of addressable scenes to avoid the wait:
protected override GetAddressableScenesResult GetAddressableScenes() {
return Task.FromResult(new string[] {
"Assets/Scenes/AddressableScene1.unity",
"Assets/Scenes/AddressableScene2.unity",
});
}
A task representing resolve operation and optionally a delegate to be invoked before the task is going to be
awaited synchronously
Returns the timeout for addressable scene paths to be resolved. By default, this method returns 10 seconds.
A Fusion prototyping class for starting up basic networking. Add this component to your startup scene, and supply a .
Can be set to automatically startup the network, display an in-game menu, or allow simplified start calls like .
Selection for how will behave at startup.
The current stage of connection or shutdown.
Supply a Prefab or a scene object which has the component on it,
as well as any runner dependent components which implement ,
such as or your own custom INetworkInput implementations.
Select how network startup will be triggered. Automatically, by in-game menu selection, or exclusively by script.
When is set to , this option selects if the
will be started as a dedicated server, or as a host (which is a server with a local player).
will not render GUI elements while == .
The number of client instances that will be created if running in Mulit-Peer Mode.
When using the Select start mode, this number will be the default value for the additional clients option box.
How long to wait after starting a peer before starting the next one.
The port that server/host will use.
The default room name to use when connecting to photon cloud.
The Scene that will be loaded after network shutdown completes (all peers have disconnected).
If this field is null or invalid, will be set to the current scene when runs Awake().
Indicates which step of the startup process is currently in.
Requires Multiplayer Play Mode (MPPM) to be installed. If enabled, will automatically join the virtual instance.
How much to wait before the main instance lets the virtual instances connect.
Indicates which step of the startup process is currently in.
The index number used for the last created peer.
The server mode that was used for initial startup. Used to inform UI which client modes should be available.
Start a single player instance.
Start a server instance.
Start a host instance. This is a server instance, with a local player.
Start a client instance.
Start a Fusion server instance, and the number of client instances indicated by .
InstanceMode must be set to Multi-Peer mode, as this requires multiple instances.
Start a Fusion host instance, and the number of client instances indicated by .
InstanceMode must be set to Multi-Peer mode, as this requires multiple instances.
Start a Fusion server instance, and the indicated number of client instances.
InstanceMode must be set to Multi-Peer mode, as this requires multiple instances.
Start a Fusion host instance (server with local player), and the indicated number of additional client instances.
InstanceMode must be set to Multi-Peer mode, as this requires multiple instances.
Start a Fusion host instance (server with local player), and the indicated number of additional client instances.
InstanceMode must be set to Multi-Peer mode, as this requires multiple instances.
Start as Room on the Photon cloud, and connects as one or more clients.
Only show the GUI if the StartMode is set to UserInterface and not being run in a Virtual Instance (MPPM).
In-Game IMGUI style used for the interface.
Get the custom scalable skin, already resized to the current screen. Provides the height, width, padding and margin used.
Modifies a skin to make it scale with screen height.
Returns (height, width, padding, top-margin, left-box-margin) values applied to the GuiSkin
If enabled, the provider will delay acquiring a prefab instance if the scene manager is busy.
Flags a MonoBehaviour class as a RunnerVisibilityControl recognized type.
Will be included in runner visibility handling, and will be found by component finds.
Identifies visible/audible components (such as renderers, canvases, lights) that should be enabled/disabled by runner visibility handling.
Automatically added to scene objects and spawned objects during play if running in .
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.
The peer runner that will be used if more than one runner is visible, and this node was manually added by developer (indicating only one instance should be visible at a time).
The first visible runner will be used.
The server peer/runner will be used if visible.
The first client peer/runner will be used if visible.
The components will only be enabled on the instance that has input authority over the NetworkObject. Unlike the other options, this expects a NetworkObject to work and it will search its children and parents for it.
If more than one runner instance is visible, this indicates which peer's clone of this entity should be visible.
The associated component with this node. This Behaviour or Renderer will be enabled/disabled when its NetworkRunner.IsVisible value is changed.
Guid is used for common objects (user flagged components that should only run in one instance), to identify matching clones.
Set to false to indicate that this object should remain disabled even when is set to true.
Sets the visibility state of this node.