コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

2022-10-01から1ヶ月間の記事一覧

【Git】git submodule foreach でエラーが発生しても foreach を続ける方法

概要 git submodule foreach git pull origin main たとえばすべてのサブモジュールを origin/main の最新に更新するために 上記のコマンドを実行した場合、origin/main が存在しないサブモジュールがあると そこで foreach の処理が止まってしまう git subm…

【Git】すべてのサブモジュールを origin/master もしくは origin/main の最新に更新するコマンド

概要 git submodule foreach 'git pull origin master || :' git submodule foreach 'git pull origin main || :' 参考サイト様

【C#】配列やリストの要素がすべて同じかどうか確認する方法

C#

概要 using System.Linq; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var list1 = new[] { 1, 2, 3 }; var list2 = new[] { 1, 1, 1 }; Debug.Log( list1.Distinct().Count() == 1 ); // False Debug.Log( list2.Di…

【Unity】MenuItem でも Event.current を取得できる関数

ソースコード private static Event GetEventCurrent() { var fieldInfo = typeof( Event ).GetField ( name: "s_Current", bindingAttr: BindingFlags.Static | BindingFlags.NonPublic ); return ( Event )fieldInfo.GetValue( null ); } 参考サイト様

【Unity】デフォルトのオプションを指定できる System.Text.Json.JsonSerializer

リポジトリ 使用例 using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Json.Serialization; using System.Text.Unicode; using UnityEngine; public sealed class Example : MonoBehaviour { private void Awake() { JsonSeriali…

【Unity】Inspector で Color 型を右クリックした時のメニューを追加するエディタ拡張

リポジトリ 使用例

【Unity】チェックボックス付きのリストで項目を複数選択できる EditorWindow

リポジトリ 使用例 using System.Linq; using Kogane; using UnityEditor; using UnityEngine; public static class Example { private sealed class Data : ICheckBoxWindowData { public string Name { get; } public bool IsChecked { get; set; } public…

【Mac】確認ダイアログをキーボードで操作する方法

概要 「システム環境設定 > キーボード > ショートカット」を選択して 「コントロール間のフォーカス移動をキーボードで操作」をオンにする これでタブキーで確認ダイアログのボタンを選択できるようになる あとは Enter キーではなく Space キーを押すことで…

【Unity】System.IO の Path や Directory で取得できるパスの `\` を自動で `/` に変換するパッケージ

リポジトリ 使用例 Before using System.IO; using UnityEngine; public class Example : MonoBehaviour { private void Start() { var path = @"C:\Program Files\Unity Hub\Unity Hub.exe"; Debug.Log( Path.ChangeExtension( path, ".bat" ) ); // C:\Pro…

【Unity】AssemblyDefinitionAsset の References を簡単に複数選択できるようにするエディタ拡張

リポジトリ 使用例 通常であれば AssemblyDefinitionAsset の References は一つずつ選択する必要がありますが Inspector のヘッダーの「Select References」を押すことで References を簡単に複数選択できるようになります 依存しているパッケージ https://…

【Unity】error: Build input file cannot be found: 'XXXX/YYYY.mm' (in target 'UnityFramework' from project 'Unity-iPhone')

概要 error: Build input file cannot be found: 'XXXX/YYYY.mm' (in target 'UnityFramework' from project 'Unity-iPhone') .mm ファイルの管理フォルダを変更したあとに Unity で iOS ビルドしたら Xcode ビルド時に上記のエラーが発生する現象に遭遇した…

【Unity】Assembly Definition Reference を作成する時のコンパイル回数を抑えられるエディタ拡張

リポジトリ 使い方 Project ウィンドウを右クリックして「Kogane > Create Assembly Definition Reference」を選択して 表示されたウィンドウで Assembly Definition Reference を作成することができます 通常の手順で Assembly Definition Reference を作成…

【Mac】ドックのサイズを固定する方法

概要 defaults write com.apple.dock size-immutable -bool yes && killall Dock ターミナルで上記のコマンドを実行する defaults write com.apple.dock size-immutable -bool no && killall Dock 変更できるように戻したい場合は上記のコマンドを実行する …

【Unity】Assembly Definition を作成する時のコンパイル回数を抑えられるエディタ拡張

リポジトリ 使い方 Project ウィンドウを右クリックして「Kogane > Create Assembly Definition」を選択して 表示されたウィンドウで Assembly Definition を作成することができます 通常の手順で Assembly Definition を作成して設定を変更する場合 Assembl…

【Adobe XD】横スクロールはスペースキーを押しながらドラッグ

【Unity】GUID とアセットの一覧を確認できる EditorWindow

リポジトリ 使用例 Unity メニューの「Window > Kogane > GUID List」を選択すると プロジェクトに含まれているすべてのアセットの GUID を確認できます 検索欄に GUID やアセットのパスを入力して検索することも可能です ダブルクリックすると該当のアセッ…

【Unity】Assertion failed on expression: 'it != m_SendMap.end()'

概要 AcceleratorClientConnectionCallback - disconnected - 192.168.0.6:10080 Assertion failed on expression: 'it != m_SendMap.end()' ================================================================= Native Crash Reporting ==================…