void Awake() { renderers = new List <RendererPair>(); Transform dParent = new GameObject(name + " (Dynamic)").transform; dParent.SetParent(transform.parent); foreach (MeshRenderer sRenderer in gameObject.GetComponents <MeshRenderer>(-1, true)) { Transform sObject = sRenderer.transform; Transform dObject = new GameObject(sRenderer.name + " (Dynamic)").transform; dObject.CloneValues(sObject, dParent); MeshFilter sFilter = sRenderer.GetComponent <MeshFilter>(); dObject.gameObject.AddComponent <MeshFilter>().mesh = sFilter.sharedMesh; MeshRenderer dRenderer = dObject.gameObject.AddComponent <MeshRenderer>(); dRenderer.materials = sRenderer.materials; dRenderer.CopyLightMapSettings(sRenderer); renderers.Add(new RendererPair { s = sRenderer, d = dRenderer, }); } }