I suspect you should use the lifecycle events here (OnAddedComponent), rather than scanning all entities with BehaviourComponents each frame?