使い方

参考

スクリプトの作り方/使い方 | yttm-work

Script (スクリプト) を追加する4つの方法 | Unity + AssetStore おすすめ情報

スクリプトの追加と実行 | WisdomSoft

スクリプトを追加してみよう!| ReyL Office

属性 (Attribute)

参考

Unity の Attribute (属性) についてまとめてメモる | テラシュールブログ

region ディレクティブ

参考

region とコードのテンプレート | Unity/VR ゲーム開発日記@長崎

public / private

参考

インスペクターで見せない変数、見せる変数まとめ | ぺんごや

プロパティ/シリアライズ (SerializeField)

インスペクターから編集できて他クラスからアクセスできないフィールドを作成する。

[SerializeField]
private int power;
public int Power {
    get { return power; }
    private set { power = value; }
}

コードテンプレートを使用して入力する。

[SerializeField]
private $type$ $field_name$;
public $type$ $property_name$
{
    get { return this.$field_name$; }
    private set { this.$field_name$ = value; }
}

参考

インスペクターで値も設定したいけど,プロパティを使いたい。めんどくさいのも嫌!- Qiita

Unity の SerializeField について色々な疑問に答えてみる – Qiita

スクリプトがシリアライズされる仕組み | ねこじゃらシティ

Inspector で値を変える時、public と SerializeField どっち使う? | エクスプラボ

エディタからフィールドを編集する | WisdomSoft

Range

参考

Inspector で入力値の範囲を設定するチュートリアル | エクスプラボ

Inspector の値を制限する | のっぴの備忘録

OnValidate

参考

Inspector で入力できる値を制限する OnValidate 関数 | コガネブログ

Inspector から値を変更したときにコールバック処理を実行する簡単な方法 – Qiita

読み取り専用

参考

編集不可のパラメータを Inspector に表示する | KAZUPON 研究室

インスペクタに編集不可のパラメータを表示してみた | kandy codings 開発ブログ

ReadOnly な SerializeFileld | hiyorin のブログ

Start() 内で readonly なフィールドを初期化したい | teratail

Inspector にて配列の長さだけを変更できないようにしたい | teratail

How to make a readonly property in inspector? | Unity Answers

readonly C# keyword not so usefull in Unity | Unity Answers

静的変数 (static)

参考

public static な変数をインスペクター上で表示する (実行前のみ編集可能) – Qiita

静的クラスの変数をインスペクターで確認する方法 | Tsumiki Tech Times

Is it possible to show Static Variables in the Inspector? – Unity Answers

定数 (const)

  • private const
  • public static readonly

参考

Unity で定数を定義する – Qiita

const と readonly、static readonly の使い分け – Qiita

const (コンパイル時定数) と readonly (実行時定数) の違いを知る | エクスプラボ

定数を作るときに const と static readonly のどちらを用いるべきか | はなちるのマイノート

定数をどこからでも呼び出せるようにする | すずろぐ

定数をどこでも使えるように | ゲームのしるし

プリセット

参考

プリセット | Unity マニュアル [公式]

実行順序 (Script Execution Order)

参考

コンポーネントのイベント実行順についての Tips | テラシュールブログ

Script Execution Order のちょっと深い話 – Qiita

Script Execution Order settings | Unity 2019.4 Manual [Official]

DefaultExecutionOrder

参考

DefaultExecutionOrder でスクリプトの実行順番をスクリプトから書く | はなちるのマイノート

イベント関数の実行順序

参考

イベント関数の実行順序 | Unity マニュアル [公式]

Serializable

MonoBehaviour を継承しない独自のクラスを定義した場合に、そのクラスのインスタンスをインスペクター上に表示して扱うためにはクラスに [Serializable] を指定する。

参考

自前のクラスをインスペクタから編集できるようにする | ftvlog

スクリプトのシリアル化 | Unity マニュアル [公式]

Serializable | Unity 2018.4 スクリプトリファレンス [公式]

カスタム製のシリアル化 | Unity マニュアル [公式]

SerializeReference

参考

Unity 2019.3 から抽象クラスやインタフェースがシリアライズ可能に!使い方と注意点 | LIGHT11

SerializeReference | Unity Scripting API [Official]

エディター上で実行する (ExecuteAlways)

  • [ExecuteAlways]プレイモード/編集モード/プレハブモードの全てでスクリプトが実行される。
  • [ExecuteInEditMode]廃止
  • Application.IsPlayingゲームオブジェクトがプレイモードに存在しているか判定する。

