The following lists the criteria for choosing what kind of reference to use:
- If your plug-in owns a scene entity (i.e. their life-time is linked, the plug-in cannot function without it and the other
scene entity should be destroyed when the plug-in itself is destroyed), make a direct strong reference to it.
- If your plug-in merely depends on the other scene entity, but their life-times are not related, make a direct weak reference
to that scene entity (e.g. look-at controller's target node).
- If your plug-in needs to depend on a scene entity that already depends on the plug-in, make an indirect reference to it.