Just for posterity, in case anyone else happens upon this thread, I found a way to make the contents truly dynamic, in that you can duplicate this expression and it will continue to work-
prop = thisProperty; //Current Property (obviously)
ind = prop.propertyGroup(2); //Gets the container of the property (adjust to hierarchy)
prop.propertyGroup(3)(ind.propertyIndex + 1).transform.opacity.valueAtTime(time – .5)
//Goes all the way up in the hierarchy, then back down to one group below the current one and extracts whatever value you need, offset in time
Thanks for pointing me in the right direction Dan! I’ll be back before long 😉