クリアメモリ

プログラミングやモーショングラフィックス、便利なアプリケーションなど雑多に記録するブログ

Unity5.2.1にアップデート後ビルドできない|Error building Player: Exception: /Applications/Unity/Unity.app/Contents/Frameworks/Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe did not run properly!

f:id:clrmemory:20170422152903p:plain 

先日、iOS9がリリースされたことに伴ってUnityもアップデートしなければならないという状況に陥りました。

止むを得ずUnityをアップデートし、その後ビルドしようとしたのですが、よく分からないエラーが発生しました。

 

Error building Player: Exception: /Applications/Unity/Unity.app/Contents/Frameworks/Tools/ UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe did not run properly!

今回は、このエラーの解決方法を発見したので紹介します。

 

はじめに

今回Unityをアップデートしなければならなかった理由とは、iOS9ではUnityのフォントが対応していないという理由からでした。

このような特殊な理由でなければ、アプリ作成中にUnityのアップデートはしないのですが、おそるおそるアップデートしました。

 

ではさっそくエラーの回避方法に入ります。

 

発生したエラー

 

Error building Player: Exception: /Applications/Unity/Unity.app/Contents/Frameworks/Tools/ UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe did not run properly!

このようなエラーは初めて見たので対策の方法がわかりませんでした。

調べてみても、新しいエラーなのか情報がなかったので苦労しました。

試した方法

 

いろいろといじっていると、「scripting backend」の部分をmono 2xに変更したら一応ビルドすることができました。

ですが、Mono2xにすると、64bitに対応できないので根本的な解決にはなっていませんのでだめでした。

解決方法

ここで発見したのですが、Unity5.0ではあったはずの「stripping level」が見当たりませんでした。

 

 

そこで一度前のバージョンに戻ってみようと思いました。

 

Unityのバージョンを戻す方法はこちら

 

https://clrmemory.com/unity/return-version/

 

 

 

その後古い方のバージョンを再度インストールすると、上の画像のように「Stripping Level」が表示されていると思います。

 

私のUnityは「Stripping Level」の設定を「use micro mscorlib」というものにしていたのですが、この部分をデフォルトの「Disabled」に戻してみました。

そして、再度Unityをアップデートしてから、ビルドしてみると無事にエラーを吐くことなく成功しました。

 

ビルドエラーが発生しなくなった後は「use micro mscorlib」に設定し直しても大丈夫なようです。

 

 

2015/10/13追記:

 

本日Unityを確認したのですが、Stripping Levelがまた消えてしまいました。

 

use micro mscorlibに戻したからかもしれません。

 

まとめ

 

今回のエラーは対処できたのですが、エラーに対してあまり詳しくない私にとっては、なぜこの方法でエラーを回避できたのかがよくわかっていません…

ですので、このエラーが「use micro mscorlib」を設定していた人のみ発生するエラーなのか、他の設定でも発生するのかすら分からないという状態です。

 

 

今回のような状態になってしまったという人はぜひお試しください。

 

今回行った作業は、すべて自己責任でお願いします。

 

ではまた。