Unityとか関連

Unityとか関連(DirectX以外でのその他ゲームエンジンを使ったゲーム制作)の話題をかこうか

Unity使うときのプロキシの設定

サインインのためにプロキシを設定する

  1. スタートメニューで「環境変数」と検索 → 「システム環境変数の編集」を開く

    image.png

  2. 「環境変数(N)...」ボタンをクリック

    image.png

  3. 「ユーザー環境変数」または「システム環境変数」の欄で 新規 を押す

    image.png


    変数名:HTTP_PROXY
    値:http://172.17.0.2:80
    OKで保存
  4. 同じ手順で HTTPS_PROXY も作る
    (変数名はHTTPSだけどURLはhttpのままなので注意!)
    変数名:HTTPS_PROXY
    値:http://172.17.0.2:80
    OKを押して全部閉じる
  5. PC再起動
  6. Unityを再起動する
    サインインしてみる

🎓Unity × GitHub × Visual Studio(ChatGPT様Says)

🎯 目的

Unity プロジェクトを GitHub で安全に管理し、Visual Studio から快適に操作するための手順をまとめました。
この資料を見れば、チーム制作でも壊れないUnityリポジトリ構成が理解できます。


🧩 1. Unity 側の設定

① Editor 設定を変更する

メニューから
「Edit → Project Settings → Editor」 を開きます。


設定項目

Version Control

Visible Meta Files

Asset Serialization

Force Text

これにより、ファイルごとの変更がテキスト化され、Gitで差分が取れるようになります。


② Unity バージョンをそろえる

全員が同じ Unity LTS(例:2022.3系) を使うこと。
ProjectSettings/ProjectVersion.txt が一致しているか確認しましょう。


📁 2. .gitignore の設定

Visual Studio の「Git」メニューから
[.gitignore を追加] → Unity テンプレート選択
image.png

.gitignoreテンプレートからUnity探して選ぶ!

