- Home /
BoxCollider2D failling verification when Instantiate (Fixed, Cause: big derp)
I want to instantiate a prefab with a RigidBody2D, a BoxCollider2D and some behaviour scripts. When I instantiate the GameObject it just falls ignoring all the collisions (Ground, walls, etc.), in the BoxCollider2D component there is a warning saying:
The collider did not create any collision shapes as they all failed verification. This could be because they were deemed too small or the vertices were too close. Vertices can also become close under certain rotations or very small scaling.
None of the cases mentioned on the warning is true, the size of the box is (x:1, y:1) and the offset is (x:0, y:-0.1), the rotation is (x:0, y:0, z:0) and the scale is (x:1, y:1, z:1) and the object is on top of the hierarchy (It doesn't have any parent with weird rotation/scale).
When I instance the prefab "by hand" it doesn't complain and generates all the collisions and also if I go frame by frame (pausing play mode and using the next frame button) it generates all the collisions without complains too.
I was using Unity 5.6.0f3 and updated to Unity 2018.1.6f1 in case this was an old bug but stills .
I tried to put as much information as I have about this, just ask if I missed something important.
Answer by JoseluGames · Jun 29, 2018 at 03:49 PM
Finally fixed!! The scale of the object a the moment of the instantiation was (x:0, y:1, z:1) and I didn't noticed because it was from Start to the first FixedUpdate and then it was back to (x:1, y:1, z:1). That was because the X of the scale was set to a global variable that was not initialized so it started as 0 and then it was initialized on the next FixedUpdate, but the scale was set on Update so it was applied before the initialization of the scale variable (Bad design, I know). But after it driving me crazy for days it's finally done!