Using signals
Signals are a powerful communication tool that allows your actors to coordinate actors' actions and share information within a scene. Unlike the direct interaction blocks like "Destroy all actors", signals are named messages exchanged across a Stage. Any actor can broadcast a message that others can listen for and respond to.
There are several important rules to keep in mind when working with signals:
- Case sensitivity matters: Signal names must match exactly —
Open gateandopen gateare two different signals. - Signals are limited to the current scene: Only actors present on the current scene can receive signals. If you need to exchange information between Stages, consider using variables instead.
- If no Actors receive the signal, nothing will happen: There're no restrictions on which actors can participate in the signaling system, and "no actors" is valid, too, and it won't throw an error. This can be useful, but most of the time you should be sure that the message you send finds its recipient.
Common Use Cases for Signals
Signals can solve several types of coordination tasks in your games and be useful as a tool for making your scenarios clean and compact:
- You can order several Actors to do something synchronously or after specific gameplay events, even when they are different Actors. This allows you to create complex interactions where activating one event affects many other Actors.
- You can break complex interactions into several scripts, which is especially useful when several outcomes from different parts of the scenario all come to 1-2 groups of same blocks, like in vast branching dialogues with few plot outcomes. Less spaghetti with clearly separated results!
- You can also separate logic that is common to several Actors into one event in another hidden Actor, which is known as "Controller" approach.
Signals by themselves don't carry over any additional data, but they combine greatly with variables.
Example: Chain Reactions and a Simple Cutscene
You can create chain reactions by having one signal trigger another — this is especially useful for making small animated cutscenes. In the following example, three events belong to three different Actors.

Tips for Using Signals Effectively
- Use consistent naming conventions: For example, use verbs like "open", "close", "activate" to make your signals short and understandable.
- Document your signals: Keep track of which signals are used, and for what they are used, in some text document.
- Test thoroughly: Since signals create indirect, loose connections between actors, be sure to test all possible interactions on how players interact with them in an actual game.
By mastering signals, you can create more dynamic and responsive game worlds where elements interact in complex ways without writing complicated scenarios for each actor.