Search Issue Tracker
Fixed in 2021.1.X
Fixed in 2020.3.X
Votes
1
Found in
2020.1.0a7
2020.2
2020.2.0b2
Issue ID
1279339
Regression
Yes
Unity doesn't recognise the script as Monobehaviour script when there's a grave accent in an #if false block inside a namespace
How to reproduce:
1. Open the attached "ScriptBreakingUnity" project
2. In the Project window select the "breakit" script
3. Open the Inspector (Window->General->Inspector)
Expected results: There's no "No MonoBehaviour scripts in the file, or their names do not match the file name." message
Actual results: There's a "No MonoBehaviour scripts in the file, or their names do not match the file name." message
Reproducible with: 2020.1.0a7, 2020.1.6f1, 2020.2.0b3
Not reproducible with: 2018.4.27f1, 2019.4.11f1, 2020.1.0a6
Notes:
- 2020.1.0a7 is the first version where the issue appears when creating a new project (not upgrading/downgrading)
- Upgrading a project with the script up to Unity 2020.1.0a14 will not reproduce the issue if it wasn't there initially
- When downgrading a project that has the issue to Unity 2020.1.0a2 or later will keep the issue around but resetting packages sometimes fixes it
- If the #if block with the grave accent is not inside a namespace Unity will not throw any errors and will recognise the script as MonoBehaviour
- If the #if block is set to true, the Console will throw the "Unexpected character" error and the Editor will accept the script as MonoBehaviour script
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Input Field ignores first keyboard input when calling Focus() from code
- GC Alloc when using Graphics.RenderMeshInstanced
- [VFX Graph][URP] VFX crashes on URP when dragging VFX asset to the Hierarchy window
- InvalidOperationException when using AsyncGPUReadback.RequestIntoNativeArray
- Generated Entities look different when Depth Priming Mode is changed
Resolution Note (fix version 2021.1):
Fixed in 2021.1.0a2
Resolution Note (fix version 2020.3):
Fixed in Unity 2020.3.27f1