For performance reasons, you’d be better off creating as many instances of the child object you need in a Start() routine, cache them somewhere in your world (or on your player) and then just enable and disable them as you need them. (i.e., myChild.active = true/false)
Especially on iPhone hardware you’ll see a noticeable performance increase over numerous Instantiate and Destroy calls [not to mention avoiding stuttering when the Garbage Collector does it’s thing]