public static void QueryComponents(JEGameObject jgo) { // for every registered conversion get that component foreach (KeyValuePair <Type, Type> pair in conversions) { Component[] components = jgo.unityGameObject.GetComponents(pair.Key); foreach (Component component in components) { MeshRenderer meshRenderer = component as MeshRenderer; if (meshRenderer != null && !meshRenderer.enabled) { continue; } var jcomponent = Activator.CreateInstance(pair.Value) as JEComponent; if (jcomponent == null) { ExportError.FatalError("Export component creation failed"); } jcomponent.unityComponent = component; jcomponent.jeGameObject = jgo; jgo.AddComponent(jcomponent); } } }