この記事は、すべてのゲーム開発者のために、現在、来年、そして将来にわたって Unity が何を行うかを共有するために開始する新しいブログシリーズの最初の記事です。
こんにちは、Ralph です。11 年以上 Unity で面白い仕事をしてきて、現在はゲームエンジンやエディターなど、ゲーム全般の開発を統括しています。まだ Unity がデンマークに置いたオフィスと同じくらい小さなスタートアップだった頃、私はエンジンとエディターのエンジニアとして Unity に入社しました。しかし、私たちのミッションは大きなものでした。ゲーム開発を民主化し、誰でもゲーム作りを始められる世界を目指したのです。
それからあっという間に月日は流れ、現在に至ります。Unity は、数百万人のクリエイターが利用し、さまざまなプラットフォームで素晴らしく多様なゲームを作るために使われています。
この数年、ゲーム以外のさまざまな業界で、リアルタイムのインタラクティブコンテンツを制作するために Unity を利用する人が増えています。新しい用途や顧客が増えることで、私たちがその原点から遠ざかってしまうのではないかという懸念も耳にします。これだけははっきりさせておきたいと思います。ゲームは常に私たちの仕事の中心であり、これからも中心であり続けるでしょう。
私たちの目標やミッションは、とてもシンプルです。
Unity は、皆さんがあらゆる種類の優れたゲームを制作し、あらゆる場所にいるプレイヤーにリーチできるようにします。
この動画は、私たちの成功のビジョン、つまり皆さんが Unity で命を吹き込んだ素晴らしいゲームを讃えるもので、とても気に入っています。
この記事は、Unity でゲームを作るために必要なツールを提供するために、私たちが行っていることを紹介する新シリーズの初回の記事となります。Unity 全社からやってきたリーダーや開発チームが、現在取り組んでいること、皆さんが私たちに期待していただけること、そしてそれが皆さんや皆さんのプロジェクトにとってどんな意味を持つのかをお伝えします。
私たちは、毎回のリリースで以下に挙げた分野において大幅な改善を実現するよう取り組んでいます。
皆さんから頻繁にいただくご要望やフィードバックが、私たちの優先すべき事柄を決めています。皆さんからいただいたご意見をもとに、私たちは以下の事柄に優先的に取り組むこととし、またこのシリーズでも議論することにしました。
まずは、このうち最初のトピックだけ詳しく見ていきましょう。
これには多くのことが含まれますが(しかもまだ控えめに言っています!)今回は 2022 年 4 月の Unity 2021 LTS リリース以降の進化を表す、まったく異なる 3 つの機能領域について見てみましょう。URP(ユニバーサルレンダーパイプライン)から始め、コードの記述と実行について、そして最後にユーザーインターフェイスのデザインについて少しお話しします。
ここでは、URP に施された改良を紹介します。『As Dusk Falls』や『Lost in Random』といったゲームを含め、現在 Unity プロジェクトの約 30% が URP を使用しています。私にとっては、どちらも並外れた作品であり、それぞれのスタイルとストーリーテリングを完全な形で実現したものだと思います。私たちは URP を皆さんのファーストチョイスにしたいと考えています。皆さんと共に、この割合を 30% から 100% へ押し上げる道があります。
皆さんのご要望やご意見をもとに、段階的に改善していきます。今年 4 月の Unity 2021 LTS リリース以降、URP だけでも 50 以上の改良が加えられています。ここでは、その一部をご紹介します。
2023 年までを通して私たちが取り組んでいる大きな改善点は、コミュニティからの大きな要望である、テキストベースのシェーダーを簡単にオーサリングできるようにすることです。Block Shader は、スクリプタブルレンダーパイプラインにサーフェスシェーダーのサポートを提供する新しく合理化されたワークフローです。
GPU ベースのハイエンドアーキテクチャからローエンドのアーキテクチャまで、ゲームの管理とスケーリングが課題になっているという意見をいただきました。2023 年の優先事項の 1 つは、すべてのレンダリングパイプラインで統一されたワークフローと設定をすぐに使える形で提供することで、まず URP と HD レンダーパイプライン(HDRP)の両方を同じプロジェクトでホストできるようにすることです。
単一のプロパティのセットを使ってコンテンツのオーサリングを可能にすることで、さまざまなアーキテクチャやプラットフォーム向けにコンテンツを制作するためのコストを削減するソリューションに取り組んでいます。
URP の目標は、これを私たちがサポートするすべてのプラットフォームで最もパフォーマンスの高いレンダラーにすることです。 ビルトインレンダーパイプラインに対する完全な機能パリティと、詳細なドキュメントを備えています。近日公開の本シリーズのグラフィックスに関する記事を楽しみにお待ちください。そこで、レンダリングについての私たちの計画の詳細をご説明いたします。開発計画の詳細については、URP 製品ロードマップのページで常に確認することができます。
コミュニティからは、より高度な技術的コンテンツを求める声が常に上がっています。昨年は、経験のあるユーザー向けの解説を載せた無料の e ブックを多数制作しました。そこには、グラフィックに関する以下の 2 冊も含まれています。
コードを書き、デバッグし、プロファイリングし、イテレーションを回すのに多くの時間を費やすとき、その作業は可能な限りスムーズに進められるべきです。エディター、IDE、ゲームビューや再生モードの切り替えにかかる時間を短縮するよう、努力しています。
では、どのようにしてこれを可能にしているのでしょうか。まず、Unity 2021 LTS のリリース以降、アセットインポートの最適化を進めていることがあります。Unity 2020 LTS と比較して 3 ~ 4 倍高速化し、プロジェクトのインポート時間は 8.7% 高速化しています。
IL2CPP のビルド時間は、前回の LTS リリースから 20%、Unity 2019.4 から 40% 改善されました。プロファイラーツール群への投資により、パフォーマンスのボトルネックをより効率的に、より詳細に特定することが可能になりました。まもなく製品化される予定のメモリプロファイラーでは、ユーザーコードとエンジンコードの両方に詳細なプロファイリングを追加し、メモリが使用されている位置をより速く特定できるようになりました。
2023 年、2024 年に向けて、エディターとランタイムを Microsoft の CoreCLR に移行し、最高の .NET 体験を提供するとともに、最新の C# 10.0 の機能をすべて利用できるようにします。また、高性能のジャストインタイム(JIT)コンパイラー、サーバー対応のガベージコレクター、より堅牢なデバッグ、.NET エコシステムによるテスト、プロファイリング、診断のためのユビキタスツールへのアクセスも実現します。
今後数週間のうちに、パフォーマンスに関するブログ記事を投稿する予定ですので、詳しく知りたい方はそちらもご覧ください。今後の展開についてはエディターのロードマップページもチェックしてください。
私たちは、現場のベストプラクティスをより多く共有するために、Unityを使用している最大手のスタジオを支援し、プロジェクトのコードとアセットを詳細に分析して、最適化のための領域を特定するための支援を行う Unity Professional Services チームと連携して、複数の投資を行っています。ここでは、ゲーム開発を効率的に進めるための先進的で実用的なヒントが詰まった 3 冊の e ブックをご紹介します。
UI Toolkit は、様々なゲームアプリケーションやエディター拡張のためのアダプティブ UI を構築するための機能、リソース、ツールが一体となったコレクションです。Unity 2021.2 での UI Builder の導入と UI Toolkit のランタイムサポート以来、皆様からのフィードバックや報告された問題に基づき、30 のバグ修正とパフォーマンス改善をリリースしてきました。その中には以下のものが含まれます。
2022 年中には、エディター UI を作るための UI Toolkit を本制作での利用が可能な状態にしてリリースする予定です。つまり、Unity エディター拡張機能を作るうえで、UI Toolkit が IMGUI よりも推奨されるソリューションになるということです。
2023 年は、UI 構築のスピードを上げるための基礎的な改良に注力し、より拡張性の高い、より高速なツールにしていきます。特に、新しいデータバインディングワークフローには期待しています。これはデータを UI にバインドするためのビジュアルワークフローで、よりデザイナーにとって使いやすいものになっています。UI Toolkit の詳細やその他の情報を、ゲームプレイと UI デザインに関する製品ロードマップのページでいつでもご覧いただけます。
このシリーズの各記事では、Unity 開発者がそれぞれの専門分野の具体的な取り組みについて説明し、これまでの取り組み、2022 年の LTS サイクルで期待できること、今後数年間に予定されていることなどを共有しています。
次の Games Focus では、グラフィックスチームの Ali Mohebali、Matthieu Muller、Aljosha Demeulemeester が、Unity のレンダーパイプラインに関する主な改善点と計画について、近い将来提供予定のものについて具体的に説明する予定です。
ここでご紹介した内容は、皆さんからのフィードバックによって形づくられています。本日お読みいただいた内容についてのご感想を、Unity フォーラムにお寄せください。これらの機能の開発計画やその他の詳細については、プラットフォームロードマップページをご覧ください。
編集者注(2022 年 9 月 12 日):コミュニティからいただいたコメントへのご対応として "We want URP to be the first choice for everyone, and there’s a road to go from 30% to 100% with you."(「私たちは URP を皆さんのファーストチョイスにしたいと考えています。皆さんと共に、この割合を 30% から 100% へ押し上げる道があります。」)という文に込めた意図についてご説明したいと思います。この文は他のスクリプタブルレンダーパイプラインを置き換えようという意図を込めたものではありません。私たちは引き続き、HDRP、URP、および私たちのレンダーパイプラインファミリ全体に注力してまいります。私たちは 100% のシナリオで、皆さんに URP を選択肢として信頼していただけるようにしたいということです。