ぱふの自由帳

週2更新目指す技術ブログ。メインはUnity。最近、競プロ始めましたー!良ければフォローお願いします(`・ω・´)

publicな変数をInspectorに表示しない方法

はじめに

前回の記事《privateな変数やクラスをInspector上に表示する方法》の逆のようなことをやっていきます。

方法

その1: [HideInInspector]

[HideInInspector]
public int hoge = 10;

上のような使い方をするとInspector上から消えます。

しかし、注意が1つ!
これは見えなくなっているだけで、プレハブがこそっと値を保持し続けます。なので上のコードを書いていたとしても[HideInInspector]を使用する前にInspector上で書き換えていると"hoge=10"が保証されなくなります。

その2:[System.NonSerialized]

[System.NonSerialized]
public int hoge = 10;

上のような使い方をすると同様にInspector上から消えます。

しかし、先ほどとは違い”変数がこの値に初期化されます。”

どっちが良いの?

その1とその2を紹介しましたが特に強い目的がない限りは”その2”を強くオススメします!

おわり

その1は私は使用したことありません!使いどきがわかりませぬ(´・ω・`。)

初心者/熟練者を問わずTwitterのフォローお待ちしています...(`・ω・´) ヨロシク!