The Variable Synchronizer keeps a shared variable aligned with another Behavior
Designer variable, a C# property, an Animator parameter, or a supported visual
scripting variable.

Configure a synchronization

  1. Create the source shared variable.
  2. Add Behavior Designer > Variable Synchronizer to a GameObject.
  3. Choose the Behavior Tree and variable, or mark it as global.
  4. Set the direction: either update the shared variable from the target or
    update the target from the shared variable.
  5. Choose the synchronization type and its destination.
  6. Add the entry and select an Update Interval.
Type Target
Behavior Designer Another local or global shared variable.
Property A compatible C# property on a component.
Animator A Bool, Float, or Integer Animator parameter.
PlayMaker A compatible PlayMaker variable when the integration is installed.
uFrame A compatible uFrame variable when the integration is installed.

Property synchronization requires a property with the accessor needed by the
chosen direction. A field is not sufficient.

Choose an update interval

  • Every Frame is appropriate for continuously changing values that must stay
    visually synchronized.
  • Specify Seconds reduces work when delayed updates are acceptable.
  • Manual performs no automatic updates; call Tick() at a deliberate point
    in your own update loop.

Avoid synchronizing the same value in both directions through separate entries;
that creates unclear ownership and order-dependent results.

Verify the direction

Enter Play Mode, change the authoritative value, and observe the destination.
If the source changes instead, reverse the direction. If neither changes, check
that the value types match, the named property has the required getter or
setter, and the selected update interval is running.