その後、以下を確認または追記します。(これは自分で、プロジェクトフォルダの.gitignoreを開いて編集

[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild*/
[Bb]uilds/
[Ll]ogs/
UserSettings/
*.csproj
*.sln
*.user
.vs/
ポイント

なんか、長いバージョンもあったよ。

.gitignore(Library を絶対入れない)

Unity公式テンプレをベースに。最低限これでOK:

# Unity build cache
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild*/
[Bb]uilds/
[Ll]ogs/
[Mm]emoryCaptures/

# User-specific
[Ss]ysinfo.txt
UserSettings/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb

# Autogenerated
*.apk
*.aab
*.app
*.ipa

# Visual Studio cache
.vs/





💻 3. Visual Studio での Git 操作

① 新しいリポジトリを作成

Git → 新しいリポジトリの作成




② コミットとプッシュ

Git Changes ウィンドウで変更内容を確認し、
メッセージを入力して [コミットしてプッシュ]




③ ブランチの作成と切り替え

Git Branches ウィンドウから操作可能。
例:feature/player-movefix/audio-lag など。




④ リモートを登録する

Git → リモートの管理 → GitHub のURLを追加




🪶 4. Git LFS(大容量ファイル管理)

① LFSとは?

Unityの画像・音声・FBX・動画ファイルなどをGitHubの100MB制限に引っかけずに保存する仕組みです。

自分のリポジトリのフォルダをコマンドプロンプトで開いて、以下のコマンドでgit-lfsを有効化
なんか言われたら全部Yes!

winget install --id GitHub.GitLFS -e


② 設定手順(最初の1回だけ)

Visual Studio の 「表示 → ターミナル」 を開き、以下を入力:

git lfs install
git lfs track "*.psd" "*.png" "*.jpg" "*.tga" "*.fbx" "*.wav" "*.mp4"
git add .gitattributes
git commit -m "Add LFS tracking"

.gitattributes ファイルが作成されます。
これをリポジトリに含めることで他の人も自動的にLFSを有効化できます。


🧠 5. SmartMerge(Unity YAML Merge)

① 目的

シーンやPrefabの競合を「自動で統合」してくれるUnity公式ツールです。
Gitに登録しておくと、複数人編集の事故が大幅減少します。



② 設定コマンド(最初の1回のみ)

Windows:

git config --global merge.unityyamlmerge.driver \
 "\"C:/Program Files/Unity/Hub/Editor/2022.3.XX/Editor/Data/Tools/UnityYAMLMerge.exe\" merge -p %O %A %B %A"

macOS:

git config --global merge.unityyamlmerge.driver \
 '"/Applications/Unity/Hub/Editor/2022.3.XX/Unity.app/Contents/Tools/UnityYAMLMerge" merge -p %O %A %B %A'

.gitattributes に対象拡張子を追加

*.unity      merge=unityyamlmerge text eol=lf
*.prefab     merge=unityyamlmerge text eol=lf
*.mat        merge=unityyamlmerge text eol=lf
*.anim       merge=unityyamlmerge text eol=lf
*.asset      merge=unityyamlmerge text eol=lf

✅ 6. 日常運用チェックリスト

チェック項目

内容

☐ Library フォルダが含まれていない

.gitignore

で除外

☐ .meta ファイルを削除していない

参照切れを防ぐため

☐ Pull → 作業 → Commit → Push

作業前に最新状態を取得

☐ Additive Scene / Prefab 分業

同時編集の競合を避ける

☐ Unity バージョン統一

チーム内で固定する


📁 推奨フォルダ構成(チーム開発用)

Assets/
 ├─ _Scripts/
 ├─ _Art/
 ├─ _Audio/
 ├─ _Prefabs/
 └─ Scenes/
Packages/
ProjectSettings/
.gitignore
.gitattributes
README.md

📘 参考リンク

典型的なトラブル回避 “7 か条”

  1. メタファイルを必ずコミット(Visible Meta Filesが前提)。メタ欠落=参照切れ地獄。
  2. 1シーン=1人原則で作業(Additive SceneやPrefab分割で並行開発)。
  3. Packages/manifest.json と packages-lock.json をコミット(依存固定)。
  4. 外部DLL/SDKは UPM か Assets/Plugins に整理(配布手順もREADMEに)。
  5. 巨大アセットはLFS、履歴を肥やさない。不要ファイルは早めにgit rm
  6. ブランチ運用mainは常に動く/開発はfeature/xxx/PRでレビュー → マージ。
  7. GitHub 100MB制限を意識(超過前にLFS。履歴に入った巨大ファイルはgit lfs migrateで修正)。

初期セットアップ(手順書テンプレ)

  1. プロジェクト新規作成 → 設定変更(Visible Meta / Force Text)
  2. .gitignore.gitattributes 配置、git init → 初回コミット
  3. git lfs install → 大型拡張子を git lfs track
  4. UnityYAMLMerge を git config に登録
  5. GitHubにcreate repo → git remote add origin ...git push -u origin main
  6. チームへUnityバージョン・ブランチ運用・シーン分割規約を共有

日々のワークフロー(短縮版)

授業・組織運用の小ワザ


Unityのゲーム提出するときのあれこれ

Unityのプロジェクトを提出(共有)する際に、動作を保証するために最低限必要なフォルダ・ファイルは以下の通りです。これら以外(LibraryTempLog など)は自動生成されるため、提出時は不要です。 

最低限必要なフォルダ・ファイル

プロジェクトのルートフォルダ内にある、以下の3つ(+1)です。

  1. Assets フォルダ (必須)
    • スクリプト、シーン、素材など、自分で作成したすべてのデータ。
  2. ProjectSettings フォルダ (必須)
    • プロジェクトの設定(タグ、レイヤー、物理エンジン、入力など)を保存したデータ。
  3. Packages フォルダ (必須)
    • プロジェクトで使用しているパッケージの依存関係情報(manifest.json)。
  4. ProjectVersion.txt (必須: ProjectSettings 内にある場合も)
    • Unityのバージョン情報。 

提出時の手順

  1. Unityエディタを閉じる。
  2. プロジェクトのルートフォルダを開く。
  3. Library フォルダTemp フォルダLogs フォルダ を削除(または含めない)。
    • ※Libraryフォルダを削除することで、容量を大幅に削減できます。
  4. 残ったファイルをZIP形式などで圧縮する。 

注意点

この構成でZIP化して提出すれば、受け取り側は自分の環境でプロジェクトを正常に開くことができます。