BazCallNodeMethodAction
Calls any method on any scene node, including nodes that aren’t GameObjects, with up to 8 typed arguments. Think of it as the missing half of Invoke Script, that action can call a method by name but it can never pass arguments.
This is the sibling of Baz Node Property Change Action. That one sets what a node is, this one calls what a node does.
To help support my work, consider becoming a patron. ![]()
DOWNLOAD:
BazCallNodeMethodAction.gd (68.1 KB)
Requirements
AGMaker 1.3.0+
Installation
- Download
BazCallNodeMethodAction.gd(attached below). - Drop it into your project’s
custom_actions/folder. If that folder doesn’t exist yet, create it at the project root. - That’s it. It’ll show up in the Add Action dialog under the Object / オブジェクト group. Nothing to enable.
What it does
Gives you a “call this method on that node” action there’s no real built in for, arguments included, which is the part nothing native can do.
- Calls any method with typed arguments. Up to 8 arguments, each typed Int / Float / Bool / Text / Path / Select / Vector2 / Color / Node.
- Arguments come from anywhere. Each argument independently picks its source. A Constant, a Project Variable, a Switch, a Database cell, another node’s Property, or a Node itself.
- Four ways to target. Pick a specific node from a scene, find the first node by name, hit every member of a group, or call the object the script is running on (or one of its own children).
- A method list that’s actually useful. The Method Name dropdown only shows commands you’d actually call on the selected node’s class, behaviors like
play,move_and_slide,queue_free, not hundreds of getters and property setters. Free typing can still call anything. - Auto filled arguments. Picking a method from the list sizes the argument list to match and stamps each argument’s type from the method’s own signature, you just fill in the values.
- Sees inside placed objects. Pick From Scene follows instanced sub scenes, so you can target a placed object’s own AnimationPlayer or Sprite2D directly.
- Self contained and shareable. One file, no autoload, no Project Settings, nothing extra to manage.
How to use
Add it to a state, pick how to find the node, then pick the method. The argument fields build themselves.
- Targeting how to find the node(s).
Pick From Scene= choose a scene and one of its nodes (only runs while that scene is active).By Node Name= the first node with that name in the live scene (*and?wildcards work, e.g.Torch*).In Group= every member of a group in the live scene.This Object= the object this visual script runs on, or a relative child of it (e.g. its ownAnimationPlayer), works in whatever scene the object appears in. - Node Type (By Node Name / In Group) optional class used only to fill the method list. Pick
Browse All Classes…at the top to choose from the editor’s full class tree, or leaveAnyand type the method yourself. - Method Source
Pick From Listreflects the class’s methods into a dropdown.Type It Myselfis a plain text field, the only way to call a GDScript method you wrote yourself. - Method Name the method to call. Picking from the list auto sizes and auto types the arguments below.
- Argument Count how many arguments to pass (0 to 8). Each argument gets a Type, a Source, and a value field.
- Debug Enabled prints skips (no target, missing method) and successful calls to Output.
Example, playing an animation on your own object: Targeting = This Object → child path AnimationPlayer → Method Name = play → 1 argument, Type Text, Source Constant, value walk. That’s the call Invoke Script could never make.
Example, opening a door by group: Targeting = In Group → group doors → Method Name = open (Type It Myself, since it’s your own script method) → every door in the scene opens at once.
Tips
- Reach script methods with Type It Myself. The dropdown lists a class’s built in methods, methods you wrote in your own GDScript won’t show up there, switch Method Source to
Type It Myselfand type the name. - Prefer
queue_freeoverfree. The list only suggestsqueue_free, deleting a node instantly mid script is a crash risk, the queued version is the safe spelling of the same thing. - Changing a property? Use the sibling. If the “method” you want is really
set_something(value), Baz Node Property Change Action is the cleaner tool, that’s why plain property setters are kept out of this dropdown. - Shrinking Argument Count never loses values. Lower it and raise it again, the earlier entries come back.
