Message
Fire one void call and move on, with nothing to wait for and nothing to interpret.
On this page
Some calls have nothing to say back. Light the lamp, play the sound, raise the alarm. A message sends one void call and the graph carries on.
The problem
Section titled “The problem”A method binding asks you what the return value means. For void Shine() that question has no answer, and a node that keeps asking it hands you a Result card of tests that can never run.
BeaconWarmUp.bqbehavior ends with light the lamp, a message bound to Beacon.Shine(). The node says what it does and nothing else, which is the point.
When to reach for it
Section titled “When to reach for it”- A one-shot command your component performs immediately: play a sound, spawn a hit effect, set a flag through a method.
- A notification to another system that does not report back.
- A call with arguments but no answer, like the Platformer gallery’s
request slam, bound toPlayers.Slam(float power)with the parameter left on its declared default.
Use method when a return value, waiting, or result mapping matters.
See it
Section titled “See it”

-
Add message from the picker, under ACTIONS, described as “send a message; fire and forget”.
-
Finish Target.
-
Use Member > Change and pick the void method. A method with a return type is refused here, with the picker saying that message operations need a void-returning method.
-
Fill any Arguments rows the declaration exposes. Optional parameters can stay on Default, and
params,ref, andoutrows appear when the signature has them.
How it decides
Section titled “How it decides”Result
- Success
- The call was made and the node reported what Reports names, which is succeeded unless you changed it.
- Failure
- The call threw, or the target could not be resolved, which is reported as a fault rather than an authored failure.
- Running
- Nothing waits here. The void call settles inside the evaluation that made it.
- The member has to be an exact public void method. Validation rejects anything else.
- There is no completion to wait for and no value to store or test. What you can author is the result the node reports: Always plus Reports, which is succeeded out of the box. A void method that also writes
outorrefvalues states that contract on the card instead. - Arguments behave exactly as they do for a method, including
refreads,outdestinations, andparamsrows. See arguments and results. - A thrown call reports a fault with the graph, node, and member recorded, and commits no outputs.
- On the entity path a message is only available against a static declaring type, because an entity component has no instance call site. Entity bindings has the detail.
When it goes wrong
Section titled “When it goes wrong”When it goes wrong
| Symptom | Check | Fix |
|---|---|---|
| The method you want is missing from the picker. | Confirm it returns void. | Use a method node for a returning member, or add a void wrapper if the command really is fire and forget. |
| The effect happens too early. | Look at the sibling order: a message finishes immediately, so the next node runs on the same update. | Put the message after the node whose completion it depends on, such as an event condition. |
| The call happens more than once. | Look for a Repeat above it, or a parent that re-enters the branch. | Gate the branch, or move the message where re-entry is the behavior you want. |
| A NullReferenceException lands inside your method. | The fault trace names the graph, the node, and the member. | Fix the component state the method assumes, since the graph reports the fault instead of hiding it. |
| You wanted to know whether the command worked. | A message has no answer by design. | Bind a method returning bool and map When true and When false. |
- Method: the same call, with an answer.
- Your first binding: the Beacon graph this page borrows from.
- Message reference: the field list.