Inheritance #

MultiplayerSpawner

Table of contents

MultiplayerSpawner #

is_instantiable, Node, core, not_builtin_classes

Automatically replicates spawnable nodes from the authority to other multiplayer peers.

Spawnable scenes can be configured in the editor or through code (see add_spawnable_scene).

Also supports custom node spawns through spawn, calling spawn_function on all peers.

Internally, MultiplayerSpawner uses MultiplayerAPI.object_configuration_add to notify spawns passing the spawned node as the object and itself as the configuration, and MultiplayerAPI.object_configuration_remove to notify despawns in a similar way.

Members #

var spawn_function: Callable#

Method called on all peers when a custom spawn is requested by the authority. Will receive the data parameter, and should return a Node that is not in the scene tree.

Note: The returned node should not be added to the scene with Node.add_child. This is done automatically.

var spawn_limit: int = 0#

Maximum number of nodes allowed to be spawned by this spawner. Includes both spawnable scenes and custom spawns.

When set to 0 (the default), there is no limit.

var spawn_path: NodePath = NodePath("")#

Path to the spawn root. Spawnable scenes that are added as direct children are replicated to other peers.

Methods #

func add_spawnable_scene(path: String) -> void#

Adds a scene path to spawnable scenes, making it automatically replicated from the multiplayer authority to other peers when added as children of the node pointed by spawn_path.

func clear_spawnable_scenes() -> void#

Clears all spawnable scenes. Does not despawn existing instances on remote peers.

const func get_spawnable_scene(index: int) -> String#

Returns the spawnable scene path by index.

const func get_spawnable_scene_count() -> int#

Returns the count of spawnable scene paths.

func spawn(data: Variant = null) -> Node#

Requests a custom spawn, with data passed to spawn_function on all peers. Returns the locally spawned node instance already inside the scene tree, and added as a child of the node pointed by spawn_path.

Note: Spawnable scenes are spawned automatically. spawn is only needed for custom spawns.

Annotations #

Constants #

Constructors #

Enums #

Operators #

Signals #

signal despawned(node: Node)#

Emitted when a spawnable scene or custom spawn was despawned by the multiplayer authority. Only called on remote peers.

signal spawned(node: Node)#

Emitted when a spawnable scene or custom spawn was spawned by the multiplayer authority. Only called on remote peers.

Theme Items #

Tutorials #