御幸備忘録

主にUnityに関してのブログです。

【Unity】デバッグ文が表示されないときの対策

はじめに

 Unityでデバッグ文が出ないときの対策方法です。また、デバッグ文の表示がおかしい場合や特定のデバッグ文のみでない場合なども含まれます。

Player SettingsのStack Traceの設定を変更する

 Player Settingsを開き、Other Settingsを選択する。Other Settingsが開いたら下の方のStack Traceの項目を探す。

 Error, Assert, Warning, Log, Exceptionと項目があり、Log TypeがNone, Script Only, Fullのチェックボックスがそれぞれにある。特に問題がなければ、全てScript Onlyに変更する。(Script Onlyがデフォルト値)

【VS Code】summaryを簡単に書く拡張機能

はじめに

 私のVisual Studio Codeの用途は主にC#を使ったUnityでの開発ですが、sumally(サマリー)を書くときにVisual Studioのように///(スラッシュ3つ)で補完されないので不便していました。

C# XML Documentation Commentsの導入

 Visual StudioCodeの拡張機能C# XML Documentation Comments」をインストールします。これで///でsumallyが補完されるようになります。

marketplace.visualstudio.com

Build SettingsでUnityサービスに接続できなくて警告が出ているときの対応

はじめに

 Unityを使っていて、Build Settingsを開くと「Unable to access Unity services. Please log in, or request membership to this project to use these services.」と警告が出ていることはないでしょうか?体感ですが、一時的にネットが切れることやスリープから復帰したときなどに起こるような気がします。もしそうなったときの対処法です。

警告が出たときの対応

 Unity Editorの右上の雲(☁)のマークを押してUnity Servicesに接続する。少し待つとUnity Servicesに接続され、Build Settingsから警告が消えていると思います。

 根本的な問題の場合(ログインしていないなど)、この方法で解決できないかもしれませんが、私の環境だとこの操作で解消することが多いです。

【C#】List<T>型のNullチェックを簡単に行う

List型のNullチェックを簡単に行う

 以下の書き方で「listがnullでないかつ要素が0個以上」の条件文になります。

if (list?.Count > 0)

参考リンク

qiita.com
docs.microsoft.com

Androidでタッチした箇所を表示する方法

開発者向けオプションを有効にする

 まだ開発者向けオプションを有効にしていない場合、先に有効にする必要があります。既に有効の場合は、この手順は飛ばして問題ないです。

 1. 設定を開き、デバイス情報を開く。

バイス情報

 2. デバイス情報を開いたら、ビルド番号を7回タップする。

バイス情報

 3. 「開発者向けオプションが有効になりました」が表示されれば成功。

タッチした箇所を表示する

 1. 設定を開き、システムを開く

バイス情報

 2. システムから開発者向けオプションを開く

システム

 3. 開発者向けオプションを開いたら、下にスクロールしていき「タップを表示」を探す。これをオンにすると、タップした箇所が表示される。

タップを表示

 下の画像のように、タッチした箇所が表示される

タッチした箇所が表示される例

【Unity】UniRxで1フレーム待機する方法

UniRxで1フレーム待機する方法

Observable.NextFrame().Subscribe(_ => {});

 Subscribe()で呼び出す匿名メソッドには引数が必要になるので、_(アンダースコア)を入れましょう。

【Unity】Firebase Dynamic Links APIでApp Storeに遷移させる

はじめに

 Unity×iOSでFirebase Dynamic Linksを踏んだ時にApp Storeに遷移させる方法です。Firebase公式で説明されている方法だと、アプリが未インストールのとき、AndroidはPlay Storeに遷移できても、iOSではApp Storeに遷移できませんでした。

App Store IDの確認

 App Store IDはURLから確認することができます。もしURLが https://apps.apple.com/app/xxxxx/id123456789 であれば、123456789がApp Store IDになります。

App Store IDの指定

 ここではFirebase公式で紹介されているソースに例に手を加えます。仮に、App StoreでIDを123456789とします。

IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios")

の後ろに

{AppStoreId = 123456789}

を加えてApp Store IDを指定します。全体ではこのようなコードになります。

var components = new Firebase.DynamicLinks.DynamicLinkComponents(
    // The base Link.
    new System.Uri("https://www.example.com/"),
    // The dynamic link URI prefix.
    "https://example.page.link") {
      IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"){AppStoreId = 123456789},
      AndroidParameters = new Firebase.DynamicLinks.AndroidParameters("com.example.android.package_name"),
    };
// do something with: components.LongDynamicLink

以上で、ストアに遷移できるようになります。