- Home /
Why does a prefab instance not collide, when prefab collisions work fine?
I have a prefab that I have tested by dragging a copy of it into my scene, so I am working directly with the object, and not with an empty object I instantiate using a prefab. I have this object move around an environment that contains walls, collide with the walls, and actually make the collision as opposed to passing through the walls. Great!
Once I had this prefab all nice and working, I removed the direct copy from my scene and placed in an empty GameObject, to which I attached a script that instantiates my tested and proven prefab. I let it loose (collision script still attached to the prefab, collision and rigid body settings all the same), and... I get a ghost passing through walls. I matched the empty object's collider and rigid body components to those of my prefab. No good. I paused my program in debug mode and noticed the instance's collider sitting in its original spot, presumably because the empty object doesn't actually DO anything, rather it creates a clone of the prefab, and the clone is what does things. But since the clone has the same collider and rigid body specifications as the working prefab, and has the collision script attached to it, why does the clone behave as a ghost? I suppose I could use direct copies, but my impression is that using instantiations is good practice and is supposed to help with maintaining changes to an object/character across levels/scenes.
Your answer
Follow this Question
Related Questions
How to stop rotation of prefabs? 0 Answers
Finding Collider of Prefab 1 Answer
Trigger doesn't work 100% of the time. 1 Answer
Ignore Collision Between Model and Player 2 Answers
child collider2D problems after parenting to moving platform. 1 Answer