In some design patterns, it might make sense to have a machine-level scope for variables.
These variables would be shared across graphs in the same machine (e.g. super units, super states, etc.), but not across machines on the same game object.
Machine variables would therefore be "wider" in scope than graph variables, but "narrower" than object variables.
My current stance on this idea is that despite its apparent usefulness,
- Most (all?) designs can be rethought to avoid the need for machine variables
- Adding a new scope would add to the already complex scope system
- It requires significant implementation and documentation time
Example use cases:
Customer support service by UserEcho