Update

Tweaks and using LINQ experssions.

Gotta test this.
UnityEngineResources.FindObjectsOfTypeAll returns live objects AND the class they are instanced from.  But you don't want the class, you only want the instances.  The class, being uninitialized, will throw an exception when you try to access properties.  You need to use UnityEngine.Object.FindObjectsOfType in the live game.  UnityEngine.Resources is a namespace with classes for use in the Unity Editor only.