開発の事前準備として以下の項目を確認しておく必要がある。
Unityで作業するにあたってはPersonalLicenseにて開始することができ、ほぼ全ての機能を使用することができる。
(Personalの場合、ビルド時のスプラッシュの詳細設定が行えず、必ずUnityロゴのウォーターマークが入る。)
Unityには"Personal"、"Plus"、"Pro"の3つのライセンス形態があり、現在の利用規約はとてもシンプルなものとなっており
基本的に企業で開発するにはProライセンスの契約が必要となる。
詳細は、以下のプランを確認すること。(契約条件や内容などが変更される可能性があるため)
またライセンスのオーナーやマネージャーは個人アカウントにライセンスシートを付与することができる。
Unityに限ったことではないが、開発するにあたり開発モデルを検討、クライアントに提示、ドキュメントとして残していく必要がある。
この点については別の板にてまとめることとする。
Unityでの開発は主にUnityEditor上で行うが、コーディングに関しては開発用のIDEで作業をする必要がある。
以前はMonoDevelopが提供されていたが、Unity2017かあ2018年以降はVisualStudioが同梱してUnityをインストールすることが可能となっている。
別々にインストールしている場合は、"Visual Studio Tools for Unity"をインストールしておく必要があるかもしれないので注意。
またIDEはVisualStudio以外のものも選択することが可能だが、Unity連携ができるプラグインが必要になる場合が多い。
以下、IDEを一部紹介
VisualStuido(Windows,Mac)
VisualStudio Code(Windows,Mac)
VisualStuido + ReShaper(Windows)
Rider by JetBrain(Mac)
開発を進めるにあたり、Gitを利用しての共同開発、開発促進が一般的となっている。
".gitignore"などの設定はネット上の記事を参考にすること。
Unityでは、非常に多くの画像や3DCGの素材などを使用することが多いため、プロジェクトのデータサイズなどが肥大化することが多いので注意。
UnityにはCollaborateという機能が存在している。
(※検証したことがないのでどう利用するのか分かっていないが、Unityが提供するGitサーバーという認識だと思われれる。)
Unityで開発を薦めるにあたり、"Asset"フォルダ以下のディレクトリの利用規則を決めておく必要がある。
だが、Unityには特殊なフォルダ(プロジェクト生成時には生成されないのだが)が存在しているため、開発前に
仕様と利用目的を把握しておく必要がある。
AssetBundleは、いわゆるアプリダウンロード後にサーバーから追加コンテンツのダウンロードができる機能になる。
AppStoreやGooglePlayerStoreへの配信時に、あまりにもデータが重すぎるアプリはリリースが難しくなったりする。
この機能が必要な場合、リリース前にしっかりと仕様を決めておく必要があるようで、後々のアップデートや簡易的に実装してリリースしてしまったがために
後のアップデートで作業が困難になる可能性があるよう。
2018年以降、Addressable Assetsという機能が上位互換として実装されるよう。
この機能についても実装状況やバグレポートをチェックしておく必要がある。
サーバーと連携してユーザー情報や画像などのデータのDLなど行う場合に必要な処理となるため、
UI/UXにも影響を及ぼすため方法を予め確認しておく必要がある。キーワードとしては、coroutineやawait/asyncとなる。
Unityに限ったことではないが、以下の記事が勉強になる。