Manual: Signal

A “Signal” is a mechanism in Godot used for communication between objects, and Action Game Maker supports this feature.

For more details about signals, please refer to the Godot Engine Documentation.

Thanks to this signal functionality, it is possible to send and receive signals between:

  • Visual Scripts
  • Visual Scripts and GDScript

What You Can Do with Signals

Case: Connecting Visual Script and GDScript

By using signals, GDScript can emit a signal, which then triggers an action in a visual script — and vice versa. This allows for combined usage of visual scripts and GDScript.

For example, when a button with an attached GDScript is clicked, a visual script can execute a certain action such as transitioning to State A.

Case: Connecting Visual Scripts Together

While visual scripts can actively change properties or perform specific actions, signals enable passive changes — making interactions more flexible and reactive.


How to Connect Signals to a Visual Script

To send and receive signals, nodes must be connected via their signals. When connecting a signal to a visual script, additional setup is required:

  1. Create a signal in the source object. In a visual script, this can be done using the “Emit Signal” action.
  2. Place both the source object and the target visual script object in the same scene.
  3. Select the source object and open the Inspector panel. Switch to the Node tab to see the signal you just created.
  4. Select the signal you want to send, then either right-click or click the Connect button at the bottom of the window to open the signal connection dialog.(Screenshot: connection window)
    image
  5. In the connection window, select the target object and click the Pick button.(Screenshot: receiver selection)
  6. When the receiver selection screen appears, choose receive_signal(signal_name:...) and click OK.(Screenshot: method selection)
  7. If the receiver is correctly set to receive_signal, press Connect to complete the setup.(Screenshot: successful connection)
  8. If it looks like the screenshot below, the connection was successful.(Screenshot: final state)
    image