The goal the the new interaction system was to move away from the pure animator-based system. The problem was that you could only generate one button on objects. The goal of the new system is to be able to get a menu going on a object-by-object basis, instead of having to re-define the options every Animator state. I'll still have to find a way to make these object's menu change based on inventor and such.
Example of showing variables using an enum.
The cool thing about this is that I was able to do some custom editor stuff to make the set-up a lot more organised, like using an enum to show required variables.
I used the code found here, and adapted it to use the classes I already wrote for the button generation. That way I had very little modification to do to the button generation and animation script. The variables in the 'scr_Interaction_Option' component then gets interpreted and linked to the correct functions, such as setting an animator parameter, giving information, or moving a character somewhere.