Search Issue Tracker
Won't Fix
Votes
0
Found in
5.6.0f3
Issue ID
908821
Regression
No
[API Updater] Obsolete code located under #else in "#if UNITY_EDITOR" preprocessor directive region does not get updated
Steps to reproduce:
1. Open the attached project
2. API updater should pop up. Do the API update.
3. Try building Scene "scene.unity" to any platform
4. Observe the error
Expected results: obsolete script gets fixed by Unity API updater on build.
Actual results: obsolete script located in "#else" bracket of "#if UNITY_EDITOR" preprocessor directive does not get updated, thus compile error is thrown.
Reproduced on: 5.4.5p1, 5.5.3p2, 5.6.1f1, 2017.1.0b4
------------------------------------------------------------------------------------
There are 2 different issues here:
1) APIUpdater taking Editor parameters for compilation (symbols, references, etc) regardless of which target is selected
2) Some members exist only in the Editor version of UnityEngine.dll causing updates to be skipped when the updater run during a player build.
We've fixed issue 1, meaning, that most code guarded by "#if !UNITY_EDITOR" as well code in the "else" branch of an "#if UNITY_EDITOR" will now be processed by the APIUpdater
Fixing 2 is not possible since it would require us to reintroduce these members which has a high potential of causing name clashes to a high number of developers; after considering the pros/cons of doing that we decided to not fix it. We apologize for the inconvenience.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on UndoManager::RegisterUndoInternal when applying added GameObjects to a Prefab
- [Asset Bundles] A new bundle hash is not generated when the name of a serialized field is changed
- Icon section shows incomplete message and unusable check box in Build Profiles and Player Settings window instead of “Not applicable for this platform” for Dedicated Server Platform
- Assets are created in the Package folders when creating assets via custom buttons in the Inspector window or other windows
- “Select” windows are named differently on Windows and macOS
Add comment