Table of Contents

Class Script

A class stored as a resource.

Inheritance
Script
Derived

Remarks

A class stored as a resource. A script extends the functionality of all objects that instantiate it.

This is the base class for all scripts and should not be used directly. Trying to create a new script with this class will result in an error.

The new method of a script subclass creates a new instance. Object.set_script extends an existing object, if that object's class matches one of the script's base classes.

See Also

Properties

source_code

The script source code or an empty string if source code is not available. When set, does not reload the class implementation automatically.

var source_code : String

Property Value

String

Remarks

Methods

can_instantiate

Qualifiers: const

Returns true if the script can be instantiated.

bool can_instantiate

get_base_script

Qualifiers: const

Returns the script directly inherited by this script.

Script get_base_script

get_global_name

Qualifiers: const

Returns the class name associated with the script, if there is one. Returns an empty string otherwise.

To give the script a global name, you can use the class_name keyword in GDScript and the [GlobalClass] attribute in C#.

class_name MyNode
extends Node

StringName get_global_name

get_instance_base_type

Qualifiers: const

Returns the script's base type.

StringName get_instance_base_type

get_property_default_value(StringName)

Returns the default value of the specified property.

Variant get_property_default_value(StringName property)

Parameters

property StringName

get_rpc_config

Qualifiers: const

Returns a Dictionary mapping method names to their RPC configuration defined by this script.

Variant get_rpc_config

get_script_constant_map

Returns a dictionary containing constant names and their values.

Dictionary get_script_constant_map

get_script_method_list

Returns the list of methods in this Script.

Dictionary[] get_script_method_list

get_script_property_list

Returns the list of properties in this Script.

Dictionary[] get_script_property_list

get_script_signal_list

Returns the list of user signals defined in this Script.

Dictionary[] get_script_signal_list

has_script_signal(StringName)

Qualifiers: const

Returns true if the script, or a base class, defines a signal with the given name.

bool has_script_signal(StringName signal_name)

Parameters

signal_name StringName

has_source_code

Qualifiers: const

Returns true if the script contains non-empty source code.

Note: If a script does not have source code, this does not mean that it is invalid or unusable. For example, a GDScript that was exported with binary tokenization has no source code, but still behaves as expected and could be instantiated. This can be checked with can_instantiate.

bool has_source_code

instance_has(Object)

Qualifiers: const

Returns true if base_object is an instance of this script.

bool instance_has(Object base_object)

Parameters

base_object Object

is_abstract

Qualifiers: const

Returns true if the script is an abstract script. An abstract script does not have a constructor and cannot be instantiated.

bool is_abstract

is_tool

Qualifiers: const

Returns true if the script is a tool script. A tool script can run in the editor.

bool is_tool

reload(bool)

Reloads the script's class implementation. Returns an error code.

int reload(bool keep_state)

Parameters

keep_state bool