Search Issue Tracker
Fixed in 5.6.0
Votes
0
Found in
5.5.0b7
Issue ID
838681
Regression
Yes
Script updater updating incorrectly when an object is named like a class and the class becomes static
To reproduce:
1. Open attached project in 5.4
2. Notice that line 107 of the script RPGController.cs creates an object of type NavMeshAgent called NavMeshAgent
3. Notice that lines 629 and 630 refer to this object like this:
if (NavMeshAgent.remainingDistance <= NavMeshAgent.radius + 0.1F ||
(!NavMeshAgent.pathPending && NavMeshAgent.remainingDistance <= NavMeshAgent.stoppingDistance &&
(!NavMeshAgent.hasPath || NavMeshAgent.velocity.sqrMagnitude == 0f)))
4. Open the attached project in 5.5, and let the script updater do its work
5. Notice that lines 629 and 630 get changed to this:
if (NavMeshAgent.remainingDistance <= NavMeshAgent.radius + 0.1F ||
(!NavMeshAgent.pathPending && NavMeshAgent.remainingDistance <= NavMeshAgent.stoppingDistance &&
(!NavMeshAgent.hasPath || UnityEngine.AI.NavMeshAgent.velocity.sqrMagnitude == 0f)))
The important part here is that NavMeshAgent.velocity.sqrMagnitude (an object) gets changed to UnityEngine.AI.NavMeshAgent.velocity.sqrMagnitude (a static class), producing incorrect results and compilation errors.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- The sidebar reopens when Unity Hub is started when Unity Hub was closed with the sidebar closed
- Characters are invisible in the TextField when certain Japanese characters are used
- "InvalidOperationException" is thrown when using Prefab > Replace to replace a Canvas GameObject with a Prefab that has an incompatible root Transform type
- Looping AudioSource resumes from the wrong playback position when the app is backgrounded and resumed on iOS Safari
- "AnyState Transition Created" action can be undone when pressing "Auto Generate Animation" on the uGUI GameObjects
Add comment