Skip to content

Commit 54a52d9

Browse files
committed
Switching to Destroy() from DestroyImmediate()
1 parent 3e9f980 commit 54a52d9

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Assets/MRTK/SDK/Features/UX/Scripts/BoundsControl/Visuals/PerAxisHandles.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,20 @@ private void UpdateColliderType()
7575
// remove old colliders
7676
bool shouldCreateNewCollider = false;
7777
var oldBoxCollider = handle.GetComponent<BoxCollider>();
78+
79+
// Caution, Destroy() will destroy one frame later.
80+
// Do not check later for presence this frame!
7881
if (oldBoxCollider != null && config.HandlePrefabColliderType == HandlePrefabCollider.Sphere)
7982
{
8083
shouldCreateNewCollider = true;
81-
Object.DestroyImmediate(oldBoxCollider);
84+
Object.Destroy(oldBoxCollider);
8285
}
8386

8487
var oldSphereCollider = handle.GetComponent<SphereCollider>();
8588
if (oldSphereCollider != null && config.HandlePrefabColliderType == HandlePrefabCollider.Box)
8689
{
8790
shouldCreateNewCollider = true;
88-
Object.DestroyImmediate(oldSphereCollider);
91+
Object.Destroy(oldSphereCollider);
8992
}
9093

9194
if (shouldCreateNewCollider)
@@ -211,7 +214,10 @@ protected override void RecreateVisuals()
211214
{
212215
// get old child and remove it
213216
obsoleteChild.parent = null;
214-
Object.DestroyImmediate(obsoleteChild.gameObject);
217+
218+
// Caution, Destroy() will destroy one frame later.
219+
// Do not check later for presence this frame!
220+
Object.Destroy(obsoleteChild.gameObject);
215221
}
216222
else
217223
{
@@ -263,7 +269,10 @@ private Bounds CreateVisual(int handleIndex, GameObject parent)
263269
// so we can manually add our own properly configured collider later.
264270
var collider = handleVisual.GetComponent<SphereCollider>();
265271
collider.enabled = false;
266-
Object.DestroyImmediate(collider);
272+
273+
// Caution, Destroy() will destroy one frame later.
274+
// Do not check later for presence this frame!
275+
Object.Destroy(collider);
267276
}
268277

269278
// handleVisualBounds are returned in handleVisual-local space.

0 commit comments

Comments
 (0)