I don’t think reflection will do you much good here - you will probably have to drop into script/code.
Interchanging information with RAIN and other Unity scripts can be done from either side - RAIN can attempt to grab information from Unity scripts, or Unity scripts can push information into RAIN.
For your example, let’s assume you have a player health script that is a standard Unity Monobehaviour (a regular script that attaches to a game object). Let’s also assume that the script is attached to the root of the player object, and that the AI Rig is parented somewhere below that. A typical RAIN setup might be:
Player Object (health script attached directly)
-> AI Object (parented to Player Object) (AIRig attached directly)
From within your health script, you could send information into RAIN like this:
using RAIN.Core;
AIRig tRig = gameObject.GetComponentInChildren<AIRig>();
if (tRig != null)
tRig.AI.WorkingMemory.SetItem<float>("currentHealth", health);
where “health” is the health value in your script.