コガネブログ

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

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

Unity1Week お題「正」で 2D アクションパズルゲーム「ハコツカミ」を公開しました!

紹介動画 正方形や長方形のブロックをマウスで動かしてお宝を目指す2Dアクションパズルゲーム「ハコツカミ」を1週間ゲームジャムで公開しました!(全30ステージ)https://t.co/aRifuWmk0P#unity1week #unityroom pic.twitter.com/3j0C4MxkNe— baba_s (@baba…

【Unity】アセットの依存関係を調査できる「Dependencies Hunter Unity3D Tool」紹介

はじめに 「Dependencies Hunter Unity3D Tool」を Unity プロジェクトに導入することで アセットの依存関係を調査できるようになります クイックスタート 依存関係を調査したいアセットを右クリックして 「Find References in Project」を押して しばらく待…

【Unity】Unity 起動時に自動で Debug Mode にする方法

概要 Unity の Preferences を開いて「General」の 「Code Optimization On Startup」を「Debug」にすると Unity プロジェクトを開く時に自動で Debug Mode で開始します

【Unity】Addressables でフォルダにアドレスを振った場合とファイルごとにアドレスを振った場合で違いはあるか

検証環境 Windows 10 Unity 2020.3.13f1 Addressables 1.19.11 検証方法 スプライトが格納されているフォルダにアドレスを割り振った場合と フォルダ内のスプライトそれぞれにアドレスを割り振った場合で ビルド時間や成果物に違いはあるのか検証 検証結果 …

【Unity】アセットの依存関係を調査できる「Asset Lens」紹介

はじめに 「Asset Lens」を Unity プロジェクトに導入することで アセットの依存関係を調査できるようになります クイックスタート 「Index Wizard」ウィンドウで「Generate」を押すと 依存関係の調査が始まるのでしばらく待ちます 調査が完了したら依存関係…

【Unity】コンパイル時間や再生までにかかった時間を閲覧できる「Mini Editor Iteration Profiler for Unity」紹介

はじめに 「Mini Editor Iteration Profiler for Unity」を Unity プロジェクトに導入することで コンパイル時間や再生までにかかった時間を閲覧できるようになります 使用例 コンパイルが完了した時に Scene ビューと Game ビューに コンパイルにかかった時…

【Unity】Failed to load 'XXXX.dll', expected x64 architecture, but was x86 architecture.

概要 Failed to load 'XXXX.dll', expected x64 architecture, but was x86 architecture. You must recompile your plugin for x64 architecture. DllNotFoundException: XXXX 自作の C++ Native Plugin を DllImport して使おうとしたら 上記のエラーが発…

【Unity】C++ から配列を受け取るサンプル

概要 Visual Studio の「ファイル > 新規作成 > プロジェクト」を押して C++ の「ダイナミック リンク ライブラリ (DLL)」を選択して「次へ」を押して 適当にプロジェクト名を設定して「作成」を押して #include "pch.h" #define DLLEXPORT extern "C" __dec…

【Unity】Unity エディタを終了しなくてもネイティブプラグインを更新できる「PatchLibrary」紹介

はじめに 「PatchLibrary」を Unity プロジェクトに導入することで Unity エディタを終了しなくてもネイティブプラグインを更新できるようになります 基本的な使い方は上記サイト様で紹介されていますが 自分が試した手順も備忘録としてまとめておきます 設…

【Unity】IPreprocessBuildWithReport で例外が発生した時にビルドを止める方法

概要 using System; using UnityEditor.Build; using UnityEditor.Build.Reporting; public class Example : IPreprocessBuildWithReport { public int callbackOrder => 0; public void OnPreprocessBuild( BuildReport report ) { throw new Exception(); …

【Rider】クラスや構造体のメンバを一覧で確認する方法

概要 Rider メニューの「表示 > ツールウィンドウ > 構造」を押すと クラスや構造体のメンバを一覧で確認できる

【Rider】Explorer ウィンドウにツリーインデントガイドを表示する方法

概要 Rider の設定の「外観 & 振る舞い > 外観」の 「ツリーインデントガイドの表示」をオンにすると Explorer ウィンドウに ツリーインデントガイドを表示できる

【Rider】コードをドラッグで動かせないようにする方法

概要 Rider の設定の「エディター > 一般」の 「ドラッグアンドドロップでコードフラグメントを移動する」をオフにすると コードをドラッグで動かせないようになる

【Unity】transform が操作された時にログ出力できる「Unity.TransformSetterInterceptor」紹介

はじめに 「Unity.TransformSetterInterceptor」を Unity プロジェクトに導入することで transform が操作された時にログ出力できるようになります 使用例 using UnityEngine; public class Example : MonoBehaviour { private void Start() { transform.pos…

【Unity】Malimbe を Unity プロジェクトに追加する方法

概要 Malimbe を Unity プロジェクトに追加したい場合は Project Settings を開いて左のメニューで「Package Manager」を選択して 以下のように設定します 項目 内容 Name npmjs URL https://registry.npmjs.org Scope(s) io.extendreality.malimbe Package …

【Unity】Addressables でアセットバンドルを圧縮するかどうかでビルド時間が変わるか

検証環境 Windows 10 Unity 2020.3.13f1 Addressables 1.19.11 検証方法 10,000 個の Scriptable Object を用意して すべての Scriptable Object にアドレスを割り振って Default Local Group に追加して Default Local Group の Bundle Mode を 「Pack Sepa…

【Unity】Addressables でアセットを変更していないのにビルドに時間がかかる場合

概要 Addressable ではビルドキャッシュが実装されているため アセットバンドルに含めるアセットを変更していない場合、 該当のアセットバンドルのビルドはスキップされてビルド時間を短縮できるが、 アセットを変更していないのにビルドに時間がかかる場合…

【Unity】Addressables のビルドでどこに時間がかかっているのか調べる方法

概要 com.unity.scriptablebuildpipeline@1.19.3/Editor/Shared/BuildTasksRunner.cs 上記のファイルに記載されている BuildTasksRunner.Run メソッドの foreach (IBuildTask task in pipeline) { var sw = Stopwatch.StartNew(); // ★ { try { if (!tracker…