2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unity + PlayFab Party を使う時の注意点

Last updated at Posted at 2021-03-21

はじめに

PlayFab Party を導入する際に注意しないといけない内容をまとめておきたいと思います。

※ちなみに Mac 用の dll が用意されていないため Mac 環境の Unity エディターでは使用することが出来ません。

Unity のセットアップ

Unity プラグインのインポート

上記から最新版の unitypackage をダウンロードしてインポートします。

※ここで注意しないといけないのは PlayFab Party のパッケージ内に PlayFab SDK も含まれています。もし、PlayFab Party をインポートする前に最新の PlayFab SDK をインポートしている場合は PlayFab Party の方に含まれる PlayFab SDK の方が古い場合がありますので、上書きする際には注意してください。

Unity 側の設定

Unity で使用するには『Allow 'unsafe' Code』を有効にする必要があります。

スクリーンショット 2021-03-21 13.17.14.png

Android 用の設定

Android のビルドの際に以下のようなエラーが表示される事があります。

image.png

これは PlayFab Party をインポートすると Custrom Main Gradle Templete が有効になりますが、使用している Unity のバージョンによっては mainTemplete.gradle の設定が合っていないため発生します。
これを解消するには Assets/Plugins/Android/mainTemplete.gradle を以下のように書き換えます。

aaptOptions {
    // この行を追加
    noCompress = ['.ress', '.resource', '.obb'] + unityStreamingAssets.tokenize(', ')
    ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}**PACKAGING_OPTIONS**

また以下のエラーが発生する場合は gradle.properties の更新が必要になります。

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':launcher:lintVitalRelease'.
> This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry.

Gradle ファイルを出力の際に AndroidX と Jetifier を有効にする設定を gradle.properties に追加します。
このエラーが発生するのは PlayFab Party 以外のプラグインで gradle.properties を出力しているのが原因です。

public int callbackOrder
{
    // 最後に実行されるようにする
    get => 999;
}

// IPostGenerateGradleAndroidProject を継承したクラスに実装する
public void OnPostGenerateGradleAndroidProject(string path)
{
    // path には gradle の出力先が渡されてくるが gradle.properties はその上の階層に配置されている
    using (var stream = File.AppendText(Path.Combine(path, "..", "gradle.properties"))) {
        stream.WriteLine("");
        stream.WriteLine("android.useAndroidX=true");
        stream.WriteLine("android.enableJetifier=true");
    }
}

iOS 用の設定(追記)

PlayFab Party ではデフォルトでボイスチャットが有効になっているため、Unity の ProjectSettings の Microphone Usage Description に説明文を入れておかないと実行時にクラッシュします。
image.png

おわりに

導入の際にはこれぐらいの問題点ですぐにマルチプレイが実装できますので一度 PlayFab Party の導入を検討してみてはいかがでしょうか?

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?