ヽ|∵|ゝ(Fantom) の 開発blog? ホーム » Unity »【Unity】【C#】モバイルビルド中の警告:Game scripts or other custom code contains OnMouse_ event handlers.~ を消す

【Unity】【C#】モバイルビルド中の警告:Game scripts or other custom code contains OnMouse_ event handlers.~ を消す  


 Unity5.6 で obsolute になったものも多いけど、エラーや警告もやたら出るようになったね。しかしファイル名や行番号はおろか、ある一定のビルドでしか出ない警告は非常に直しずらい。とりあえず英文を翻訳にかけて、色々試してみたら警告が消えたので記録しておく。


(※) Unity 5.6.0f3 / Windows10(x64) で確認

●コンソールログの警告
Game scripts or other custom code contains OnMouse_ event handlers. Presence of such handlers might impact performance on handheld devices.
(※) Android ビルド中に出た

●Google翻訳
ゲームスクリプトやその他のカスタムコードには、OnMouse_イベントハンドラが含まれています。 このようなハンドラが存在すると、ハンドヘルドデバイスの性能に影響を与える可能性があります。

●対処法
1.MonoBehaviour を継承した OnMouseDown() などを使っているスクリプトを探す(Visual Studio の場合「Edit>Find and Replace>Find in Files」[Ctrl+Shift+F] で探すとラク)。

2.モバイル時のビルドで除外するようにスクリプトを修正する → 例えば以下の例のようにプリプロセッサで囲んでしまうとか(または OnMouseXXX() 以外の方法にする等)。

●モバイルビルド時に OnMouseXXX() を無効にする例(プリプロセッサで囲む)
public class Sample : MonoBehaviour {
#if !UNITY_ANDROID && !UNITY_IOS
void OnMouseDown()
{
//(なんらかのコード)
}
#endif
}

 ちなみに実際に使用してなくてもプロジェクトにあるだけでも警告が出るようなので注意。私の場合アセットストアからダウンロードしたものの中にこれが含まれていたため、警告が出ていた(使用はしてない)。

 どうやら MonoBehaviour を継承した OnMouseXXX() [XXX は Down/Up/Drag など] はモバイルなどでは負荷が高いようだね。 また、このイベントハンドラはドキュメントを読むと「GUIElement」または「Collider」でクリックが取得できるとなっていて、「uGUI」では無論使えなかった。もしかしてレガシーなものになるのかもね。場合によってはこれからは使わない方が良いのかも。


(関連記事)
【Unity】アイコン画像のフォーマット警告:Compressed texture XXX is used as icon. This might compromise visual quality of~ を消す
【Unity】5.6 の Canvas の警告:Shader channels Normal and Tangent are most often used with lighting~ を消す
【Unity】InitializeUnityExtensions: Must have a valid path for the plugin [XX] (XX:番号) というエラーの修正方法
【Unity】"~\Temp\Assembly-CSharp.dll.mdb" is denied. と出たら…


スポンサーサイト

category: Unity

thread: ゲーム開発

janre: コンピュータ

tag: Unityトラブルシューティング 
tb: 0   cm: --


トラックバック

トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/241-31e2accf
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

検索フォーム

全記事一覧

カテゴリ

ユーザータグ

最新記事

リンク

PR

▲ Pagetop