参考

Unity 2018.3 以降 ExecuteInEditMode アトリビュートは廃止に向かっていく | LIGHT11

ExecuteInEditMode を使うと編集中も処理を実行可能 | 強火で進め

スクリプトを Editor 上で動作させる | うにてぃブログ

スクリプトを Edit モードで実行 – Qiita

ExecuteInEditMode と関連コンポーネントの破棄対応について | ケットシーウェア

UnityEngine.ExecuteAlways | Unity スクリプトリファレンス [公式]

UnityEngine.ExecuteInEditMode | Unity 2019.4 スクリプトリファレンス [公式]

Application.IsPlaying | Unity スクリプトリファレンス [公式]

ExecuteInEditMode 終了の方法 – teratail

RequireComponent

参考

RequireComponent でアタッチし忘れ防止 | kan のメモ帳

RequireComponent とは & 有用性 – Qiita

確実に!必要な Component を入れる Require Component と Reset() – Qiita

RequireComponent で安全にコンポーネントを操作する | エクスプラボ

RequireComponent で依存関係にあるコンポーネントの存在を保証する | りつかのゲーム開発雑記ブログ

必須コンポーネントの指定 | WisdomSoft

UnityEngine.RequireComponent | Unity スクリプトリファレンス [公式]

Reset

参考

コンポーネントを追加した際に処理をしたい場合は、Reset を使うと良いって話 | kan のメモ帳

MonoBehaviour.Reset() の使い方 – Qiita

確実に!必要な Component を入れる Require Component と Reset() – Qiita

MonoBehaviour.Reset() とは | プログラミングとかブログ

MonoBehaviour.Reset() | Unity スクリプトリファレンス [公式]

AddComponent したときにスクリプトを走らせたい – teratail

コメント

参考

初心者向けコメントの書き方講座 – Qiita

アセンブリ定義ファイル (Assembly Definition Files)

参考

Assembly Definition 完全に理解した – Qiita

Assembly Definition Files という神機能 | テラシュールブログ

Unity 2017.3 の Assembly Definition Files を適切に設定してコンパイルにかかる時間を削減する – Qiita

Assembly Definition を分けるとコンパイルが高速になるってホント?検証してみた!| VirtualCast Blog

Assembly Definition Files を使って、コンパイル時間を短縮する| kan のメモ帳

Assembly Definition Files を使ってるのにコンパイル時間が早くならない場合の対処法 | kan のメモ帳

Unity の Assembly Definition のお勉強 | トマシープが学ぶ

Assembly Definition Files 間の参照設定をしてみたメモ | ねぎたまらぼ

スクリプトのコンパイルとアセンブリ定義ファイル | Unity 2018.4 マニュアル [公式]

特殊フォルダーとスクリプトのコンパイル順 | Unity マニュアル [公式]

アセンブリ定義とパッケージ | Unity マニュアル [公式]

Assembly Definitions | Unity Manual [Official]

What’s the proper way to add new plugins when you also have tests? – Unity Forum

Add managed dll to an Assembly Definition – Unity Forum

リフレクション (Reflection)

参考

Reflection を使ってメソッドを呼んだり変数を書き換えたりキャッシュして高速化したりする | LIGHT11

テンプレート

参考

新規スクリプト生成時のテンプレートをカスタマイズしたい | 夜中に Unity

Unity のスクリプトテンプレートを変更する | WonderPlanet Developers’ Blog

Missing スクリプト

参考

Missing Scripts エラーの解消 前編 | ゲームは初心者にやさしく (gamesonytablet.blogspot.com)

Missing Scripts エラーの解消 後編 | ゲームは初心者にやさしく (gamesonytablet.blogspot.com)

Unity で Missing になってる場所を見つけるスクリプト。| べんじゃみんの裏庭。

Cleaning Up Missing Scripts in Unity | MFYG

mikecann/Unity-Helpers/MissingScriptResolver.cs – GitHub

How do I programmatically find name of missing script? – Unity Answers

How do I Remove null components ( i.e. “Missing(Mono Script)” ) via editor script? – Unity Answers

How to determine the name of a previously referenced, now missing, MonoBehaviour script? – Stack Overflow

How to move a MonoBehaviour to an external assembly and don’t get stuck in the “Missing (mono script)”? – Stack Overflow

クラス名がコンフリクトする

参考

「同じ NameSpace で、同じクラス名の、異なるクラス」は実在した!| テラシュールブログ

Namespace class conflict – Stack Overflow

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です