Unityとか関連 Unityとか関連(DirectX以外でのその他ゲームエンジンを使ったゲーム制作)の話題をかこうか Unity使うときのプロキシの設定 サインインのためにプロキシを設定する スタートメニューで「環境変数」と検索 → 「システム環境変数の編集」を開く 「環境変数(N)...」ボタンをクリック 「ユーザー環境変数」または「システム環境変数」の欄で 新規 を押す 変数名:HTTP_PROXY 値:http://172.17.0.2:80 OKで保存 同じ手順で HTTPS_PROXY も作る (変数名はHTTPSだけどURLは httpのまま なので注意!) 変数名:HTTPS_PROXY 値:http://172.17.0.2:80 OKを押して全部閉じる PC再起動 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 テンプレート選択 。 .gitignoreテンプレートからUnity探して選ぶ! その後、以下を確認または追記します。(これは自分で、プロジェクトフォルダの.gitignoreを開いて編集 [Ll]ibrary/ [Tt]emp/ [Oo]bj/ [Bb]uild*/ [Bb]uilds/ [Ll]ogs/ UserSettings/ *.csproj *.sln *.user .vs/ ✅ ポイント Library/ はGitに入れない(巨大・自動再生成される) .meta ファイルは削除禁止(参照リンク切れ防止) なんか、長いバージョンもあったよ。 .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-move や fix/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 📘 参考リンク 🔗 Unity公式: SmartMerge (YAMLMerge) 🔗 Git LFS 公式サイト 🔗 Microsoft Docs: Visual Studio Git 統合 典型的なトラブル回避 “7 か条” メタファイルを必ずコミット (Visible Meta Filesが前提)。メタ欠落=参照切れ地獄。 1シーン=1人原則 で作業(Additive SceneやPrefab分割で並行開発)。 Packages/manifest.json と packages-lock.json をコミット (依存固定)。 外部DLL/SDKは UPM か Assets/Plugins に整理 (配布手順もREADMEに)。 巨大アセットはLFS 、履歴を肥やさない。不要ファイルは 早めに git rm 。 ブランチ運用 : main は常に動く/開発は feature/xxx /PRでレビュー → マージ。 GitHub 100MB制限 を意識(超過前にLFS。履歴に入った巨大ファイルは git lfs migrate で修正)。 初期セットアップ(手順書テンプレ) プロジェクト新規作成 → 設定変更(Visible Meta / Force Text) .gitignore と .gitattributes 配置、 git init → 初回コミット git lfs install → 大型拡張子を git lfs track UnityYAMLMerge を git config に登録 GitHubにcreate repo → git remote add origin ... → git push -u origin main チームへ Unityバージョン・ブランチ運用・シーン分割規約 を共有 日々のワークフロー(短縮版) 作業前 : git pull --rebase 作業 :新規ブランチで、シーンはAdditive化・Prefab化して分業 コミット :小さく早く。メタも含めて git add -A PR :スクショ/動画/GIF付きで意図を説明 → レビュー → マージ 衝突 :まずSmartMergeに任せる → ダメならUnityで開いて手作業修正 授業・組織運用の小ワザ テンプレートリポ (Starter Code)を作って、GitHub Classroomで配布 プリフック (任意): Library/ をステージしようとしたら弾くpre-commit 命名規則 : feature/ui-login 、 fix/physics-jitter など アセット置き場規約 : Assets/_Art , Assets/_Audio , Assets/_Scripts で迷子防止 READMEに最小セット :Unityバージョン/導入手順/ブランチ戦略/LFS対象 Unityのゲーム提出するときのあれこれ Unityのプロジェクトを提出(共有)する際に、動作を保証するために最低限必要なフォルダ・ファイルは以下の通りです。これら以外( Library ,  Temp ,  Log  など)は自動生成されるため、提出時は不要です。  最低限必要なフォルダ・ファイル プロジェクトのルートフォルダ内にある、以下の3つ(+1)です。 Assets  フォルダ  (必須) スクリプト、シーン、素材など、自分で作成したすべてのデータ。 ProjectSettings  フォルダ  (必須) プロジェクトの設定(タグ、レイヤー、物理エンジン、入力など)を保存したデータ。 Packages  フォルダ  (必須) プロジェクトで使用しているパッケージの依存関係情報( manifest.json )。 ProjectVersion.txt  (必須:  ProjectSettings  内にある場合も) Unityのバージョン情報。  提出時の手順 Unityエディタを閉じる。 プロジェクトのルートフォルダを開く。 Library  フォルダ 、 Temp  フォルダ 、 Logs  フォルダ  を削除(または含めない)。 ※Libraryフォルダを削除することで、容量を大幅に削減できます。 残ったファイルをZIP形式などで圧縮する。  注意点 .meta  ファイルを忘れずに : Assets  内の各ファイルに対応する  .meta  ファイルは、設定の紐付けに必須です。 空フォルダは避ける :空のフォルダはGit管理などで無視される場合があるため、必要なアセットがすべて入っているか確認してください。 Packages  フォルダの重要性 :以前のUnityバージョンでは不要でしたが、最新のUnityでは  Packages  フォルダが必須です。  この構成でZIP化して提出すれば、受け取り側は自分の環境でプロジェクトを正常に開くことができます。