Search Issue Tracker

Fixed in 2020.1.X

Votes

0

Found in

2020.1.0a7

Issue ID

1189349

Regression

Yes

Script is not recognized as a MonoBehaviour if it contains string concatenations in a lambda inside #if UNITY_EDITOR block

Scripting

-

How to reproduce:
1. Open the user's attached project
2. In the Project window, reimport the "MonoBehaviourThatBreaksTheParser" script

Results: The script shows a "No MonoBehaviour scripts in the file" error

Reproducible with: 2020.1.0a7, 2020.1.0a8
Not reproducible with: 2017.4.32f1, 2018.4.11f1, 2019.2.8f1, 2019.3.0b5, 2020.1.0a6

Note: The error is caused by the following line inside a #if UNITY_EDITOR block:
Utils.HelperMethod(() => $"{Utils.SomeMethodThatReturnsString()}");

Comments (1)

  1. Skunkworks-Eetu

    Jan 25, 2022 14:54

    I am still able to reproduce with a following snippet:

    using UnityEngine;

    namespace MyNamespace {
    public class Test : MonoBehaviour {
    #if ANY_CONDITION
    private void Execute() {
    var str = $"{new[] { "0" }[0]}";
    }
    #endif
    }
    }

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.