protected void DeserializeComponent <Component>(GameObject gameObject, SerializableObject <Component> serializableObject) { Component component = gameObject.GetComponentInChildren <Component>(); if (component != null) { serializableObject.Deserialize(component); } else { Debug.LogError("DeserializeComponent failed: " + typeof(Component)); } }