// todo: move methods below to separate class
        private ChildScript CreateChildObject(Child child, GameObject parent)
        {
            Shape shape = PartLoader.GetShape(child);

            GameObject GameObject = shape.Instantiate(parent.transform);

            ChildScript childScript = GameObject.AddComponent <ChildScript>();

            childScript.shape = shape;

            childScript.Controller = child.Controller;
            childScript.SetColor(child.Color);

            if (!GameController.Instance.potatoMode)
            {
                shape.ApplyTextures(GameObject);
            }

            if (shape is Block && child.Bounds != null)
            {
                childScript.SetBlueprintBounds(child.Bounds);
            }

            childScript.SetBlueprintPosition(child.Pos);
            childScript.SetBlueprintRotation(child.Xaxis, child.Zaxis);


            return(childScript);
        }