Search Issue Tracker

By Design

Votes

0

Found in

2018.3.0a1

2018.3.0b1

Issue ID

1080341

Regression

Yes

API updater replaces NavMeshBuilder with UnityEditor.AI.NavMeshBuilder without checking if the namespace is correct

AI Navigation

-

Repro steps:
1. Open attached project
2. Modify the manifest.json file in the Project Folder -> Packages to have no dependencies
3. Agree to update the API
4. Notice various errors in the Console
5. Open UpdateNavMeshAsyncTests.cs and observe line 48

Expected: Unity checks that the namespace is correct and doesn't update were unnecessary
Actual: NavMeshBuilder is changed to UnityEditor.AI.NavMeshBuilder

Reproducible with: 2018.3.0b2, 2019.1.0a1
Not reproducible with: 2018.2.8f1

  1. Resolution Note:

    The problem only happens because UnityEngine.AIModule.dll isn't included in the compilation of the project.
    This causes the following sequence of steps to take place:

    1. Compiler emits type not found errors
    2. Updater code detects those errors and try to check whether it is something related to it.
    3. Since those types exists in both *UnityEngine.AIModule.dll* and in *UnityEditor.dll* and the former is missing from the list of referenced assemblies and the later does have a configuration to move *UnityEditor.Type -> UnityEditor.AI.Type* the updater runs

    The real problem is the missing reference during compilation.

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.