今回のブログは、2023 年以降の製品開発の主要な取り組みについて紹介する Games Focus シリーズの第 7 回です。このブログでは、アーティスト、デザイナー、プログラマーがより速く、共に作ることを可能にするグラフベースのツールと DevOps ソリューションを紹介します。
Unity Visual Scripting のプロダクトマネージャーを務めている Ashley Alicea です。コードレス制作のプロダクトマネージャーである Marc-André Ferguson と一緒に仕事をしています。私たちは、10 年以上にわたる開発者の支援活動や映画やテレビでの仕事などの経験を合わせ持ち、あらゆるバックグラウンドを持つクリエイターにとって Unity エディターをより利用しやすくすることで生じる力を信じています。
Marie-Christine Babin もチームメイトです。彼女はゲームおよびインタラクティブ体験の分野での 8 年の経験に基づき Plastic SCM プロダクトチームのコラボレーションのためのツール開発をリードしています。さらに Marc Nelson もチームにいます。彼は Cloud Build ソリューションをリードしており、ペースの速いおよびエンタープライズインフラ環境での深い経験をもとに指導しています。
この記事では、バージョン管理システム、ノードベースのオーサリングシステムなど、一見関連性がないように見えるいくつかのソリューションをまとめて紹介しています。しかし、これらのツールはすべて、よりコラボレーションしやすいワークフローを形成することで、チーム間の協力をより迅速かつ円滑に進めるために設計されています。
ゲームやリアルタイム 3D 体験の制作には、チームメンバーの異なるスキルセット、プロセス、コンテンツをワークフローに統合するという、特有の課題があります。このような複雑さは、チームの規模が大きくなり、アーティスト、モデラー、デザイナーなど、プログラマー以外の職種のメンバーが増えるにつれて増大することが多いです。プロジェクトで扱うアセットの量、種類、ファイルサイズが増大し、チームワークフローは、特にエディター経験の浅い人にとって取り入れがたいものになります。
あらゆる制作現場における個別のニーズにすべて答えられるツールは存在しないため、多くの開発チームが独自のソリューションを構築し、管理しています。この方法は短期的な解決策にはなりますが、チームやプロジェクトが大きくなるにつれ、非効率や摩擦が生じる可能性があります。そのため、プログラマーやテクニカルアーティストは、本来の仕事とカスタムツールのメンテナンスとを文脈上切り替える必要があり、バージョン管理システムでアーティストやデザイナーをサポートしたり、プロジェクト内でチームメイトが創造性を発揮する方法に制限を加えたりする必要があり、これがストレスの要因になります。
中規模の企業ではプログラマーよりもアーティストやデザイナーの方が多いため、プログラマーでない人が最適でないワークフローに悩まされたり、サポートを待つ間に仕事が滞ってしまったりすることがよくあります。皆さんからお話を伺ったところによると、多くのアーティストやデザイナーは、たとえ方法を知っていても、特に他のゲーム開発・オーサリングツール内でコードを書かずに作業することに慣れている場合は、コードを使った作業をしたくないと考えているようです。
Unity の DevOps とコードレス制作のための最新ソリューションは、ユーザーがこうした課題に対応することを支援します。チームの働き方をカスタマイズし、最適化するために、私たちがどのような取り組みを行っているかをご紹介します。
すべては、ソースコードとデータから始まります。Unity のバージョン管理システム(VCS)である Plastic SCM は、コード開発特有のニーズとクリエイティブワークフローのギャップを埋めるものです。特に、堅牢なコードレビューワークフローを提供しながらも、大規模なレポジトリやバイナリを容易に扱えることがセールスポイントです。つまり、Plastic SCM を使えば、皆さんのニーズに合わせたワークフローを構築することができるのです。例えば、アーティストが次のスプリントのテクスチャに取り組んでいる場合、必要なファイルを探すためにレポジトリ全体を同期する必要はなく、Unity のダッシュボードから直接、自分に関連するファイルだけを操作することができます。
チームに機敏性を与えるには、簡単に変更を加えてレビューできるだけでなく、それらの変更をビルドにまとめてテストできるようにする必要があります。そのため、Cloud Build は Plastic SCM のような一般的な VCS ソリューションと緊密に統合されており、クリエイターはプラットフォームを問わず、クラウド上で複雑なリアルタイム 3D プロジェクトのビルドを自動化できるようになっています。より短い時間でより高い品質の成果物を得られるように、迅速なイテレーションを行えるように設計されています。Cloud Build を進化させるとともに、パフォーマンスと信頼性の向上、およびビルドの失敗のより堅牢なモニタリングにも引き続き注力します。この作業は、プロジェクトの改修を迅速かつタイムリーなものにします。
また、チームワークを支援するための最近の取り組みとして、Unity ビジュアルスクリプティングやシェーダーグラフがあり、クリエイターが使い慣れた原則やワークフローを使ってリアルタイム 3D 制作を行えるようになっています。これらのツールは、プログラマーとノンプログラマーがより自律的に作業できるようにして、コラボレーションをより効率的なものにします。
私たちは、ユーザーのオンボーディングや他のチームとの連携を容易にし、すべての機能における承認プロセスを合理化するためのツールへの投資を続けています。そのため、新しい Plastic SCM のウェブ体験では、Unity ダッシュボードにコードレビューワークフローを導入し、チームメンバーがマージするために提出した作業について議論し、検証できるようにしました。これにより、プロデューサーやその他の意思決定者は、コンテンツとコードの両方を Unity ダッシュボードから直接レビューできるようになり、コードレビューやプロジェクトのコンテンツレビューのために、Plastic SCM クライアントアプリケーションをダウンロードしたり起動したりする必要がなくなりました。
Unity ビジュアルスクリプティング(UVS)は、Unity 2021 LTS リリースに同梱されており、プログラミングなしでゲーム内のゲームプレイのためのコンテンツの作成、統合、接続を行うことが可能です。C# スクリプトを書く代わりに、グラフ内のノードをドラッグアンドドロップしてコンテンツを作成できるため、エディターの機能や Unity API、さらにはプロジェクト独自のコードベースと連携するためのより便利な方法を提供します。
これらのノードを無数の方法で使用することができ、さらにそのグラフやノードのビジュアルフローをリアルタイムで見て、ロジックの実行状況を理解することができます。
ビジュアルスクリプティングには、プログラマーがチームの制作やコラボレーションのニーズに合わせてカスタマイズを行うためのオプションも豊富に用意されています。例えば、カスタムフィールドやプロパティを持つノードを作成したり、ゲームプレイのコードをノードとして公開したりすることができます。これはプロトタイピング、制作、イテレーションをはるかに迅速に行えるようにしつつ、コードを書く人にとっても、チームで使うカスタムツールを開発して保守する手間を減らす効果を生み出します。
Unity 2021 LTS では、 シェーダーグラフで高速なイテレーションを行うための機能に改良が加えられています。例えば、Input Connection と Dropdown ノードについた新しい Branch により、サブグラフノードのデフォルト値とドロップダウン UI 要素を定義し、サブグラフワークフローを統合し、制作時のユースケースに合わせてカスタマイズすることがより簡単になります。
その他、シェーダーのパフォーマンスを向上させるカスタムインターポレーター、すべてのノードのプレビューカスタマイズオプションの更新、Blackboard の変数のカテゴリグルーピング、ノード検索結果の改善などが、シェーダーグラフに最近追加されました。
また、シェーダーグラフ内の HD レンダーパイプライン(HDRP)テッセレーションのサポート、Visual Effect Graph 内のユニバーサルレンダーパイプライン(URP)のコンソールおよび PC サポートなど、スクリプタブルレンダーパイプラインの改善も行われています。
2023 年には、Plastic SCM のウェブ体験と Plastic クライアントアプリケーションの両方に新しくイノベーションを起こし、使用体験を改善して、オンボーディング体験の向上、接続管理、レポジトリの閲覧などの部分で、皆さんのフィードバックに基づいて、全体的なユーザビリティの向上を優先的に行っていきます。
Plastic SCM Cloud Edition のユーザーであれば、Cloud Mergebots でマージプロセスの冗長なタスクを排除することで、生産性を向上させることも可能です。Mergebots は現在オンプレミスの機能として提供されていますが、2023 年にはクラウドでも利用できるようにしたいと考えています。また、2023 年にはウェブ体験用の 3D プレビュー機能を構築し、Unity ダッシュボードから直接レポジトリ内の任意のファイルをプレビューできるようにする予定です。これは、来年以降に提供を予定しているリアルタイム 3D に合わせた一連のビジュアルワークフローの第一歩となるものです。
Cloud Build については、皆さんからの声がはっきりと届いています。私たちは、堅牢なビルド障害の分類と観測可能性に関する取り組みにより、サービスの信頼性を劇的に向上させることを優先しています。また、皆さんに提供するビルド性能をさらに最適化するために、プレミアムな計算ハードウェアと差分ビルドサポートを提供しています。また、近い将来のコンソールゲーム機や、AR、VR、XR のプロジェクトやアプリケーションへのサポートを見据え、プラットフォームの拡大も進めています。
コードレス機能の将来については、実制作でのユースケースを増やし、エディターのワークフローとの統一性を高めていく予定です。その第一の側面として、グラフの実行性能の大幅な向上、メモリ割り当ての削減、プラットフォーム対応の安定化、DLC グラフの提供などを実現する、Unity ビジュアルスクリプティングの新しいランタイムに関するものです。
第二の側面は、グラフベースのツールを開発するための UI Toolkit ベースのフレームワークである Graph Tools Foundation に関するものです。これは今後、ビジュアルスクリプティングやシェーダーグラフなど、グラフベースのツールの共通フロントエンドとなる予定です。今回のアップデートにより、これらのワークフローにおいて、コンテキストをシームレスに習得・移行することが容易になり、また、カスタマイズ機能も統一されます。
今後 2 ~ 3 回のリリースサイクルでこれらの開発を続けますが、来年は、これらの機能追加や改善が、アーティスト、デザイナー、その他、プログラマーでない職種の人たちがエディターで制作やコラボレーションをする際に確かにこれまでとは違うと感じられるように、スタジオやクリエイターと協力することに重点を置きます。2023 年に Unity ビジュアルスクリプティングでは大きな目立つ機能を発表する予定はありませんが、IL2CPP ビルドなどの最優先事項の修正と、グラフに付箋でコメントを追加する機能など、開発体験の改善に関わる機能をリリースする予定です。
最後に、来年は日々のサウンドデザイン作業に役立つ新しいオーディオオーサリングツールも登場する予定です。オーディオファイルをシーンにドロップする前にプレビューしたり、音量やピッチの調整やランダム化、プレイリストへの追加などがすぐにできるようになります。キャラクターの足音に使われているような、プレイリスト内のオーディオアセットを、クリエイターがコーディングすることなく、ランダム化することができるようになります。この変更により、プログラマーでなくても Unity でより精巧なサウンドスケープを作りだせるようになります。
私たちは、これらのツールの学習・使用方法を改善するために、ドキュメンテーションや教育コンテンツの作成に継続的に投資しています。今日から始めようと思っている方は、まずはこれらのリンクの先にある内容を読むことをおすすめします。
DevOps:
グラフツール:
ここで取り上げたすべての取り組みは、フォーラム、ユーザー調査、ソーシャルチャンネルなどを通じて、私たちのチームに寄せられた貴重なフィードバックやご意見によって実現したものです。引き続き、フォーラムや、新しいロードマップポータルを通じて、皆さんのご意見をお聞かせください。
ロードマップの各カードをクリックすることで各トピックの詳細を確認することができ、またフィードバックを追加することも可能です。カードをクリックし、自分から見た重要度を選び、自分の意見を入力し、送信します。フィードバックは、対応する製品チームに直接送られます。
次回の Games Focus の記事ではマルチプレイヤーゲームを取り上げます。引き続き、ブログをお楽しみに。