コガネブログ

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

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

【Unity】Unity 2022 から IL2CPP Code Generation の設定場所が変わった

概要 Unity 2021 では IL2CPP Code Generation は Build Settings で設定できたが Unity 2022 では Project Settings で設定するように変化した using UnityEditor; using UnityEditor.Build; public class Example { [MenuItem( "Tools/Hoge" )] public sta…

【Unity】開発中のゲームで不具合が発生した時の手順を録画して保存する方法

はじめに GeForce Experience のインスタントリプレイという機能を使うと 現在から最大 20 分前までの映像や音声を録画して保存することができるため 開発中のゲームで急に不具合が発生した時に どのような手順を踏んで不具合が発生したのかを動画で確認でき…

【Unity】Unity 関連のフォルダをウィルス対策のスキャンから除外するとプロジェクトの起動やアセットのインポートが速くなる

はじめに Unity 関連のフォルダを Windows Defender のウィルス対策スキャンから除外すると プロジェクトの起動時間がどのくらい変化するか検証してみた 目次 はじめに 目次 検証環境 検証結果 除外を手動で設定する方法 除外を自動で設定する方法 関連記事 …

【Unity】並列インポートを有効にするとプロジェクトの起動やアセットのインポートが速くなる

はじめに Project Settings の「Editor > Parallel Import」を有効にした場合と無効にした場合で プロジェクトの起動時間がどのくらい変化するか検証してみた 検証環境 Windows 10 Unity 2021.3.1f1 Library フォルダを削除した状態で起動時間を検証 検証結…

【Unity】ゲーム実行時にコマンドライン引数を受け取れる「UnityCommandLineParser」紹介

はじめに 「UnityCommandLineParser」を Unity プロジェクトに導入することで ゲーム実行時にコマンドライン引数を受け取れるようになります 使用例 using UnityCommandLineParser; using UnityEngine; using UnityEngine.UI; public class Example : MonoBe…

【Unity】Hierarchy でゲームオブジェクトのアイコンの代わりにコンポーネントのアイコンが表示できる「Hierarchy Window Extensions」紹介

はじめに 「Hierarchy Window Extensions」を Unity プロジェクトに導入することで Hierarchy でゲームオブジェクトのアイコンの代わりに コンポーネントのアイコンが表示できるようになります 導入前 導入後

【Unity】Raycast などを Scene ウィンドウで可視化できる「Raycast Visualization」紹介

はじめに 「Raycast Visualization」を Unity プロジェクトに導入することで Raycast などを Scene ウィンドウで可視化できるようになります 使用例 using Nomnom.RaycastVisualization; using UnityEngine; public class Example : MonoBehaviour { private…

【Unity】フォルダに適用する Preset を簡単に設定できる「Folder Importer Presets」紹介

はじめに 「Folder Importer Presets」を Unity プロジェクトに導入することで フォルダに適用する Preset を簡単に設定できるようになります 使用例 Project ウィンドウで「+ > Nomnom > Folder Importer」を選択して Folder Importer を作成したら Folder …

【Unity】const や static readonly を Inspector のドロップダウンで選択できる「Drop-down with objects of any type in Unity Inspector」紹介

はじめに 「Drop-down with objects of any type in Unity Inspector」を Unity プロジェクトに導入することで const や static readonly を Inspector のドロップダウンで選択できるようになります 使用例 using StructDropDown; using UnityEngine; public…

【Unity】[Package Manager Window] Cannot perform upm operation: Unable to add package [AAAA]:

概要 [Package Manager Window] Cannot perform upm operation: Unable to add package [AAAA]: Package BBBB@AAAA has invalid dependencies or related test packages: CCCC (dependency): Package [CCCC@DDDD] cannot be found [NotFound]. UnityEditor.E…

【Unity】Missing になっているスクリプトの名前がわかるようになる「MissingScriptType」紹介

はじめに 「MissingScriptType」を Unity プロジェクトに導入することで Missing になっているスクリプトの名前がわかるようになります 導入前 導入後 Missing になっているスクリプトの名前は「NewBehaviourScript」だとわかる 注意 パッケージ導入前に Mis…

【Unity】デバッグ用にギズモを簡単に描画できる「Debug Draw API for Unity」紹介

はじめに 「Debug Draw API for Unity」を Unity プロジェクトに導入することで デバッグ用にギズモを簡単に描画できるようになります 使用例 using Oddworm.Framework; using UnityEngine; public class Example : MonoBehaviour { private void Update() {…

【Unity】UI が他の UI の範囲に入ったかどうかを検知できる「UI Culling for Unity」紹介

はじめに 「UI Culling for Unity」を Unity プロジェクトに導入することで UI が他の UI の範囲に入ったかどうかを検知できるようになります 使用例 使い方 UICullingBehaviour コンポーネントを使用して using Oddworm.Framework; using UnityEngine; publ…

【SwiftUI】UIViewRepresentable でラップした FSCalendar を ObservableObject や Published で更新する例

ソースコード import SwiftUI class DayData: ObservableObject { @Published var date = "2022-06-01" @Published var count = 0 } struct ContentView: View { @ObservedObject var dayData = DayData() var body: some View { VStack { CalendarView(dayD…

【SwiftUI】ld: framework not found Pods_XXXX

概要 ld: framework not found Pods_XXXX clang: error: linker command failed with exit code 1 (use -v to see invocation) Xcode プロジェクトをリネームしてからビルドした時に 上記のエラーが発生する現象に遭遇した Podfile に記載されているプロジェ…

【SwiftUI】/XXXX/YYYY.xcodeproj One of the paths in DEVELOPMENT_ASSET_PATHS does not exist: /ZZZZ/Preview Content

概要 /XXXX/YYYY.xcodeproj One of the paths in DEVELOPMENT_ASSET_PATHS does not exist: /ZZZZ/Preview Content Xcode プロジェクトをビルドした時に上記のエラーが発生する現象に遭遇した Xcode プロジェクトをリネームした際に 「Build Settings > Depl…

【SwiftUI】音声認識の許可を async / await で行う例

ソースコード final class VoiceRecognitionRequester { static func request() async -> Bool { // アプリが特定のタイプのメディアをキャプチャできるようにするための // ユーザーの許可を要求します。 if await !AVCaptureDevice.requestAccess(for: .au…

【SwiftUI】SFSpeechRecognizer.requestAuthorization を async / await に対応させる extension

ソースコード extension SFSpeechRecognizer { static func requestAuthorization() async -> SFSpeechRecognizerAuthorizationStatus { await withCheckedContinuation { continuation in SFSpeechRecognizer.requestAuthorization { status in continuatio…

【Unity】レイヤーやタグ・マテリアル・シェーダ・フィールドなどでゲームオブジェクトを検索できる「Selection Detective」紹介

はじめに 「Selection Detective」を Unity プロジェクトに導入することで レイヤーやタグ・マテリアル・シェーダ・フィールドなどで ゲームオブジェクトを検索できるようになります 使用例 Hierarchy で右クリックして「Selection Detective」を押して Sele…

【SwiftUI】AppCode で編集した SwiftUI をシミュレータにホットリロードする方法

はじめに この記事では上記のように AppCode で編集した SwiftUI を シミュレータにホットリロードする方法を紹介していきます 検証環境 macOS Catalina 10.15.5 AppCode 2022.1.2 手順 上記のページから「InjectionIII.app.zip」を入手して .zip を展開し、…

【Unity】Project ウィンドウでカット & ペーストが可能になる「Project Window Extensions」紹介

はじめに 「Project Window Extensions」を Unity プロジェクトに導入することで Project ウィンドウでカット & ペーストが可能になります 使用例 その他 他にもテキストファイルや JSON ファイルを作成できるようになります

【Unity】スワイプできる UI を簡単に実装できる「ScreenSwipe」紹介

はじめに 「ScreenSwipe」を Unity プロジェクトに導入することで スワイプできる UI を簡単に実装できるようになります 使用例 クイックスタート Hierarchy の「+ > UI > Screen Swipe」の 「Screen Swipe」と「Pagination」を押して このようにゲームオブ…

【Unity】指定したコンポーネントがアタッチされているプレハブを検索できる「Vertx.Editors」紹介

はじめに 「Vertx.Editors」を Unity プロジェクトに導入することで 指定したコンポーネントがアタッチされているプレハブを検索できるようになります 使用例 スクリプトの Inspector で「Search for XXXX」を押すと そのコンポーネントがアタッチされている…

【Unity】Scene ウィンドウで重なっているゲームオブジェクトを簡単に選択できる「NSelection」紹介

はじめに 「NSelection」を Unity プロジェクトに導入することで Scene ウィンドウで重なっているゲームオブジェクトを簡単に選択できるようになります 使用例 Scene ウィンドウで Ctrl + 右クリックすると 重なっているゲームオブジェクトを簡単に選択でき…

【Unity】warning: You are currently using Visual Studio 2019 to compile and link C++ code. It is recommended that you upgrade to Visual Studio 2022 for better performance.

概要 warning: You are currently using Visual Studio 2019 to compile and link C++ code. It is recommended that you upgrade to Visual Studio 2022 for better performance. Unity で PC 向けに IL2CPP ビルドしたらビルド完了時に上記の警告が出力さ…

【Unity】error: Build path contains project built with Mono scripting backend, while current project is using IL2CPP scripting backend. Consider building your project into an empty directory.

概要 error: Build path contains project built with Mono scripting backend, while current project is using IL2CPP scripting backend. Consider building your project into an empty directory. Unity で PC 向けにビルドしたら上記のエラーが発生す…

【Unity】Unity 2021 から標準で使用できるようになったオブジェクトプールの使用例

スクリプト 上記のスクリプトをシーンのゲームオブジェクトにアタッチして実行すると オブジェクトプールの動作を確認できます 実行例 プールにオブジェクトが不足している場合は新規で生成されます プールに非アクティブなオブジェクトが存在する場合は 新…

【Unity】TextMesh Pro のダイナミックフォントをリセットする方法

概要 TextMesh Pro の Font Asset の Inspector で右クリックして 「Reset」を押すとダイナミックフォントをリセットできます using TMPro; using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var…

【Unity】Unity Hub の設定が保存されている場所

概要 C:\Users\【ユーザー名】\AppData\Roaming\UnityHub

【Unity】Unity Hub 3 に独自のプロジェクトテンプレートを追加する方法 Unity 2021 対応版

はじめに この記事では Unity Hub 3 で Unity プロジェクトを新規作成する時に 独自のプロジェクトテンプレートを選択できるようにする方法を紹介していきます 環境 Windows 10 Unity 2021.3.1f1 Unity Hub 3.1.2 手順 【Unity のインストール先】\Editor\Da…