Search Issue Tracker

Fixed in 2021.2.X

Fixed in 2020.3.X, 2021.1.X

Votes

0

Found in

2020.2.0a20

2020.2.2f1

2021.1

2021.2

Issue ID

1310970

Regression

Yes

Player crashes on UnityMain when a nested class with the Serializable attribute inherits from the class which is nesting it.

Serialization

-

How to reproduce:
1. Open the attached project ('case-1310970.zip')
2. Go to File -> Build Settings and press the Build button
3. Run the Player

Reproducible with: 2020.2.0a20, 2020.2.6f1, 2021.1.0b7, 2021.2.0a5
Not reproducible with: 2018.4.32f1, 2019.4.20f1, 2020.2.0a19

Notes:
- this error might be thrown during build: 'Stack overflow. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)'
- In this project, the crash only occurs when some Script has either a reference to a GameObject that has a TMP Component or the GameObject is active in the Scene. TMP package version seems to not have any effect on this (reproducible with TMP 3.0.0-preview.1 and 2020.2.0a20 but not 2020.2.0a19)
-The issue is caused by the usage of a nested type deriving from parent type:
public class MyAwesomeBehaviour : MonoBehaviour
{
class Location
{
[System.Serializable]
class Area : Location
{
}
}
}

A workaround is to unnest Area.

  1. Resolution Note (fix version 2021.2):

    Fixed in 2021.2.0a8

  2. Resolution Note (fix version 2021.1):

    Fixed in 2021.1.9f1

  3. Resolution Note (fix version 2020.3):

    Fixed in 2020.3.10f1

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.