コガネブログ

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

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

【VSCode】Markdown ではファイル保存時に末尾の空白をトリミングする機能を無効化する

概要 "[markdown]": { "files.trimTrailingWhitespace": false } settings.json に上記のコードを追加する

【VSCode】ブレークポイントを設定できなくなった場合

概要 設定の「Debug: Allow Breakpoints Everywhere」をオンにしたら ブレークポイントを設定できるようになった

【VSCode】拡張機能の自動更新を停止する方法

概要 拡張機能のメニューから「自動更新拡張機能 > なし」をオンにするか 設定の「Extensions: Auto Update」を「なし」にすると 拡張機能の自動更新を停止できます

【Unity】warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.

概要 public async UniTaskVoid Fade() { await UniTask.Delay( 1 ); transform.DOMoveX( 5, 1 ); } 上記のように非同期メソッドで DOTween の関数を呼び出した時に warning CS4014: Because this call is not awaited, execution of the current method con…

【VSCode】デフォルトの言語モードを Markdown にする方法

概要 設定の「Default Language」に「markdown」を入力するか "files.defaultLanguage": "markdown" settings.json に上記のコードを追加する

【VSCode】Rech Batch をアンインストールしたら Batch のシンタックスハイライトが効かなくなった場合

概要 The built-in extension 'Window Bat Language Basics' is enabled along with Rech Batch, which may lead to misbehaviour while inserting 'rem' comments in lowercase. Would you like to manually disable the built-in extension 'Window Bat La…

【Rider】switch 式を縦に揃えたい場合

概要 「エディター > コードスタイル > C#」で「Switch expressions」をオンにすると switch 式を縦に揃えられるようになる

【Unity】C# 8.0 language feature

概要 switch 式などの C# 8.0 の機能を使おうとした時に 「C# 8.0 language feature」というエラーが表示される場合は Visual Studio 2017 を使用している可能性があります その場合は Visual Studio 2019 を使うとエラーが表示されなくなります

【VSCode】Marp で HTML 形式で出力したスライドで文字送りを無効化する方法

概要 data-marpit-fragment="[0-9]{1,}" 出力した HTML から上記の文字列を正規表現で削除する

【VSCode】言語モード「Markdown」のファイルで「テキスト校正くん」が動作しない場合

概要 .md ファイルとして保存すれば動作するようになる

【Unity】Visual Stdio でスクリプトを BOM 付き UTF-8 で保存する方法

概要 [*.cs] charset=utf-8-bom Unity プロジェクトのルートフォルダに「.editorconfig」というファイルを作成して 上記のコードを記述して保存する 次回からスクリプトを保存した時に BOM 付き UTF-8 で保存されます

【Unity】Multiple targets with name 'Unity Editor' running.

概要 Multiple targets with name 'Unity Editor' running. Unable to connenct. Use "Unity Attach Debugger" from the command palette (View > Command Palette...) to specify which process to attach to. VSCode で Unity のデバッグを開始しようとし…

【Unity】複数解像度で Game ウィンドウをキャプチャできる「MultiScreenshotCapture.cs」紹介

はじめに https://gist.github.com/yasirkula/fba5c7b5280aa90cdb66a68c4005b52d 「MultiScreenshotCapture.cs」を Unity プロジェクトに導入することで 複数解像度で Game ウィンドウをキャプチャできるようになります クイックスタート Unity メニューの「…

【Unity】中身が同じで重複しているアセットを調査できる「DuplicateAssetDetector.cs」紹介

はじめに https://gist.github.com/yasirkula/f96802da4cf6f5fbb0c76d8322463a88 「DuplicateAssetDetector.cs」を Unity プロジェクトに導入することで 中身が同じで重複しているアセットを調査できるようになります クイックスタート Unity メニューの「Wi…

【Unity】The predefined type 'System.Runtime.CompilerServices.isExternalinit must be defined or imported in order to declare init-only setter.

はじめに sealed record Character( int Id, string Name ); Unity 2021.2 でレコード型を使おうとしたら The predefined type 'System.Runtime.CompilerServices.isExternalinit must be defined or imported in order to declare init-only setter. Predef…

【Unity】.unitypackage を任意のフォルダに展開できる「UnitypackageExtractor.cs」紹介

はじめに https://gist.github.com/yasirkula/dfc43134fbfefb820d0adbc5d7c25fb3 「UnitypackageExtractor.cs」を Unity プロジェクトに導入することで .unitypackage を任意のフォルダに展開できるようになります クイックスタート Unity メニューの「Windo…

【Unity】2D SpriteShape で破線を表示するサンプル「Unity Dashed (Dotted) Sprite Shape」紹介

はじめに 「Unity Dashed (Dotted) Sprite Shape」は 2D SpriteShape で破線を表示するサンプルです 使用例 クイックスタート 2D SpriteShape を導入している Unity プロジェクトに リポジトリで公開されているアセットを導入して 「DemoScene」を開くことで…

