コガネブログ

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

2024-01-01から1年間の記事一覧

【Unity】SpriteMask に対応した Unlit/Transparent シェーダ

ソースコード

【Trello】8/15 以降に無効化できなくなった WYSIWYG 編集を無効化できるブラウザ拡張

概要 ブラウザ 拡張機能 Chrome Firefox 上記の拡張機能をブラウザに追加して 「Use legacy markdown editor」をオンにすると WYSIWYG 編集を無効化できます 参考サイト様

【Unity】GoogleService-Info.plist file missing REVERSED_CLIENT_ID, Google Sign-In will fail to initialize.

概要 GoogleService-Info.plist file missing REVERSED_CLIENT_ID, Google Sign-In will fail to initialize. Firebase 構成ファイル「GoogleService-Info.plist」を Unity プロジェクトに追加して iOS ビルドしたら上記のエラーが発生してビルドに失敗した…

【Unity】iOS の RevenueCat で「The receipt is not valid.」

概要 _makePurchase { "error": { "message": "The receipt is not valid. The purchased product was missing in the receipt. This is typically due to a bug in StoreKit.", "code": 8, "readableErrorCode": "INVALID_RECEIPT", "readable_error_code":…

【Unity】Amazon AppStore の RevenueCat で「There was a problem with the store.」

概要 _receiveProducts { "error": { "code": 2, "message": "There was a problem with the store.", "readableErrorCode": "StoreProblemError", "readable_error_code": "StoreProblemError", "underlyingErrorMessage": "Failed to get user data. Make …

【Unity】Android の RevenueCat で『「XXXX」はすでに定期購入しています。』

概要 _makePurchase { "error": { "code": 6, "message": "This product is already active for the user.", "readableErrorCode": "ProductAlreadyPurchasedError", "readable_error_code": "ProductAlreadyPurchasedError", "underlyingErrorMessage": "Er…

【Unity】Android の RevenueCat で「購入しようとしたアイテムが見つかりませんでした。」

概要 _makePurchase { "error": { "code": 5, "message": "The product is not available for purchase.", "readableErrorCode": "ProductNotAvailableForPurchaseError", "readable_error_code": "ProductNotAvailableForPurchaseError", "underlyingErrorM…

【Unity】iOS の RevenueCat で「There was a problem with the App Store.」

概要 _makePurchase { "error": { "code": 2, "message": "There was a problem with the App Store.", "underlyingErrorMessage": "不明なエラーが起きました", "readableErrorCode": "STORE_PROBLEM", "userCancelled": false, "readable_error_code": "ST…

【Unity】RevenueCat で currencyCode が JPY ではなく USD で送られてきた

概要 "currencyCode": "USD" Apple のサンドボックス環境で RevenueCat を使用して課金の検証をした時に、 Product の currencyCode が JPY ではなく USD で送られてくる現象に遭遇した。 iOS 端末で SANDBOX アカウントでサインインしていないことが原因だ…

Releasing render texture that is set as Camera.targetTexture!

概要 Releasing render texture that is set as Camera.targetTexture! Camera で Render Texture を使用しているシーンから 他のシーンに遷移したら上記のエラーが発生する現象に遭遇した iPhone、Android では発生せず、iPad でのみこのエラーが発生する状…

Windows でも Mac のようなショートカットキーで Delete・Redo できるようにするエディタ拡張

ソースコード

Display クラスで画面の元の解像度を取得する

概要 Screen.SetResolution で画面の解像度を変更した後に、元の解像度を取得したい場合は Display.main.systemWidth と Display.main.systemHeight を参照する 参考サイト様

TimeAPI を使用してサーバーの現在時刻を取得する例

ソースコード 参考サイト様

RevenueCat のエラーコードを列挙型で扱えるようにする

ソースコード

RevenueCat で UniTask を使えるようにする拡張メソッド

ソースコード

Android 端末の「日時を自動的に設定」と「タイムゾーンを自動的に設定」の設定値を取得できるクラス

ソースコード 使用例 using Kogane; using UnityEngine; public class Example : MonoBehaviour { private void Update() { Debug.Log( $"日時を自動的に設定: {AndroidDeviceDateTimeChecker.IsAutoTime}" ); Debug.Log( $"タイムゾーンを自動的に設定: {An…

Firebase 関連のパッケージを 11.8.1 にアップデートした時に遭遇した問題

iOS Android

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 …