To add to that Reflection suggestion, if you are using private serialized variables, like me, you may want something more like this...
foreach (FieldInfo info in comp.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.NonPublic))
if(info.IsPublic || info.GetCustomAttributes(typeof(SerializeField),true).Length != 0);
info.SetValue(newComponent, info.GetValue(comp));
↧