Hi everybody,
I have a simple question:
Is there a way to know what the API Updater has updated?
My scenario is simple, I am Asset Store developer, I do scripting.
Whenever I copy my files to test on Unity 2017.1.0f3, I receive no warning or error.
But if I compile my files into a library and copy the result in Unity 2017.1.0f3, API Updater is triggered.
Assembly: ‘C:/Unity/Test/Assets/Plugins/TestLibrary.dll’ uses obsolete Unity API (UnityUpgradable)
I checked the logs but no interesting data is given.
To isolate the guilty code, I would have to remove code and retry, but my libraries are bigger than 100kB and have dependencies.
It will take a very long day or many days to narrow it down for all my libraries.
Thank you people!
Edit:
Test 1:
I tried to build, to force Unity to tell me more data, nothing happened.
Test 2:
I manually copied the DLL into the project, in this case, Unity does not trigger the API Updater.
API Updater is only triggered when I import it via a package.
Test 3:
I ran this script:
“C:\Program Files\Unity 2017.1.0f3\Editor\Data\MonoBleedingEdge\bin\mono.exe” -v “C:/Program Files/Unity 2017.1.0f3/Editor/Data/Tools/ScriptUpdater/AssemblyUpdater.exe” --timestamp 636382412760996084 --api-version 2017.1.0f3 --check-update-required -a C:/Users/mikil/Documents/Unity/TestUA/Assets/Plugins/NGTools/Editor/NGRemoteSceneEditor.dll -s “C:\Program Files\Unity 2017.1.0f3\Editor\Data\Managed,+C:/Program Files/Unity 2017.1.0f3/Editor/Data\UnityExtensions/Unity,+C:/Users/mikil/Documents/Unity/TestUA/Assets” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\Advertisements\UnityEngine.Advertisements.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\Advertisements\Editor/UnityEditor.Advertisements.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\GUISystem\UnityEngine.UI.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\GUISystem\Standalone/UnityEngine.UI.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\GUISystem\Editor/UnityEditor.UI.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\Networking\UnityEngine.Networking.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\Networking\Standalone/UnityEngine.Networking.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\Networking\Editor/UnityEditor.Networking.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\TestRunner\Editor/UnityEditor.TestRunner.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\TestRunner\UnityEngine.TestRunner.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\TestRunner\net35/unity-custom/nunit.framework.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\TestRunner\portable/nunit.framework.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\Timeline\RuntimeEditor/UnityEngine.Timeline.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\Timeline\Runtime/UnityEngine.Timeline.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\Timeline\Editor/UnityEditor.Timeline.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\TreeEditor\Editor/UnityEditor.TreeEditor.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\UnityAnalytics\UnityEngine.Analytics.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\UnityAnalytics\Editor/UnityEditor.Analytics.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\UnityHoloLens\Editor/UnityEditor.HoloLens.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\UnityHoloLens\Runtime/UnityEngine.HoloLens.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\UnityHoloLens\RuntimeEditor/UnityEngine.HoloLens.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\UnityPurchasing\UnityEngine.Purchasing.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\UnityPurchasing\Editor/UnityEditor.Purchasing.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\UnityExtensions\Unity\UnityVR\Editor/UnityEditor.VR.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\Managed\UnityEngine.dll” “C:\Program Files\Unity 2017.1.0f3\Editor\Data\Managed\UnityEditor.dll” > result.txt
pause
To simplify, it runs API Updater on NGRemoteSceneEditor.dll.
The few first lines of result.txt:
converting method void System.OutOfMemoryException:.ctor (string)
Method void System.OutOfMemoryException:.ctor (string) emitted at 00690D78 to 00690DA6 (code length 46) [AssemblyUpdater.exe] with opts peephole,branch,inline,cfold,consprop,copyprop,deadce,linears,cmov,intrins,loop,fcmov,aot,exception,gshared,simd,unsafe,float32
It is converting OutOfMemoryException’s constructor… And the remaining lines are code not from my library.
At this point, I don’t even know if I can solve this API Updater.
