OnChanged_ function binding is a function definition pattern whıch can be called when a specific variable or array index is changed on RealityHub. The OnChanged_FunctionName (with underscore) pattern triggers any node-base mechanism when the property has changed on run-time. You can also bind OnChanged_ function binding for arrays returns the index of changed property on Reality API. The changed index on the Reality API executes the blueprint function with the changed index number.

Rules of using OnChanged_ Function Definition

  1. The variable and function you want to expose must be declared as Public. (instance editable).

  2. The function created on the event-graph must follow this format: OnChanged_AnyVariableName (The underscore character after OnChanged is required).

  3. After OnChanged_, the function name must be the same as the variable name.

  4. The developer must take care of Case Sensitive for functions.

  5. If you bind your array for the OnChanged_ pattern, only one integer parameter must be aware of the changed index.

Functions and variables must be "Public," and function names are Case Sensitive.

Implementation of OnChanged_ Function Binding For Variables

  • Create a new Actor class object. Click ADD NEW on Components tab. Add ZD ACTOR.

  • Create a new variable named MyVariable with the variable type of Integer. Make it public(instance editable).

  • Create a new function. Change name of the function as OnChanged_MyVariable

The function name must follow this pattern OnChanged_VariableName

  • On the graph, switch the MyVariable and print string regarding values. After complete, the graph, click on the COMPILE and then the SAVE.

  • Put your actor to the level.

  • Launch Reality Setup

  • Click Play from the top menu on Reality Editor.

  • Click on the actor that you created on Reality Setup.

  • Change the MyVariable to the 1 and 2, and 0. Check results.

  • A debug message will be displayed on the Output Log Window in Reality Editor. Click on the Window > Developer Tools > Output Log

Using OnChanged_ Function Binding For Arrays

You can bind a blueprint function executed when the array variable has changed on Reality Setup. You can get a specified index that changed. The function name must follow this pattern OnChanged_ArrayName (underscore is required.) 

Steps

  • Create a new Actor class object. Click ADD NEW  On Components tab. Add ZD ACTOR

  • Create a new array variable. 

  • Create a new function and name it as OnChanged_ArrayOfFloats

  • Click the function that you created. Add Integer parameter named as Index.

The function works only if it takes one parameter as a type of Integer.

  • Connect the nodes as shown below.

  • Put your actor to the level.

  • Launch Reality Setup

  • Click Play from the top menu on Reality Editor.

  • Click on the actor node that you created and add items onto the array and change of values.

  • Check output log, and the Reality Editor executes the function with the specified index.

Related Tutorial

Activating Fire During Runtime