【Unity】ゲームオブジェクトの差分を比較できる「Unity Inspect+ Plugin」紹介

はじめに 「Unity Inspect+ Plugin」を Unity プロジェクトに導入することで ゲームオブジェクトの差分を比較できるようになります クイックスタート Unity メニューの「Window > Inspect+ > Diff Window」を選択して 表示されたウィンドウに差分を比較した…

【Unity】Missing Script やアセットの使用箇所を検索できる「Finder」紹介

はじめに 「Finder」を Unity プロジェクトに導入することで Missing Script やアセットの使用箇所を検索できるようになります クイックスタート Project ウィンドウを右クリックして「Finder」からコマンドを実行できます 「Find Missing Script ~」を選ぶ…

【Unity】チュートリアルなどで特定のボタンのみハイライトして、それ以外のボタンを押せなくすることができる「GuardLayerImage」紹介

はじめに 「GuardLayerImage」を Unity プロジェクトに導入することで チュートリアルなどで特定のボタンのみハイライトして、 それ以外のボタンを押せなくすることができるようになります 使用例 クイックスタート Canvas の前面に表示される位置に空のゲー…

【Unity】Project ビューにファイルごとの Git ステータスを表示したりできる「uVCSBridge」紹介

はじめに 「uVCSBridge」を Unity プロジェクトに導入することで Project ビューにファイルごとの Git ステータスを表示したりできるようになります 使用例 Project ビューにファイルごとの Git ステータスを表示できます TortoiseGit のコマンドを実行する…

【C#】指定したパスのすべての親フォルダのパスを取得する方法

C#

ソースコード private static IEnumerable<string> GetParentDirectories( string path ) { while ( true ) { var directoryName = Path.GetDirectoryName( path ); if ( string.IsNullOrWhiteSpace( directoryName ) ) yield break; yield return directoryName; pa</string>…

【Unity】パラメータを EditorWindow にグラフで表示できる「UnityGraphs」紹介

はじめに 「UnityGraphs」を Unity プロジェクトに導入することで パラメータを EditorWindow にグラフで表示できるようになります 使用例 クイックスタート using UnityEngine; internal sealed class Example : MonoBehaviour { private int m_hp; private…

【Unity】EditorGUIUtility.IconContent で使用できるアイコンを一覧で表示できる「UnityEditorIcons」紹介

はじめに 「UnityEditorIcons」を Unity プロジェクトに導入することで EditorGUIUtility.IconContent で使用できるアイコンを一覧で表示できるようになります 使用例 Unity メニューの「Tools > Editor Icons」を押すことで EditorGUIUtility.IconContent …

【Unity】エディタ上でサスペンドレジュームの動作確認をする方法

概要 Project Settings で「Player」の「Run In Background」をオフにした状態で Unity エディタにフォーカスを合わせたり外したりすれば using UnityEngine; public sealed class Example : MonoBehaviour { private void OnApplicationPause( bool pauseSt…

【Unity】EditorWindow 内にサブウィンドウを表示できる「UnitySubWindow」紹介

はじめに 「UnitySubWindow」を Unity プロジェクトに導入することで EditorWindow 内にサブウィンドウを表示できるようになります 使用例 using UnityEditor; using UnityEngine; internal sealed class Example : MDIEditorWindow { [MenuItem( "Tools/Hog…

【Unity】ゲーム実行中にコンポーネントのパラメータを EditorWindow に表示できる「PlayMode Inspector for Unity」紹介

はじめに 「PlayMode Inspector for Unity」を Unity プロジェクトに導入することで ゲーム実行中にコンポーネントのパラメータを EditorWindow に表示できるようになります 使用例 using Oddworm.Framework; using UnityEngine; internal sealed class Exam…

【Unity】VSCode でデバッグできなくなった場合の対処方法

概要 VSCode でデバッグを開始しようとしたら 「環境の選択」に「Unity Debugger」が表示されず、デバッグできない状況に遭遇した 自前で launch.json を用意してデバッグを開始しようとしても error while processing request 'launch' (exception: オブジ…

【Unity】シーンを開き直した時に前回の階層の状態を復元できる「Scene Keeper」紹介

はじめに 「Scene Keeper」を Unity プロジェクトに導入することで シーンを開き直した時に前回の階層の状態を復元できるようになります 使用例 通常ならシーンを開き直した時に階層がすべて閉じた状態になりますが 「Scene Keeper」を導入するとシーンを開…

【Unity】変数の値を閲覧したり関数を実行したりできる「Debug Panel」紹介

はじめに 「Debug Panel」を Unity プロジェクトに導入することで 変数の値を閲覧したり関数を実行したりできるようになります 使用例 using BrunoMikoski.DebugTools.Core.Attributes; using UnityEngine; [DebuggableClass( "Examples" )] internal sealed…