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