An object representing a method in a certain object that can be called. [Callable] is a first class object which can be held in variables and passed to functions. It represents a given method in an [Object], and is typically used for signal callbacks. [b]Example:[/b] [codeblocks] [gdscript] var callable = Callable(self, "print_args") func print_args(arg1, arg2, arg3 = ""): prints(arg1, arg2, arg3) func test(): callable.call("hello", "world") # Prints "hello world". callable.call(Vector2.UP, 42, callable) # Prints "(0, -1) 42 Node(Node.gd)::print_args". callable.call("invalid") # Invalid call, should have at least 2 arguments. [/gdscript] [csharp] Callable callable = new Callable(this, "print_args"); public void PrintArgs(object arg1, object arg2, object arg3 = "") { GD.PrintS(arg1, arg2, arg3); } public void Test() { callable.Call("hello", "world"); // Prints "hello world". callable.Call(Vector2.Up, 42, callable); // Prints "(0, -1) 42 Node(Node.gd)::print_args". callable.Call("invalid"); // Invalid call, should have at least 2 arguments. } [/csharp] [/codeblocks] Constructs a null [Callable] with no object nor method bound. Constructs a [Callable] as a copy of the given [Callable]. Creates a new [Callable] for the method called [code]method[/code] in the specified [code]object[/code]. Calls the method represented by this [Callable]. Arguments can be passed and should match the method's signature. Calls the method represented by this [Callable] in deferred mode, i.e. during the idle frame. Arguments can be passed and should match the method's signature. Returns the name of the method represented by this [Callable]. Returns the object on which this [Callable] is called. Returns the ID of this [Callable]'s object (see [method Object.get_instance_id]).