けいごのなんとか

Unityユーザーとしてのブログ。ギリギリ路線走ってます。

ゲームオブジェクトのスクリプトが「Missing」になった時のリカバリー

このような時に出来るだけ素早く元に戻す。

f:id:anchan828:20140104011644p:plain

まずこのような事になる場合

  • Unityの管理外でスクリプト名の変更をした
  • Unityの管理外でスクリプトファイルの階層構成を変更した

が挙げられます。つまり、Unityが把握してない所で変更したら「誰だお前!?」となる。

Missingになった時でもデータは保持されている

Missingになっていてもシリアライズされたデータは保持されている。

なのでシリアライズされたプロパティのデータの型やプロパティ名を、既存の(MonoBehaviourを継承した)クラスのプロパティと照らし合わせ、一致しているものが多い順に表示してみた。

f:id:anchan828:20140104012411p:plain

一番一致しているプロパティが多いものはGoogleみたいに「もしかして」を付けてみた。

f:id:anchan828:20140104012427p:plain

現在の問題点としては

Missingとなった時のプロパティの照らし合わせで配列(Generic、Array)とUnityEngine.ObjectとEnumは照らし合わせを行っていない。ちょっと面倒なので...

MonoBehaviourのCustomEditorを作成しているので、他でMonoBehaviourのCustomEditorを作成していたらどっちかが動作しなくなる。

AssetPostprocessor

この情報はUnity Documentation Tabsでも閲覧することが出来ます

Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です


スクリプトファイルを生成した時に呼び出されるOnGeneratedCSProjectFiles

ドキュメント化されてないけど知っておくと便利

using UnityEngine;
using UnityEditor;

public class NewBehaviourScript : AssetPostprocessor
{
        static void OnGeneratedCSProjectFiles ()
        {
                Debug.Log ("call");
        }
}

TextureImporterSettings.spriteExtrude

この情報はUnity Documentation Tabsでも閲覧することが出来ます

Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です


spriteExtrudeが1の時

spriteExtrudeが16の時

Hierarchyをカスタマイズ(新しくHierarchyを作る)

虫眼鏡のところに「お気に入り」を選択できるようにしてみました。

お気に入り機能は本来はUnityプロジェクト内のアセット検索に使用されますが、特に使ってない問題ないのでHierarchyの検索でも使用します。

使い方

まずお気に入り登録しましょう

そうすると「NewHierarchyウィンドウ」の虫眼鏡の所に追加されます。

「NewHierarchyウィンドウ」はNewHierarchyWindow.csを追加した時に自動的に「Hierarchyウィンドウ」の横に追加されます。

※注意・・・「Hierarchyウィンドウ」を消してはいけません。バグる。

以下ソースコード

痛Monodevelop

2015年10月21日 Monodevelop バージョンが 5.9.6 になりました。また、Unity関連の Add-in をすべて入れているのでデバッガー動きます。

できること

  • TextAreaに背景画像

f:id:anchan828:20131223221540p:plain

f:id:anchan828:20140117205400p:plain

  • GIF対応 (ちょっと重い)

f:id:anchan828:20131224020815g:plain

編集の仕方

GIF の場合は TextArea_Background.png を消した後、 TextArea_Background.gif を置く。

Mac

Monodevelop.app/Contents/Resourcesにある画像を差し替えればOK

f:id:anchan828:20131223221832p:plain

Windows

main/build/bin/brandingにある画像を差し替えればOK

f:id:anchan828:20140117210248p:plain

インストーラ

Mac

MonoDevelop.dmg

Windows

Monodevelop.zip