コガネブログ

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

【Unity】Cache Server にすべてのアセットをアップロードするメニュー

概要 Unity メニューの「Assets > Cache Server > Upload All Assets」を押して 表示されたウィンドウで Cache Server の IP アドレスを入力して「Upload」を押す

【Unity】Addressable Asset System で差分ビルドが必要なエントリを取得する方法

概要 using UnityEditor; using UnityEditor.AddressableAssets; using UnityEditor.AddressableAssets.Build; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var settings = AddressableAsse…

【Unity】Addressable Asset System で Unity を再生した時やアセットバンドルをビルドした時に呼び出されるコールバック

概要 using UnityEditor; using UnityEditor.AddressableAssets.Build; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { BuildScript.buildCompleted += OnBuildCompleted; } private static void OnBuildComplete…

【Unity】Package Manager でビルトインパッケージを無効化する方法

概要 Package Manager のプルダウンメニューから「Built-in packages」を選択すると Unity プロジェクトで有効になっているビルトインパッケージが閲覧でき、 それぞれのパッケージの有効化・無効化もできる (manifest.json の mudules 系の行を削除するこ…

【Unity】Addressable Asset System が依存している Unity Package

概要 com.unity.scriptablebuildpipeline com.unity.test-framework

【Unity】Unity プロジェクトに独自のデータを保存できる「EditorUserSettings.SetConfigValue」

概要 using System; using UnityEditor; using UnityEngine; [Serializable] public sealed class Data { public int Id; public string Name; } public sealed class Example : EditorWindow { [MenuItem( "Tools/Open" )] private static void Open() { Ge…

【Unity】エディタが起動している間データを保持できる「ScriptableSingleton」

概要 using UnityEditor; public sealed class Data : ScriptableSingleton<Data> { public int Id; public string Name; } public sealed class Example : EditorWindow { [MenuItem( "Tools/Open" )] private static void Open() { GetWindow<Example>(); } private void </example></data>…

【Unity】スプライトをアトラス化する前とした後の Build Report の差

はじめに Unity プロジェクトに 382.7 KB のスプライトを5つ追加して SpriteAtlas でパッキングしなかった場合とした場合で Build Report にどのように差が出るか アトラス化前 Textures 1.5 mb 9.1% 384.4 kb 0.8% Assets/Sprites/f005.png 384.4 kb 0.8% A…

【雑記】Google スライドで使えるカッコいいテンプレート「Azusa 3」

リンク

【Unity】親オブジェクトが子オブジェクトをすべて内包するように親オブジェクトの位置とサイズを調整するエディタ拡張「UniParentRectTransformFitter」を GitHub に公開しました

リポジトリ 使い方 Inspector で RectTransform の項目を右クリックして「Fit Children」を選択します Undo に対応しています 孫オブジェクトに対応しています Scale に対応しています

【Unity】External Tools の Android の項目の取得または設定ができるパッケージ「UniAndroidExternalTools」を GitHub に公開しました

リポジトリ 使用例 using UniAndroidExternalTools; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Log" )] private static void Log() { // JDK Installed with Unity (recommended) Debug.Log( "JdkInstalledWi…

【Unity】SpriteAtlas.GetSprite したスプライトをキャッシュするクラス「UniSpriteAtlasCacher」を GitHub に公開しました

リポジトリ 使用例 using UniSpriteAtlasCacher; using UnityEngine; public class Example : MonoBehaviour { public SpriteAtlasCacher m_cacher; private void Start() { // 指定されたスプライトを SpriteAtlas.GetSprite して内部でキャッシュする var …

【Unity】コマンドライン引数を解析して指定されたクラスのインスタンスに変換するパッケージ「UniCommandLineParser」を GitHub に公開しました

リポジトリ 使用例 Unity.exe ^ -batchMode ^ -quit ^ -executeMethod Example.Run ^ -myOptionInt 25 ^ -myOptionFloat 2.5 ^ -myOptionString "ピカチュウ" ^ -myOptionBool using System; using UniCommandLineParser; using UnityEngine; public static …

【Unity】SpriteAtlas にテクスチャを含める時は元のテクスチャの圧縮設定が反映された状態でテクスチャアトラスに描き込まれる

概要 例えば上記のようなグラデーションのテクスチャを Unity プロジェクトに2つ追加して 1つは RGBA 32 bit、 もう1つは RGB 16 bit の圧縮設定を適用すると ゲーム中に描画する時に、圧縮設定が反映されていることが確認できる (左が RGBA 32 bit、右が R…