Top > ComputerGraphics > Unity > Tips > About IsActive m_RunInEditMode Error
Last-modified: Wed, 03 Apr 2013 19:20:30 JST
Counter:2633 Today:1 Yesterday:1 Online:5
このエントリーをはてなブックマークに追加

"!IsActive () && !m_RunInEditMode"エラーについて

生じる問題

Unityエディタを起動している段階で次のようなエラーが発生していることがあります。

!IsActive () && !m_RunInEditMode

このエラーが通知されていれる状態で、ゲーム(プログラム)自体は実行できる場合と、そうでない場合とがあります。またいずれの場合もビルドはできないようです。調査した限りでは、原因の特定が困難なエラーであるようなので、調査した中から可能性が高そうないくつかのエラー原因をまとめておきます。

問題の原因(解決の可能性

可能性1 : DLLの多重インポート

私の場合はこれが原因で先のエラーを引き起こしていました。VisualStudioなどを利用してプラグイン(DLL)を開発する場合に、UnityEngine(.dll)などを参照先として開発を進めていました。DLLの出力先をAssetフォルダにして、参照するDLLも同時に出力する(標準的な)設定にしてあったため、Unity側が既に参照しているUnityEngine.dllなどを、プロジェクトにあらためてインポートする形になっていたのです。

UnityEditorは、名前空間や同一名DLLのバージョンの重複、といった不具合を通知するのではなく、先のような形でエラーとして通知されるため、発覚が遅れました。

可能性2 : OnGuiメソッドがセーフでない

これを原因とするエラーを引き起こしたことがないので問題の解決は確認はしていません。OnGuiメソッド内に実装される処理の一部が不具合をきたすことで先のエラーを引き起こしている可能性があります。 

可能性3 : その他・参照の不具合

参照の不具合やバージョン間の差異によって不具合を起こすことがあるそうです。プラグインやリソースのアップデートにあたって、先のDLLの多重インポートと同じような理由で不具合を起こすことも考えられそうです。しかしこうなるとお手上げ状態ですね。