お知らせ

次の項目は別ページに分割しました。

関連ページ:

Unity に関する基本的な情報は次のページにまとめています。

スクリプト

公式サイト:

スクリプトの作成と使用 | Unity マニュアル [公式]

使い方

参考:

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

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

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

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

変数

参考:

インスペクターで設定できる色々な値 | ソフトライム

変数とインスペクター | Unity マニュアル [公式]

属性 (Attribute)

こちらのページを参照

参考:

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

属性 | Unity マニュアル [公式]

region ディレクティブ

参考:

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

public / private

参考:

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

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

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

[SerializeField]
private int power;
public int Power {
    get { return power; }
    private set { power = value; }
}Code language: C# (cs)

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

[SerializeField]
private $type$ $field_name$;
public $type$ $property_name$
{
    get { return this.$field_name$; }
    private set { this.$field_name$ = value; }
}Code language: C# (cs)

参考:

インスペクターで値も設定したいけど、プロパティを使いたい/めんどくさいのも嫌!- 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 スクリプトリファレンス [公式]

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

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

「Rigidbody」を必須コンポーネントにする。

[RequireComponent(typeof(Rigidbody))]
public class Example : MonoBehaviour
{
    // ...
}Code language: C# (cs)

参考:

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

テンプレート

参考:

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

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

Missing スクリプト

参考:

Missing Scripts エラーの解消 前編 | ゲームは初心者にやさしく

Missing Scripts エラーの解消 後編 | ゲームは初心者にやさしく

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

Cleaning Up Missing Scripts in Unity | MFYG

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

コード:

MissingScriptResolver.cs – mikecann/Unity-Helpers – GitHub

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

参考:

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

Namespace class conflict – Stack Overflow

.NET フレームワーク

ドキュメント:

Unity における .NET の概要 | Unity 2021.1 マニュアル [公式]

.NET プロファイルのサポート | Unity 2021.1 マニュアル [公式]

追加のクラスライブラリアセンブリの参照 | Unity 2021.1 マニュアル [公式]

C# コンパイラー | Unity マニュアル [公式]

フォーラム:

Experimental Scripting Previews | Unity Forum

参考:

Unity と .NET今後の取り組みについて | Unity Blog [公式]

バージョン

ドキュメント:

C# の歴史 | Microsoft Learn [公式]

参考:

Unity 2020.2 から使える C#8 の機能まとめ | LIGHT11

Unity で使える C#7 の主要機能まとめ! | LIGHT11

Unity で使える C#6 の機能を総まとめ! | LIGHT11

Unity と C# のバージョン | yotiky Tech Blog

Unity で使える C# と .NET Framework のバージョンとその調べ方 – Qiita

Unity プロジェクトに C# 8.0 / 9.0 を導入してみた | tenonno

Unity で最新バージョンの C# を使う | rarafy の技術ブログ

資料

Unity 開発者に伝えたい .NET のこと – Speaker Deck

C# Compiler Settings for Unity

リポジトリ:

mob-sakai/CSharpCompilerSettingsForUnity: Change C# Compiler (csc) Used on Your Unity Project – GitHub

参考:

Unity プロジェクトに C# 8.0 / 9.0 を導入してみた | tenonno

Unity で最新バージョンの C# を使う | rarafy の技術ブログ

記事をシェアする:
タグ:

コメントを残す

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

Protected by reCAPTCHA