UnityAssetStoreはゲーム制作に便利な素材やプログラム、またUnityをより使いやすくする機能を手にいれることができます。
ありがたい事に無料で公開されているものもあり、ゲーム制作を大きく助けてくれます。
しかしながら、アセットを導入するにあたって色々注意しなければならない事があります。
アセットを購入したのに、プロジェクトが動かなくなってしまう事がありますし、画面が真っピンクになる事もあります。直し方を知っていればいいですが知らないと詰んでしまう事もあります。また著作権の問題など多くの注意点がありますので、それについて詳しく解説していきたいと思います。
<ライセンスがややこしい>
一番最初に見るべきポイントはそのアセットのライセンスです。実は2020年2月3日にライセンスの改定、2020年4月13日に利用規約の解釈の変更があり、いろいろな変化がありました。
そのため、この記事のようなUnityAssetStoreのライセンスについての解説はいつ書かれているのかによって中身が全然違う物になっているので、ご注意ください。この記事は2020/9/29に書かれています。以降改定されてないかをご確認ください。この解説も古くなっている可能性があります。
そして、2020年2月3日の改定が非常に大きく、それより前に出ていたアセットが今の状態と不整合があるものが出てきました。
改定前に購入したアセットには以前のライセンスが、改定後に購入したアセットには改定後のライセンスが適用されます。ですが、2020年2月3日より前のライセンス想定で出品されたアセットがストアに残ってしまい、ちょっとちぐはぐな状況が生まれてしまいました
実は以前は「追加ライセンス」というものがあり、UnityAssetStore本来のライセンスに加えて、アセットの制作者さんがそのアセットに対してライセンスを付与することができました。
例えば、UnityAssetStoreのライセンスではアセットの制作者さんのクレジットを表記する必要はありませんが、追加ライセンスに「名前をクレジットに表記してください」とあった場合、表記する必要がありました。詳しくは↓のボタンの中にまとめてあります。2020年2月3日より前に購入したアセットに関しては↓の追加ライセンスが適用されるので、こちらをご覧ください
一番最初に注意すべきポイントはそのアセットのライセンスです。例え有料のアセットであったとしても、何でもかんでも自由に使えるとは限りません。
そこでまず確認するべきところはアセットの作者さんのライセンス表記があるかです。
UnityAssetStoreでは作者さんの意思が一番優先されます。そのため、作者さんがOKと言っている事はやってもいいし、ダメと言われた事をしてはいけません。
一応、作者さんのライセンスはUnityAssetStoreのライセンスに追加される形になっていますが、被る内容については作者さんの方を優先されるようです。(例:CC0に指定している)
そのため、作者さんのライセンス表記が存在するのかどうかをいの一番に確認したいところなのですが、困った事に表記を記載してある場所が作者さんによってバラバラです。
そのため、ライセンス表記が書いてあるであろう場所を順々に探していき、そのアセットにライセンス表記があるかどうか確認しなければなりません。
公開、配布、販売などを一切行わず、完全に個人で使用して楽しむ場合はライセンス表記を探さなくても大丈夫です
作者さんのライセンスが書いてあるかもしれない場所
1 概要欄
↑はUnityが公式で出しているアセットです。
一番ライセンス表記が書いてある可能性が高いのはここです。ちゃんと左下のShow Moreで全部表示させて確認しましょう。
英語表記で読むのがしんどいですが、頑張るしかないです。
ちなみにグーグル翻訳にぶち込むとたまに「Credit」の訳が変になってしまい見逃してしまう事があるので注意した方がいいです。
credit 〜〜 と書いてある場合、「作者の名前をどこかに記載してね」と書いてある事が多いです。
とりあえずグーグル翻訳でさらっと見た後、怪しい所の英語はなるべく読む事をオススメします。大変ですが、ライセンス違反は目も当てられなくなるので。
英語が苦手な人はポイントとして、「credit」「commercial」「not allow」「license」という記載がないかよく探して見るといいかと思います。creditは著作表記、commercialは商用利用について、not allowは許可しない事、licenseはそのままライセンスについて書いてある事が多いです。
2 コンテンツ欄
ここにライセンス表記は2019/7/5現在ではありません。
しかしながら、昔ここにライセンス表記がされていた事があり、アセットストアの見た目は日々アップデートしているので突然復活する可能性もあります。
ストアの見た目が不意に変わっている事が多々あるのでコンテンツ欄にLicenseという項目が増えていないかどうか、さらっと見てチェックしましょう。
3 パッケージの中
↑のボタンを押すとパッケージの中身について見る事ができます。
この中に「License」や「Read me」というファイルが存在する場合、そこにライセンス表記がされている場合があります。
これはダウンロードしないと見れません。ダウンロードしてみて中身を読みましょう。
有料のものでこれらのファイルが入っていると購入してからじゃないと確認できないので怖いのですが、大抵の作者さんは他の場所にもライセンス表記をしている事が多いので他の場所を探してみましょう。どこにも記載がないのにLicense.txt等が置いてあるとちょっと注意してみた方がいいかもしれません。有料アセットでライセンス表記がされている場合、禁止項目より許可項目が増えている事の方が多いですが、見てみないとわからないところではあります。
4 作者さんのホームページ
コンテンツ欄の下の方にPublisher websiteというリンクがあるのでここをクリックすると作者さんのホームページに飛ぶ事ができます。
このパターンがとても困るのですが、中にはホームページにライセンス表記をされている方もいらっしゃいます。
正直探すのが大変ですが、ホームページにそれらしい記載がないか探してみましょう。
この追加ライセンスは、改定によりなくなってしまったんですが、追加ライセンスが付与されているアセットがストアに残ってしまいました。2020/9/29日現在でもまだちらほら見ます。
これらのアセットについて公式は以下のように言っています
パブリッシャーが独自に規約を付けている場合
パブリッシャーが独自の規約を添付している場合、そのアセットは本来は審査を通過すべきアセットではありませんので下記お問い合わせ先からお知らせください。
自動的にアセットストアの利用規約が優先されたりパブリッシャーの独自利用規約が無効化されることはありません。当該アセットが適正な状態になるまでの間、一時的にアセットストアから削除するなどの措置を取るなどして、パブリッシャーに対して是正を手配します。
http://assetstore.info/notice/eulainterpretation20200413/
ということで、2020/2/3以降に追加ライセンスを持ったアセットを購入するのはちょっとマズイです。購入してしまった場合は、公式に報告して、返金処理をしてもらえないか相談した方がいいかなとお思います。
ただし、パブリッシャー独自のライセンスは廃止されたのですが、MITライセンス、BSD 3-Clause、Apacheライセンスを含むアセットの場合は、こちらが優先して適用されます。ストアの概要欄、readmeなどを確認しましょう。
そして、Unity公式が出している下記4アセットのみ、独自の利用規約、使用許諾があります。
Unity-Chan License (UCL)の下に配布されています。
Unity Companion Licenseの下に配布されているファイルを含みます。詳細についてはパッケージ内の ThirdPartyNotices.txt をご参照ください。
プロジェクトに含まれる、カスタマイズ済みのポストプロセッシング、レンダーパイプラインのコア、および HD レンダーパイプラインは Unity Companion License の対象です。コードの各コンポーネントのライセンス情報の詳細についてはパッケージ内の ThirdPartyNotices.txt をご参照ください。
デジタルキャラクターは、教育と非商用目的に限ってUnityでのみお使いいただけます。当該パッケージで使われているデジタルヒューマン以外の部品については通常のアセットストアEULAが適用されます。
ストアから追加ライセンスが入ったものが完全になくなってくれれば、いちいちライセンスを確認する必要がなくなるので、便利なのですが、それまでは確認する必要があります。将来なんとかなることに期待ですね。
<シートライセンス・サイトライセンス>
↑の利用規約に加えて、UnityAssetStoreには購入時にシートライセンスとサイトライセンスという2種類のライセンスが適用されます。
これも2020年2月3日に改定されているので、前後で扱いが違います。2020年2月3日より前に購入したアセットは以前のライセンスが適用されるので、ご注意ください。といっても、2020年2月3日より前のアセットでシート購入した覚えがないアセットは個人(と同じ建物に住んでいる家族)、もしくは単一の法人(同一の拠点)内で使いまわせるので、使う範囲さえ広げなければ問題ないかと思います。改定後、そのアセットがシートライセンスに変わっていても追加でシートを購入する必要はありません。
2020年2月3日以降は下記のように変わっています。(改定前でシート購入したアセットも↓のシートライセンスを参照してください)
シートライセンスかサイトライセンスどちらが適用されているかは、カートにいれるボタンの近くを見ればわかると思います。
シートライセンス
シートライセンスというのは簡単に言うと、原則として1人1つ購入する必要があるものになります。
2人で開発するには2つ購入、3人で開発する場合は3つ購入する必要があります。
無料のものは、ライセンスのところにシートと書いてあるだけです。無料の物は何人居ようと各自でDLすればいい話なので、特に気にせず使えると思います。
有料のものは購入するところに購入数を決めるUIが出現するので、開発人数に合わせて購入してください。1つだけ購入して、みんなで使いまわすと利用規約違反になります。
また、シートライセンスの中には必ずしも1人1シートとは限らないものもあります。そういう場合は説明が書いてあると思うので、そちらを読みましょう
サイトライセンス
サイトライセンスが適用されている場合は、購入者がどの立場にあるのか選択する必要があります。
サイトライセンスが適用されているアセットは、その選択した範囲内で人数に関係なく無制限にアセットを利用できます。
Single Entity
「単一の法人」もしくは「Single Entity」と書かれているところを選択するとアセットの利用可能範囲が以下になります。
・個人(と同じ建物に住む家族)
・単一の法人(同一拠点内)
Multi Entity
「複数の法人」もしくは、「Multi Entity」と書かれているところを選択するとアセットの利用可能範囲が以下になります。
・法人または事業体の従業員
・親会社、子会社、兄弟会社などからなる企業グループの従業員
また、法人または事業体と単一のプロジェクト単位で業務委託契約を結んで働く個人や企業の従業員も、契約対象のプロジェクトに限定してアセットを共用利用できます。
ただし、以下のケースは対象範囲に含まれないそうです。
・ジョイントベンチャー
・協力企業もしくは取引先など
・共同事業体
・法人または事業体と単一のプロジェクトに制限せずに業務委託契約を結んで働く方
これらのケースはまたそれぞれで別途アセットを購入する必要があります。
また、プロジェクト単位で業務委託契約を結んで働く方が保有する「複数企業向けライセンス」のアセットを、業務委託契約相手である発注者と共用利用することはできません。
<UnityAssetStoreの利用規約>
さて、追加ライセンスがなくなったので許可されているライセンスと特別なアセット以外は、UnityAssetStoreが取り決めたライセンスが適用されます。↓がその内容になります。
英語なので読むのがしんどいですが、簡単に言うと
「アセットを取り出せない形」での公開、配布、販売○
商用・非商用○
アセットの改変○(アドオンカテゴリのサービスを含まない)
「アセットを取り出せる形」での公開、配布、販売×
アドオンカテゴリのサービスのアセットのSDKを改変×
アセットのバックアップ目的以外でのコピー×
人数分ライセンス取得が必要なアセットを複数人で使い回す×
「アセットを取り出せない形」「アセットを取り出せる形」というのは、そのままの意味で、ダウンロードしてきた素材が取り出せなければOKになります。
例えば自作のゲーム内にアセットを含めて、そのゲームの実行ファイル(exeやapp,ipa,apkなど)を公開した場合はOKになります。
これはゲームの実行ファイルになることによってアセットそのものを取り出す事ができないからです。(厳密には取り出す事が可能ではありますが、取り出すには特別な知識が必要な為OKとされています。一般の方が簡単に取り出せなければいいみたいです)
逆に製作中のゲームのプロジェクトファイルにアセットを含めてネット上などにあげる行為はライセンス違反になります。なんの工夫もせずともファイルの中から探し出す事が可能である為です。
素材をそのまま再配布するのはアセットを取り出すというか、そのものですのでもちろん禁止。
サービスSDK以外のアセットは改変する事ができるのですが、例え原型を保っていなかったとしてもその改変後のアセットを容易に取り出せたらアウトになります。
また、そのアセットを使って作成した映像をYoutubeで公開したり、ブログやツイッターで紹介したりする事も可能です。これは映像からアセットそのものを取り出す事が不可能だからです。
アドオンカテゴリのサービスというのはストアの検索カテゴリの中のAdd-Ons>Servicesになります。このカテゴリのアセットに含まれているSDKは改変禁止になっています。
また、Unity側が使用OKとしてるコンテンツは以下の通りです。
ゲーム、映像、映画、動画、アニメ
医療・自動車・建設・製造業向けアプリケーション / シミュレーター
デジタルアート(例:プロジェクションマッピング、メディアアート、ビジュアルジョッキー、その他)
電子書籍・漫画
ギャンブルコンテンツ(例:ビデオポーカーやビデオスロットマシン、その他)
業務アプリケーション
また、この利用規約は2020年4月13日に解釈変更がなされており、今まではそのアセットを使用する場合
(前)Unityで最終的なビルドをする、あるいはUnityをレンダリングエンジンとして使用しなければならない
(後)Unityに限らずゲームエンジンやオーサリングソフトウェアなどに取り込んで使用できる
という風に変わりました。これは使用可能範囲が広がってとてもありがたいですね。ただし、Unity外で使用する場合にはサポートの対象外になるのでご注意ください。
このようにライセンスは色々と複雑ですが、見落としたりしたらトラブルの元になってしまいますので細心の注意を払いましょう。特に追加ライセンスが未だにくっついているアセットには気を付けましょう。
<エラーで動かなくなってしまうケースもある>
アセットストアでダウンロードしてきたものの、エラーで動かなくなる事もあります。
アセットを購入する前に注意深くエラーになりそうなところを見ましょう。
対象のUnityバージョンが違う
ストアの右側に「対応するUnityバージョン」という項目があると思うので、そのアセットが使えるバージョンを確認しましょう。
サポートされていないUnityバージョンで起動した場合、うまく起動しない可能性があります。
エラーが起きてしまったらバージョンアップ対応を自分でしないといけなくなります。バージョンアップ対応のやり方がわからない場合は、そのアセットを導入しないほうがいいかなと思います。もしくはそのバージョンのUnityを使用するかです。
また、とても古いバージョンが記載されていたとしても「or Higher」か「以降」と書いてあったらそのバージョンより新しいバージョンという意味ですので、当てはまるなら使用する事ができます。
Pluginと言う名前のフォルダが入っている
ダウンロードしてきた物の中にフォルダでPluginという名前のものがあった場合は注意が必要です。
ストア画面のパッケージの内容というところをクリックするとそのアセットの中身が見れます。
↑の中にPluginというフォルダが無いか探してください。深い階層のフォルダも含みます。
このプラグインというのはUnity外部の機能と連携して使う機能になります。
例えば、UnityとAndroidの機能を連携させるとかなどです。
その為、外部の機能の影響をモロに受けます。
iOSやAndroid、WindowsやMacは日々目まぐるしくアップデートを行なっている為、Pluginの中に入っている機能が、アップデートについていけていない可能性があります。
その為、これは、Unityの対象バージョンと外部の機能のバージョンを確認する必要があります。
と、言っても、様々なプラットフォームが目まぐるしくアップデートしていっているので、「Plugin」のフォルダを含むアセットは、最終更新日時を確認した方がいいかなと思います。作者さんがちゃんとアップデートに対応してくれているかどうかというのはちゃんと見ておきましょう。
自分のバージョンは固定できますが、遊ぶ人のバージョンは固定できないので、日々アップデートしていくしかありません。
また、Pluginをフォルダに含んでいるアセットにも2種類あり
ゲームには含まれないもの(開発中でしか使用しない機能)とゲームに含まれるものがあります。
ゲームには含まれないものは、一旦カラのプロジェクトに入れてみて動くかどうかテストしてみましょう。これで動けば特に問題なく使えると思います。後、Windowsのみで動くPluginも多いので、Macを使っている方は概要欄をよく読みましょう
問題は、ゲームに含まれるものです。
この場合、一度カラのプロジェクトにそのアセットのみを入れてビルドしてみるといいと思います。
普通、ゲームが完成してから実際に携帯やゲーム機などに入れてプレイしてみると思うのですが、Pluginのフォルダが入っていた場合、動かなくなる可能性があるので、被害が少ないうちにテストしてみましょう。
Pluginがゲームに含まれる場合、早急に実機でプレイした方がいいでしょう。例えカラのプロジェクトであっても大丈夫ですので一回入れてみてテストしましょう。
ちなみに、Pluginを入れてしまって動かなくなってしまった際に入れる前の状態に戻す手段がないと入れたアセットを全て削除する作業を行う羽目になります。作者さんが1つのフォルダにまとめてくれているといいのですが、たくさんのファイルに分けてあった場合削除が大変になってしまいます。
ちゃんとカラのプロジェクトでテストするか、導入する前の状態をバックアップすることをオススメします。
Editorという名前のフォルダが入っている
Editorという名前のフォルダがアセット内に含まれていた場合、Unity自体の機能を変えてしまいます。(正確には変更ではなく拡張なのですが、結果が変わってしまうのは事実です。)
その多くが、Unity自体をより使いやすくする為に使用されています。本来、ゲーム作りを便利にする為のアセットという事です。
このEditorという名前のフォルダを持つアセットを1種類だけを導入した場合はほとんど問題はないと思いますが、たくさんの種類のアセットを導入した場合は問題が起こる事が多いです。
Pluginの時と同じようにEditorというフォルダが無いか探してください。
違うアセットがUnityの同じ機能を変更しようとしてぶつかってしまう場合や、Unityの元々の機能を使用する事を想定していたのに別のアセットによって変更されていたり、無限ループに入ってしまって処理が終わらなくなったりします。
世に言う食い合わせが悪い状態に陥ってしまうのです。
その為、「Editor」と言う名前がついたフォルダを持ったアセットを複数導入したい場合は、まずカラのプロジェクトにそれらを入れてみて、ちゃんと動くかどうか調べてみる必要があります。
また、ちゃんと動いたとしてもUnity自体が重くなる事があります。編集中にやたら処理が走ったりする事もあります。
動かしているゲームが重いのではなく、Unity自体がなんか重いなと感じたら、まず「Editor」と名前がついたフォルダの中身を疑ってみましょう。
指定しているPackageを導入していない
アセットをインポートしたものの、エラーがたくさん起きるということがあります。この場合、慌てず落ち着いて、作者さんが導入方法について解説していないか探しましょう。
作者さんの中には、PackageManagerに封入されているアセットを導入していることを前提としたアセットを販売されている方もいます。
そういった作者さんはアセットの概要欄や、Read meやManualや自身のホームページで必要な初期設定を解説してくれているので、作者さんの指示に従いましょう。
<アセットがピンク色になってしまう>
アセットをダウンロードして来たはいいものの、アセットが真っピンクになってしまう事があります。
この場合、シェーダーでエラーが起きています。
エラーといっても種類が色々あります。
シェーダーのバージョンが古い
単にバージョンが古いので映らなかったりする事もあります。
こちらも自分でバージョンアップ対応をする必要があります。
バージョンアップのやり方がわからないのであれば、サポート対象外のUnityのバージョンを指定しているアセットは導入しないほうがいいと思います。
もしくはそのバージョンのUnityを使うかです。
アセットのフォルダを移動させた
シェーダーの中には.cgincというファイルがある事があります。これの位置をシェーダープログラムとは別の場所に持って行ってしまうとエラーが起きる事があります。
また、人によってはAssetsフォルダからパスを指定している人もいるので移動によってエラーが起きる可能性があります。
作者さんが元々配置していた位置にフォルダを戻しましょう。
マテリアルが外れている
何らかの原因でマテリアルの参照が外れてしまう事があります。マテリアルがMissingになっていないかどうか確認してはめ直してください。
アセットがScriptRenderPipelineだ
アセットの概要欄のところで「HDRP」や「URP(LWRP)」と記載されていた場合、Unityがデフォルトの状態だと真っピンクで表示されます。
これはRender Pipelineが違うから起きる現象です。
これらのアセットを使用するにはプロジェクトを作成する時に、High-DefinitionRPかUniversal RP(Lightweight RP)かVRLightweightRPを選ぶ必要があります。
また、High-DefinitionRP Onlyなど、それしか適用しないものもあるので気を付けましょう。
もしくは、プロジェクトにScriptRenderPipelineを使用するか、後から↑の設定を適用する必要があります。
逆に言うと、Buit-in RPと書かれていた場合、↑でHigh-DefinitionRPかUniversal RP等を選択するとピンク色になります。正しいレンダーパイプラインを選択してください。
<モデルの見た目が思ってたのと違う>
ストア内だととっても綺麗ですごいアセットだったのに、いざダウンロードしてみたら思ってたのと違う事があります。
これは、そのアセットの作者さんがPostProcessingを使うことを前提にしている事がある為です。
そういった作者さんはアセットの概要欄や、Read meやManualや自身のホームページで必要な設定を解説してくれているので、作者さんの指示に従いましょう。
ちゃんと設定通りにしないとショボイ見た目になって思ったのと違うことになってしまいます。
<拡張キットだ>
アセットの中には、〇〇アセットを更によりよくする拡張キットが売っている場合があります。この場合、そもそも元の〇〇アセットを持っていないと動かないケースもあるので、ストア概要欄をよく読みましょう。
<アセットそのものが著作権違反だ>
実は悲しいことに、UnityAssetStoreで出品されている商品の中にも著作権違反をしているものがたまに現れます。
これはストアに並んでいることがそもそもおかしいので、見つけたらUnityに違反報告をしましょう。
と言っても、公式も見逃してストアに並べてしまっているので、見分けるのは非常に困難です。
例えば、著作権違反のBGMが売られていたとしても、そのBGM自体を聞いたことないと、それが著作権違反の物であるのかというのは判別がつきません。
そのため、公式もこれらの違反を100%完璧に排除するのは難しいと思いますし、我々も判別するのはかなり難しいです。
こればっかりはストアのレビューを見て判断するしかなさそうです。
ちょっと完全な回避策とは言えませんが
・なるべくレビューが少ないアセットは避ける
・レビューに変なことが書かれていないかよく読む
・BGM、キャラクターなどは特に気を付ける
これらを気を付けることによって、著作権違反のアセットを自分が踏むという状況は回避できるかもしれません。