Memory Nodes
Memory nodes are used to save a value into a memory. The memory's value can then be used in the future, for example to repeat back in a Character node, or to use in a gate condition.
For more details on the types of memories, see memories and gates.
Setting Word and Sentence memories should be done in a Memory node immediately after a Player node. For Word memories, it should be after a Player node that has a matching tag:
For Sentence memories, the Memory node can be after any Player or Wildcard node.
For the other types of memory, Decision, Counter and True/false, the values can all be set directly on the Memory node, and can be placed anywhere.
Advanced mode
By toggling on 'advanced mode', you can save a literal value into the memory. For example, specifying Hello world would literally save Hello world into the memory.
The literal value can have a tag in it to reference either a category value in a player sentence or another memory. It's possible to drill down into category values and memories by using path like syntax.
For example, if <Person.0> is used, this would mean the 0-th (first) entry in the Person category array.
Or if <weather_api_response.temperature.fahrenheit> was used, this would look up the property temperature inside the weather_api_response object, then look up the fahrenheit property inside the resulting temperature object.
If the player's sentence has more than one value for a category in it, this can be a useful way for storing the distinct values in two different memories: