コガネブログ

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

SpriteRenderer.RegisterSpriteChangeCallback でスプライトが変更されたことを検知できる

使用例 using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private SpriteRenderer m_spriteRenderer; private void Start() { m_spriteRenderer.RegisterSpriteChangeCallback( SpriteChangeCallback ); } private void OnDestr…

TMP_Text.OnSpriteAssetRequest を使うと sprite タグで Resources を使わないようにできる

使用例 using TMPro; using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private TMP_SpriteAsset m_tmpSpriteAsset; private void Awake() { TMP_Text.OnSpriteAssetRequest += OnSpriteAssetRequest; TMP_SpriteAsset OnSprite…

Amazon のライブアプリテストで定期購入型アイテムの情報を取得できない場合

概要 Unity プロジェクトに RevenueCat を導入して Amazon のライブアプリテストで Purchases.GetProducts を実行したところ products が空で返ってくる現象に遭遇した nce you are ready, click on 'Submit IAP' at the top of the page. RevenueCat のドキ…

CommandServiceClient: CommandServiceException happened, retriesLeft=6

概要 CommandServiceClient: CommandServiceException happened, retriesLeft=6 com.amazon.a.a.n.a.a.c: COMMAND_SERVICE_NOT_INSTALLED: null: null at com.amazon.a.a.n.a.d.e(CommandServiceClient.java:257) at com.amazon.a.a.n.a.d.a(CommandServiceC…

EditorApplication.focusChanged や isFocused でエディタがフォーカスされているか確認できる

EditorApplication.focusChanged の使用例 using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.focusChanged += isFocused => { Debug.Log( isFocused ); }; } } EditorApplica…

iOS のサンドボックス環境でサブスクリプションの購入に失敗する場合

概要 <SKPaymentQueue: 0x282b3a740>: Payment completed with error: Error Domain=ASDErrorDomain Code=500 "Unhandled exception" UserInfo= {NSUnderlyingError=0x2827c4330 {Error Domain=AMSErrorDomain Code=301 "Invalid Status Code" UserInfo={NSLocalizedDescription=Invalid S</skpaymentqueue:>…

「Editor Text Sharpness」でエディタの文字の見やすさを調整できる

概要 Unity 2023.1 から調整できるようになった?

Rider のように Ctrl + Alt + Shift + ↑↓ でゲームオブジェクトの順番を移動できるエディタ拡張

ソースコード

UnityEditor.BuildPlayerDataExtractor.ExtractAssemblyTypeInfoFromFiles で `ArgumentException: JSON parse error: Invalid value.`

概要 ArgumentException: JSON parse error: Invalid value. UnityEngine.JsonUtility.FromJson (System.String json, System.Type type) (at <9bede5ff2b1144578a9ed4efb4ed894e>:0) UnityEngine.JsonUtility.FromJson[T] (System.String json) (at <9bede5…

A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction See the Console for details.

概要 Unity に導入している Firebase 関連のパッケージを 11.6.0 から 11.8.1 にアップデートしてから Android ビルドしたら A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction See the Console for deta…

java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/activity/result/ActivityResultLauncher;

概要 AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/activity/result/ActivityResultLauncher; java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/activity/result/ActivityResultLauncher; at j…

Permission denied @ dir_s_mkdir - /Users/XXXX/.gem/ruby/2.6.0/extensions/universal-darwin-22/2.6.0/ffi-1.16.3

概要 gem install --user-install ffi -- --enable-libffi-alloc ターミナルで上記のコマンドを実行したら Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5 Ignoring json-1.8.6 because its extensions…

iOS framework addition failed due to a CocoaPods installation failure. This will will likely result in an non-functional Xcode project.

概要 iOS framework addition failed due to a CocoaPods installation failure. This will will likely result in an non-functional Xcode project. After the failure, "pod repo update" was executed and succeeded. "pod install" was then attempted …

マウスの第 4・5 ボタンで Undo / Redo できるエディタ拡張

ソースコード

ビルド後に書き出された AndroidManifest.xml を確認できる EditorWindow

ソースコード 使用例 Unity メニューの「Window > Kogane > Merged Android Manifest Path」を選択すると ビルド後に書き出された AndroidManifest.xml を開ける EditorWindow が表示される