Table of Contents

Class InstancePlaceholder

Namespace
Godot
Assembly
GodotSharp.dll

Turning on the option Load As Placeholder for an instantiated scene in the editor causes it to be replaced by an InstancePlaceholder when running the game, this will not replace the node in the editor. This makes it possible to delay actually loading the scene until calling CreateInstance(bool, PackedScene). This is useful to avoid loading large scenes all at once by loading parts of it selectively.

The InstancePlaceholder does not have a transform. This causes any child nodes to be positioned relatively to the Viewport from point (0,0), rather than their parent as displayed in the editor. Replacing the placeholder with a scene with a transform will transform children relatively to their parent again.

public class InstancePlaceholder : Node, IDisposable
Inheritance
InstancePlaceholder
Implements
Inherited Members

Methods

CreateInstance(bool, PackedScene)

Call this method to actually load in the node. The created node will be placed as a sibling above the InstancePlaceholder in the scene tree. The Node's reference is also returned for convenience.

Note: CreateInstance(bool, PackedScene) is not thread-safe. Use CallDeferred(StringName, params Variant[]) if calling from a thread.

public Node CreateInstance(bool replace = false, PackedScene customScene = null)

Parameters

replace bool
customScene PackedScene

Returns

Node

GetInstancePath()

Gets the path to the PackedScene resource file that is loaded by default when calling CreateInstance(bool, PackedScene). Not thread-safe. Use CallDeferred(StringName, params Variant[]) if calling from a thread.

public string GetInstancePath()

Returns

string

GetStoredValues(bool)

Returns the list of properties that will be applied to the node when CreateInstance(bool, PackedScene) is called.

If withOrder is true, a key named .order (note the leading period) is added to the dictionary. This .order key is an Array of string property names specifying the order in which properties will be applied (with index 0 being the first).

public Dictionary GetStoredValues(bool withOrder = false)

Parameters

withOrder bool

Returns

Dictionary

HasGodotClassMethod(in godot_string_name)

Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method.

protected override bool HasGodotClassMethod(in godot_string_name method)

Parameters

method godot_string_name

Name of the method to check for.

Returns

bool

HasGodotClassSignal(in godot_string_name)

Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method.

protected override bool HasGodotClassSignal(in godot_string_name signal)

Parameters

signal godot_string_name

Name of the signal to check for.

Returns

bool

InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant)

Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method.

protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)

Parameters

method godot_string_name

Name of the method to invoke.

args NativeVariantPtrArgs

Arguments to use with the invoked method.

ret godot_variant

Value returned by the invoked method.

Returns

bool