A script implemented in the Visual Script programming environment. A script implemented in the Visual Script programming environment. The script exends the functionality of all objects that instance it. [method Object.set_script] extends an existing object, if that object's class matches one of the script's base classes. You are most likely to use this class via the Visual Script editor or when writing plugins for it. Add a custom signal with the specified name to the VisualScript. Add a function with the specified name to the VisualScript. Add a node to a function of the VisualScript. Add a variable to the VisualScript, optionally giving it a default value or marking it as exported. Add an argument to a custom signal added with [method add_custom_signal]. Get the count of a custom signal's arguments. Get the name of a custom signal's argument. Get the type of a custom signal's argument. Remove a specific custom signal's argument. Rename a custom signal's argument. Change the type of a custom signal's argument. Swap two of the arguments of a custom signal. Connect two data ports. The value of [code]from_node[/code]'s [code]from_port[/code] would be fed into [code]to_node[/code]'s [code]to_port[/code]. Disconnect two data ports previously connected with [method data_connect]. Returns the id of a function's entry point node. Returns the position of the center of the screen for a given function. Returns a node given its id and its function. Returns a node's position in pixels. Returns the default (initial) value of a variable. Returns whether a variable is exported. Returns the info for a given variable as a dictionary. The information includes its name, type, hint and usage. Returns whether a signal exists with the specified name. Returns whether the specified data ports are connected. Returns whether a function exists with the specified name. Returns whether a node exists with the given id. Returns whether the specified sequence ports are connected. Returns whether a variable exists with the specified name. Remove a custom signal with the given name. Remove a specific function and its nodes from the script. Remove a specific node. Remove a variable with the given name. Change the name of a custom signal. Change the name of a function. Change the name of a variable. Connect two sequence ports. The execution will flow from of [code]from_node[/code]'s [code]from_output[/code] into [code]to_node[/code]. Unlike [method data_connect], there isn't a [code]to_port[/code], since the target node can have only one sequence port. Disconnect two sequence ports previously connected with [method sequence_connect]. Position the center of the screen for a function. Set the base type of the script. Position a node on the screen. Change the default (initial) value of a variable. Change whether a variable is exported. Set a variable's info, using the same format as [method get_variable_info]. Emitted when the ports of a node are changed.