Search Issue Tracker

Fixed in 2017.1.X



Found in


Issue ID




Error when creating a RectTransform component in an Awake call of an instantiated MonoBehaviour



When using an Awake call in an instantiated prefab during play mode, to instantiate another gameObject and attach a RectTransform, the program throws an error saying that it can't add RectTransform because a Transform is already attached.

Steps to reproduce:
1.Open attached project.
2.Run play mode.

The issue appears only in the Awake() calls of the instantiated prefabs. Even when using the suggested "var go = new GameObject("Canvas", typeof(RectTransform));" workaround proves to be ineffective.

Expected outcome: When the prefabs are created, their awake scripts create gameObjects with rectTransforms attached.
Actual outcome: The original Awake() call functions normally, but the second awake() calls made in the instantiated objects are thrown.

Reproduces on v. 5.5.2p4, 5.6.0f2, 2017,1,0a4

Doesn't reproduce on v. 5.5.1p4

Similar issue reported here. Probably caused by the same thing.

Comments (4)

  1. martaaay

    Apr 16, 2017 20:26

    I see this in my iOS build (but not the editor) even with the workaround. Using unity 5.5.3f1. Please reopen this bug as the known workarounds may not be sufficient.

  2. SugoiDev

    Apr 10, 2017 02:24

    Reproduces in 5.5.3p1.

    For the time being, a workaround would be to create a template prefab with a RectTransform and instantiate it instead of constructing a GameObject.

  3. DMinsky

    Mar 31, 2017 17:01

    Reproduces on v. 5.5.3f1.

  4. HarryCodder

    Mar 28, 2017 12:28

    Doesn't reproduce on v. 5.5.2f1.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.