LoginSignup
8
8

More than 5 years have passed since last update.

自分のUnityで使う命名規則とかファイル構成とかのメモ

Posted at

CamelCase

UpperCamelCaseは単語の先頭文字が大文字。他は小文字
例:PlayerController,HyperTextTransfarProtocol,HelloWorld

LowerCamelCaseは最初の単語の先頭文字が小文字。以降の単語の先頭の文字は大文字。他は小文字。
例:mousePointer,gameObject,eyeTracker

Camelはラクダでフタコブラクダをイメージすると分かりやすいかも。
UpperCamelは前のコブが大きくて後ろのコブは小さい。
LowerCamelは前のコブが小さくて後ろのコブは大きい。

ファイル構成

ここが決まってないとごちゃごちゃしてしまうので、
SceneAssets/Scenes/フォルダ内に保存。
ScriptAssets/Scripts/フォルダ内に保存。
PrefabAssets/Prefabs/フォルダ内に保存。
MaterialAssets/Materials/フォルダ内に保存。
みたいな形で保存する。

ユーティリティー

HTTP通信とかPlayerPrefsのラッパー(ユーティリティースクリプト)とかをよく作るので、
Assets/Utils/フォルダ内にユーティリティースクリプトファイルを作成する。
名前空間をUtilsにしてその中に静的クラスなり関数なり定義する。

Palette.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace Utils{
    class Palette{
        static const Color primary = new Color(0f, 0.5f, 1.0f);
        static const Color primary = new Color(0f, 0.1f, 0.5f);
        static const Color accent = new Color(1.0f, 0f, 1.0f);
    }
}

命名規則

ここも色々とわけないと後から困るので...

メンバ変数

lowerCamelCaseで命名する。
例:

float playerSpeed;

メンバ定数

UpperCamelCaseで命名する。
例:

const string RoomKey = "xxx-xxx-xxx";

メソッド

UpperCamelCaseで命名する。
例:

void SetPlayerSpeed(float value) { this.playerSpeed = value; }

セッター/ゲッター

UpperCamelCaseで命名する。
例:

float PlayerSpeed {
   get { return this.playerSpeed; }
}

Scene

UpperCamelCaseで命名する。
例:Game,Result

シーンに1つコントローラー

シーンに1つシーンの全体的な処理を管理するコントローラースクリプトとオブジェクトを作成します。
コントローラースクリプトとコントローラーオブジェクトは同じ名前にする。
命名規則はScene名+Controller
コントローラーオブジェクトにはコントローラースクリプトをアタッチする。

共通部品

プレイヤー名入力フィールドなどのいろいろなところで使うUIなどは共通部品とする。
共通部品はPrefab化する。
共通部品は専用Scriptを持たせる。
例:プレイヤー名を保存するスクリプトなど

オブジェクト名

UpperCamelCaseで命名。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8