コガネブログ

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

【おすすめスライド】「Refresh what you know about AssetDatabase.Refresh()- Unite Copenhagen 2019」

スライド

【Unity】SpriteAtlas に含まれているすべてのスプライトの情報をエディタ拡張で参照する方法

概要 var roots = new Object[] { spriteAtlas }; var dependencies = EditorUtility.CollectDependencies( roots );

【おすすめスライド】「Speed up your asset imports for big projects - Unite Copenhagen 2019」

スライド

【Unity】MasterMemory を使用しているプロジェクトを Android IL2CPP ビルドした際に MemoryDatabase 生成時に強制終了する場合

解決方法 Project Settings の「Player」を開いて「ARMv7」をオフにしてビルドする

【Unity】Git のブランチ名やコミットハッシュ、コミットログを管理するスクリプトを生成するエディタ拡張「UniGitUtils」を GitHub に公開しました

リポジトリ 使用例 using UniGitUtils; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Log" )] private static void Log() { var option = new CommitLogOption ( count: 10, isNoMerges: false, format: "%h %cd…

【Unity】Odin Inspector 3.0 Beta が公開

概要

【Unity】テクスチャや SpriteAtlas のインポート設定を自動化するエディタ拡張「UniTexturePreprocessor」を GitHub に公開しました

リポジトリ 使い方 Project ビューの「+ > UniTexturePreprocessor」から設定を管理するアセットを作成できます 「TextureImporterSettings」は テクスチャの Import Settings を上書きする設定を管理するアセットです 上書きしたい項目をチェックして、上書…

【ReSharper】暗黙的に使用されていることを示す「UsedImplicitly」属性

概要 using JetBrains.Annotations; [UsedImplicitly] public class Example { } UsedImplicitly 属性が適用すると、そのシンボルが リフレクションなどで暗黙的に使用されていることを示すことができます

【Visual Studio】クラスや関数の定義の間に区切り線を表示する方法

概要 Visual Studio オプションの「テキスト エディター > C# > 詳細設定」から 「プロシージャ行の区切り記号を表示する」をオフにすることで 区切り線が表示されるようになります

【Visual Studio】region やクラス、関数などの折りたたみを無効化する方法

概要 Visual Studio オプションの「テキスト エディター > C# > 詳細設定」から 「ファイルを開くときにアウトラインモードに入る」をオフにすることで ファイルを開いた時に regin やクラス、関数などの折りたたみが すべて開いた状態になります また、折り…

【Unity】ContentSizeFitter の FitMode をデフォルトで Preferred Size にする Preset

概要 ContentSizeFitter の FitMode を Preferred Size にした状態で プリセットのメニューを開いて 「Save current to...」ボタンを押して適当なフォルダに保存して 保存した Preset を選択して「Add to ContentSizeFitter default」ボタンを押すと Content…

【Unity】フォルダの作成関連のエディタ拡張の機能

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // フォルダが存在するかどうか if ( !AssetDatabase.IsValidFolder( "Assets/Hoge" ) ) { // フォルダを作成 AssetDatabase.CreateFolder…

【Unity】AssetDatabase.CreateAsset で時間がかかる時に高速化できるかもしれない「AssetDatabase.StartAssetEditing」

概要 using UnityEditor; using UnityEngine; using Debug = UnityEngine.Debug; public class Example : AssetPostprocessor { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var count = 100; var shader = Shader.Find( "Sprites/Diffuse" );…

【Unity】Unity 起動後にインポートされたアセットの数の取得などができる「AssetDatabaseExperimental」

使用例 using UnityEditor; using UnityEditor.Experimental; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var imported = AssetDatabaseExperimental.counters.import.imported; var total…