アセットストアの申請でエラーが出たら?~エラー別対処法~

タイトル装飾

アセットストアの申請でエラーが出たら?~エラー別対処法~

UnityのAssetStoreで自分のアセットを販売するなら避けて通れない申請対応。

この記事では、私が実際に経験したエラーの中でも特に不可解で

解決に時間を要したものを抜粋し、その対処方法について記載します。

■前提

私は申請前に、AssetStoreが無料配布している公式ツール「Asset Store Tool」(無料)を使ってアセットに不備がないかチェックしています。

Asset Store Toolの中には、Asset Store Validatorというチェック機能が搭載されていて

申請対象の格納場所(パス)とカテゴリを指定→実行することで、内容物に不備があった際にエラーログを表示してくれます。

 

(↓こんな感じ)

アセット公開までに掛かる日数は主に「順番待ち」の時間なのですが、不備が見つかる度にReject(却下)評価を受け、列から外されてしまいます。

 

不備が残っていても申請は出来ますが、高確率で弾かれてしまうため

可能な限りエラーを減らしておくことがスムーズな公開への近道なのです。

それではここから本題

■発生したエラー①

“Each mesh should have a corresponding prefab set up with all variations of the texture/mesh/material that you are providing. Please create prefabs for all of your imported objects”

 

Google翻訳↓

 

“各メッシュには、ご提供いただいたテクスチャ/メッシュ/マテリアルのバリエーションに対応したプレハブが必要です。インポートするすべてのオブジェクトに対してプレハブを作成してください”

 

【原因】

アセットにTexture/mesh/Materialが含まれているが

Prefabに使用されてないものが1つでも含まれていると発生

 

【解説】

噛み砕いて言うと「環境内に存在する素材はすべてアセット(Prefab)で使ってね」という意味なのですが、普通に制作していれば達成できる条件に見えます。

 

ところがParticleSystemのみで制作したエフェクト等、一部のコンポーネントで参照・利用した際に発生する可能性があります。

 

例えばParticleSystemでmeshを扱う場合、

Prefab内でのmeshの扱いは下記のようになります。

 

・親Object(この階層でPrefab化)

 ┗ParticleSystem(この中でmeshを参照・使用)

 

この場合、meshをオブジェクトとして直接配置・使用しているわけではないので

「Prefabの中にmeshは含まれていない」=「使っていないリソースがある」と判断されるようです。

 

エフェクト制作では1つのメッシュを複数のエフェクトで使い回すこともありますが

ParticleSystemだけで利用する場合、何度使っていても「Prefabで使ってね」と文句を言われるようです。

 

(大迷惑すぎる…)

 

 

 

【対策】

meshに適当なmaterialをアサインしただけのオブジェクトを作り、Prefab化してProject内に設置することで解決しました。

 

・親Object(この階層でPrefab化)

 ┗mesh(任意のmaterialをアサイン※なんでも良いです)

→この構成で親ObjectからPrefab化し Projectのアセットフォルダ内に置いておく

 

 

環境内に不要なデータが増えてしまいますが、この対応をせずに申請した結果リジェクトされてしまったので、やっておくことをオススメします。

(※同様のエラーを残したまま申請を突破している他者のアセットを見かけたので、試しに申請して玉砕しました!)

 

とはいえユーザーには不要なデータなので、混乱を避けるために

Readmeに注意事項として記載し、使用者が混乱しないように対策を行いました。

■発生したエラー②

“The name of your asset’s base folder should be either your publisher name or the name of the package. Please rename it. “

 

Google翻訳↓

 

“アセットのベースフォルダの名前は、パブリッシャー名またはパッケージ名のいずれかにする必要があります。名前を変更してください。”

 

【原因】

申請時に設定したアセット名称と、アセット内のプロジェクトフォルダ名が食い違っている時に発生

 

【解説】

とても単純な話、ここ↓の名称と

ここ↓の名前が違うよ!と言われました。

ただ不可解なのが

スペースの有無まで確認し、名称が完全に一致しているのにエラーを吐いたです。

※申請前のValidatorチェックでもエラーは発生していません。

 

あまりにもシンプルな内容なのに原因が分からず、テキストの比較や情報サイトを読み漁りました。

 

【対策】

申請画面のアセット名をコピーして、アセット内のプロジェクトフォルダに貼り付けたら解決しました。

 

見た目にはまったく変化はありませんでしたが、上記対応後に再申請したら無事公開されました。何故…

 

未だに原因ははっきりしませんが、同じエラーに遭われた際はコピペをお試し下さい。

■まとめ

今回は2つのエラーをピックアップして紹介しましたが、いかがでしたか?

Unityの技術提供記事はたくさんありますが、アセットの申請に特化した情報はまだまだ少ないと感じています。

同じエラーで困っている方の助けになれたら嬉しいので

今後も何かあれば書き留めていきたいと思います。

 

読んでいただきありがとうございました!

作者
  A.K
  デザイナー

目次

目次を生成中...