Assertion failed: Transform has SetIsDispatchInterested present when destroying the hierarchy.

Is it going to fixed in the upcoming patch?
Any workaround?

I get without Vuforia on a large VR project which includes NGUI. Do not have simple repro. but as soon as stop playing the errors appear. 2017.3.0f3

Transform has SetIsDispatchInterested present when destroying the hierarchy. Systems must deregister themselves in Deactivate.
(Filename: C:\buildslave\unity\build\Runtime/Transform/Transform.cpp Line: 1658)

Transform has SetIsHierarchyDispatchInterested present when destroying the hierarchy. Systems must deregister themselves in Deactivate.
(Filename: C:\buildslave\unity\build\Runtime/Transform/Transform.cpp Line: 1659)

Obviously a change in transform.cpp is the culprit.
Assertions are generally turned off for production software so how come they are appearing in Unity 2017?

We have recently began receiving this errors. Project is also pretty big (3D, no VR, no AR) with NGUI.

For me it started to appear today and was also related to colliders being disabled. Since the script had ExecuteInEditMode enabled, Awake was called on dragging the gameobject into the hierarchy throwing the errors right away. Deleting it again throws the same errors again. The same does not apply for lets say a cube with a collider. A reduced script to just disabling the collider on Awake with ExecuteInEditMode does not throw this error.

I get the error too in all versions of 2017.3. (Currently testing in 2017.3.0p4).

To piggy back on my last comment:

  • Only in a 2017.3X builds do I get crashes.
  • Only in the 2017.3X Editor, do I get the Assertion failed: Transform has SetIsDispatchInterested present when destroying the hierarchy. Systems must deregister themselves in Deactivate. error.

Screenshots of XCode and the editor error from 2017.3.0p4.

FWIW, this crash happens even when no optimizations are enabled; they are disabled in Unity Player Settings and in XCode.

Seems like Iā€™ll have to take a pass on 2017.3 until bug is fixed. If itā€™s fixed in a patch, and I still get the crash, then itā€™s on to the next round of troubleshooting.

Thanks,
Elliott

Not sure if this helps you, but I fixed it by making sure I stopped my Coroutines before deactivating/destroying things.

https://manuelotheo.com/assertion-failed-transform-has-setisdispatchinterested-present-when-destroying-the-hierarchy/

1 Like

OMFG! YES! Stopping all coroutines fixed my editor errors; not sure a about build crashes yet. Thanks!
P.S. It took hours to chase all these 3rd party coroutines down.

1 Like

The StopAllCoroutines didnā€™t work for me :frowning:

There was something in there about

transform.Find(ā€œsomeobjectā€).gameObject.SetActive(false);

FWIW, I still get crash bugs in 2017.3x on iOS builds. I canā€™t figure it out for the life of me. My gut tells me itā€™s related to this.

Iā€™m deploying for iOS too, reading the message clearer I think you might want to check for:
Scene changes or really anything (Like it was your previous case with exiting the editor) that causes the whole hierarchy to go down, and make sure you are not trying to access it via an after-event (Like with the coroutines).

1 Like

It doesnā€™t happen in 2017.2, but yes, Iā€™m going through and checking all the coroutines. There may be a stray coroutine in a 3rd party asset or something? I may give up on this for a while and just work in 2017.2x; I have a lot of work to do over the next month and donā€™t have time to keep troubleshooting this issue. After GDC and PAX East, Iā€™ll try again if I fail to fix this by tomorrow.

Thanks!

I found and fixed everything in Visual Studio by finding all references to the colllider.enabled field to see everywhere it was being set. Then I replaced every assignment with this function which tracked it down. This made it easy to check and stop disabling inactive colliders, and now Iā€™ve got no more errors!

    // instead of this
    collider.enabled = false;

    // use this
    Helpers.EnableCollider(collider, false);

internal static class Helpers
{
        internal static void EnableCollider(Collider collider, bool enable)
        {
            if (!collider)
                return;

            // Unity bug: https://discussions.unity.com/t/683137
            if (!collider.gameObject.activeInHierarchy && !enable && collider.enabled)
                Debug.LogWarning("Disabling inactive collider: " + GetHierarchyPath(collider.transform), collider);
            collider.enabled = enable;
        }

        internal static string GetHierarchyPath(Transform transform)
        {
            if (!transform)
                return string.Empty;

            string path = transform.name;
            while (transform.parent != null)
            {
                transform = transform.parent;
                path = transform.name + "/" + path;
            }
            return path;
        }
}

Oh, this looks promising! Iā€™ll check it out. thanks!

Hey everyone, sorry this issue is still present. We pushed a bugfix in 2017.3.0p2, but it looks like it didnā€™t resolve every edge case. Iā€™ve messaged the developer who made to change to help track down the remaining issue.

1 Like

Thanks! I either resolved my issue via code or the Unity 2017.3.1p1 update :stuck_out_tongue:

Hi, we caught another instance of this occurring and this is now fixed in 2017.3.1p3 which has just been released. If anyone is able to verify it fixes their issue that would be very helpful and of course if you are still getting the error then report back here and we can take another look but I really think we got it this time :wink:

1 Like

Have the same issue. How do I get the 2017.3.1p3 version? in Unity it says I have the newest version (2017.3.0f3)

Patch releases are here Download Archive. The editor will not currently recommend you to upgrade to a patch release. More info about patch releases here Unity Blog and here https://blogs.unity3d.com/2017/05/15/happy-patch-day/ but please keep the thread on topic and only reply concerning this issue - even better let us know that(if) the patch fixes your problem.

Cheers.

Thanks a lot! Completely resolved the issue for me :slight_smile: