From what I'm understanding, you are suggesting changing all of my pick ups to scriptable objects, right? if that is the case, i'd really like to find another solution. Not because your solution is wrong, in fact it may be a better idea to do it that way next time. But at this point I have so much completed already that this seems like it would be a huge undertaking to modify my code to make it work, all because of a coroutine issue. Instead, i'd like to try to find around this issue, or an alternative way to accomplish the same thing. Essentially, my problem is this: When my ball hits my paddle, I need to spawn 6 additional balls. As the original ball bounces away from the paddle, the other balls will spawn in front of the paddle and follow the original. If I just let them all spawn without the coroutine, they will basically spawn on top of each other and go in all kinds of different directions. However, if I make it wait each time before spawning, then the other ball will be already far enough out that they won't collide. Can anyone think of any other solution to my problem that does not include using the coroutine, since that seems to be the weak link here? I'm wondering if maybe there is a way I can put a collider around the paddle and say spawn next ball when no other balls are present inside the collider? I'm just not sure how easy it is to check for things already inside a collider? Thanks for any input.