Caveats when it comes to inheritance?


we're doing projects with nested inheritance, e.g. Runnable project > Inheritable project B > Inheritable project A.

Is there any caveats to be aware of, performance-wise, engineering-wise or other problems, when it comes to such nesting?

Are there other problems related to inheritance?

Certain kinds of resources, like gateway and Vision Client events, are stored as one big blob, and overridden as a group instead of individually. I strongly suggest you not define any such events in the inheritable projects, particularly the gateway events. (Gateway events don't make sense if run simultaneously in multiple leaf projects.)

Finally, note that editing and saving an inheritable project will cause all of its children to restart their scripts. This can disrupt any state you are holding in project library scripts, and will cause all tag change events (in projects) to re-run with initialChange set to True.

1 Like