Unityのアセットストア（AssetStore）に有料アセットを出品してみた【Target Platform】

# はじめに
Unityのアセットストアに有料アセットを出品してみたのでその備忘録。ネット上にある資料のまとめと実際に出品するまでわからなかったことなどのまとめ。

# 作ったアセット
[Target Platform - for multi-platform development](http://u3d.as/UPh) ($5)
[![large_516x389.png](https://qiita-image-store.s3.amazonaws.com/0/27863/811bc127-18ff-5867-40ff-b0cd9ae55d9a.png)](http://u3d.as/UPh)

Unityで複数プラットフォーム向けに開発するときの手間を減らすアセットです。以下の機能があります。

* コンポーネントをAddすることでそのGameObjectが動作するプラットフォームを制御
* Unity組み込みのシンボルが定義されているかどうかを実行時にboolで取得可能
* RuntimePlatformを判別するためのショートハンド
* Unity5.0~のすべてのプラットフォームに対応
* ソースコード付属

[unityroom](https://unityroom.com) にゲームを上げてそのままiOSとAndroidに出そうと思ってる人にオススメです。

![screenshot1.png](https://qiita-image-store.s3.amazonaws.com/0/27863/1a6a55b1-0ae2-4cc8-ef51-823fb7d4b52a.png)

![screenshot2.png](https://qiita-image-store.s3.amazonaws.com/0/27863/58a3dcfc-22d5-ea9a-e8a0-e6511f63fa2e.png)

![screenshot3.png](https://qiita-image-store.s3.amazonaws.com/0/27863/757c5265-28a5-b83f-9df0-8fc4c97a814e.png)

# 作った動機
iOSとAndroidとWebGLの3プラットフォームへ向けてビルドするつもりでゲームを作ったら割りと面倒だった。
複数プラットフォーム向けのゲームを作ろうとすると泥臭い`if`文が大量に発生するので少しでも減らしたかった。

* WebGLでだけ非表示にしたいボタンを作るのにコーディングが必要
  *  → ノンコーディングに
* `#if (PLATFORM_SYMBOL) ~ #endif` のようにシンボルを使うとインデントが崩れたりSwitch Platformしたときにコンパイルエラーが出たりする
  *  → 常にコンパイルされる形で実行時に`bool`で判別可能に
* `Application.platform`でのプラットフォーム判別はコードがムダに長い
  *  → 短く

# 読むべき資料
* [アセット作家になろう！　～作ったキャラクターやスクリプトをアセットストアに出品しよう！～](https://www.slideshare.net/takashijona/ss-47008518)
  * Unityの中の人の説明。これを読めば大体のことはわかるし、公開までがだいぶ長い道のりだということがわかる。
* [UnityのAsset販売のノウハウ](http://qiita.com/tempura/items/d8048ef72c94b59778f9)
  * アセットを何本も出品されてる作家さんの説明。ありがたい。

# 実際にやってみるまでわからなかったこと

## <font color="red"><b>アセット提出後の審査にかなり時間がかかる</b></font>
結論から書くとリジェクト対応も含めて提出から実際の出品までは<b>１ヶ月</b>かかると思っておいたほうがいいです。
自分の場合は審査提出から実際の審査まで<b>20日</b>かかりました。

幸いリジェクトもなしですんなり出品となりましたが、審査までは管理画面上で特に動きはありません。

待っている間は審査提出時に自動で送信されてくるメールを読んで心を落ち着かせる必要があります。

> We receive hundreds of submissions per day, and we focus on quality and success for each publisher.
> Because of this, we are experiencing longer than normal review times.

有料・無料、アセットの種類によっても審査時間が変わってくるものと思われます。無料の3Dモデルを出品されてる方は審査まで2週間だったそうです。つい昨日（2017/9/15）のアセットストアのUI変更も影響があったのかも。

海外のフォーラムで「3週間経っても審査されないってどういうことだよふざけんな！」みたいなこと書いてる人がいましたが、まさか自分もそんなにかかるとは...。

## Paypalアカウントのアップグレードに時間がかかる
アセットの売上の支払いは銀行振込よりPaypalのほうが手数料と支払いサイトの面で断然有利なのですが、Paypalの場合プレミアアカウントが必要になります。

通常のアカウントから受取りも可能なプレミアアカウントにアップグレードするのは無料なのですが、本人確認が必要になるため申請から1週間程度の時間がかかります。

## ライセンスは指定できない
エディタ拡張の場合は「1シートにつき1ライセンスの購入が必要」という使用条件になるのですが、管理画面にライセンスを指定する箇所はありませんでした。

選択したカテゴリもしくは審査でストアが決めるのかもしれません。

## 対応するUnityバージョンは指定できない
管理画面から指定不可。アセットを提出したときのUnityのバージョンもしくは提出したアセットのメタデータから自動で決められるようです（Unity5.0以上で動作するアセットを作ったつもりがUnity5.6で作っていたので一部作り直す羽目に...）。

なるべく多くのバージョンを対象とする＆動作確認のため、できるだけ多くのバージョンのUnityをマシンに入れておいたほうが良さそうです。

## パブリッシャのサイトURLはTwitterのプロフィールURLでOK
英語のサイトとかを用意する必要があるのかなと思ってましたが、日本語ばっかりでアセットのことをつぶやいてもいないTwitterアカウントでもリジェクトされませんでした。

## 要求される画像には割りと気を使う
ページの表示サイズによって上に何かが載ったり表示部分が変化するため、提出する画像の大きさや画像内のレイアウトには気を使う必要があります。管理画面からストア画面のプレビューが見れるので要確認。

# 最後に
マルチプラットフォーム開発を支援する"Target Platform"をどうぞよろしくお願いします！

[Target Platform - for multi-platform development](http://u3d.as/UPh) ($5)
[![large_516x389.png](https://qiita-image-store.s3.amazonaws.com/0/27863/811bc127-18ff-5867-40ff-b0cd9ae55d9a.png)](http://u3d.as/UPh)