🚒
CA.unity #9 イベントレポート 〜Unity 6の新時代を探る〜
公開
2025-04-03
更新
2025-04-03
文章量
約4454字
2025年1月8日、「CA.unity #9」がハイブリッド形式で開催されました。サイバーエージェントが主催するUnity勉強会であり、回を重ねるごとに規模や内容が充実してきた本イベント。今回は「Unity 6」がメインテーマとされ、実践的なアップデート情報を4つのセッションで深掘りしました。ユニティ・テクノロジーズ・ジャパンのパートナーエンジニアによる最新解説や、サイバーエージェントのエンジニアによる具体的な活用事例など、盛りだくさんの内容を振り返ります。
オープニング
まずは司会からイベントの趣旨やタイムテーブルが紹介されました。CA.unityはサイバーエージェントが主催する、Unityに関する知見を共有する勉強会であり、社内外の開発者が発表やディスカッションを行う場所です。ゲーム事業を横断する組織「SGE」でのUnity利用事例をはじめ、さまざまなプロジェクトで得られた技術的ノウハウが惜しみなく発信されるのが特徴といえます。 今回はユニティ・テクノロジーズ・ジャパン株式会社からもゲストを招き、Unity 6世代ならではのアップデートが存分に語られることが大いに期待されました。
セッション1: 「Unity6世代のアップデートをサラッとまとめ」
登壇者: 黒河 優介(ユニティ・テクノロジーズ・ジャパン パートナーエンジニア)
概要
最初のセッションでは、ユニティ・テクノロジーズ・ジャパンの黒河さんが、Unity 6で導入された機能や仕様変更をざっくり網羅しながら解説しました。ポイントは以下の通りです。
Unity 6.0 / 6.1のリリースポリシー 従来のLTSと異なり、6.x系は「6.1が出たら6.0にパッチが出なくなる」というスタイルがとられています。ユーザーは適宜新バージョンへ移行していく必要があるそうです。
新しいレンダリング関連の改善 フォワードプラスやディファードレンダリングが強化され、STP(アップスケーリング機能)やフォワードプラス特有のGPU処理などが取り入れられています。ただし利用にはCompute Shader必須など、端末の制約もある点に注意が必要とのこと。
ライトマップ焼きのGPU化が正式リリース GPUを使ったベイクが公式対応になり、非常に高速にライトマップを生成できるようになりました。24時間→1時間程度に短縮した事例もあるそうで、開発速度を大いに上げてくれます。
マルチプレイヤー関連 Unity自身が公式にネットコードやマルチプレイヤーのテストを強化しており、エディタ側で複数ウィンドウを立ち上げてマルチプレイの検証ができるようになっています。今後の6.1/6.2でさらにアップデートが進む見込みとのことです。
Q&A
Q: Unity 2022系でのサポートはどう変わるのか? A: 2022.3系は特定のエンタープライズサポート契約者向けに長めのパッチが出るが、いずれにせよUnityとしては6.x系列への移行を意識しているとのこと。
Q: GPUオクルージョンカリングは従来のオクルージョンカリングとどう違う? A: 事前ベイク不要で動的オブジェクトにも対応できる利点があるが、フォワードプラス前提・Compute Shader対応端末などの条件がある。
セッション2: 「Unity6の新機能 STPについての話」
登壇者: 張 煜冰(株式会社サイバーエージェント グラフィックエンジニア)
概要
次に登壇した張さんは、Unity 6で追加された STP(Spatio-Temporal Postprocessing) というアップスケーリング機能を詳しく紹介。モバイル端末向けに設計され、Compute Shader必須ではあるものの極めて高品質かつ軽量にアップスケーリングを実行できる機能だといいます。
STPの仕組みと効果 静止画、カメラ移動時、オブジェクト移動時など複数パターンで比較映像が示され、FSRなど既存のアップスケーリングに比べても大幅に高画質が得られると解説されました。一方でUI描画には向いておらず、ゴーストが出る点が注意事項です。
性能向上 レンダースケールを0.25や0.3まで下げても、STPの処理後にはそれほど破綻しない映像が得られるという結果が示され、フレームレートが1.5倍から2倍ほど伸びる例も見られたそうです。ただしSTPにも負荷はあり、あまりにレンダースケールを大きめに設定すると逆効果になるため注意が必要です。
UIやカメラスタックとの併用問題 カメラスタックはSTPと併用不可とのこと。ただ、自前レンダラーフィーチャーを実装して描画順を工夫すれば、UI部分をSTP実行後にフル解像度でレンダリングするなどの回避策もあるそうです。
Q&A
Q: UIにも適用できるか? A: STPはUI向きではなく、UI部はSTPの後で描画するのが推奨。さもないとゴースティングが目立つ。
Q: カメラスタックを使っている場合は諦めるしかない? A: 自作レンダラーフィーチャーでタイミングを制御すれば併用可能とのこと。
セッション3: 「Unity6シェーダーWarmupガイド」
登壇者: ブーシェ ロビン晃(ユニティ・テクノロジーズ・ジャパン パートナーエンジニア)
概要
続いてブーシェさんが、シェーダー初回描画時に発生するコンパイルスパイクを解消するためのシェーダーウォームアップ手法を深掘りしました。特にバルカンやメタル環境で従来のShaderVariantCollection.Warmup()
が効かない問題を強調し、Unity 2021.3以降の新APIやUnity 6の新機能「GraphicsStateCollection」を紹介。
バルカンとメタルでの課題 従来のウォームアップ機能は頂点データレイアウトを指定できず、結局初回描画時に再コンパイルが走りスパイクが起きる。
シェーダーウォームアップ新API 頂点データを「属性・フォーマット・ディメンション」として指定しつつウォームアップすることで正確な頂点情報を用いたコンパイルが可能。だがメッシュやパーティクルなど多くの頂点データ組み合わせを把握する必要があり、運用は大変。
GraphicsStateCollection Unity 6で導入されたこの仕組みは、実行中に実際の描画状態を記録し、その情報をアセット化してウォームアップに利用できるため非常に便利。正確な頂点データが自動で集約され、Android/iOSなどバルカン・メタル環境でも確実にウォームアップができるようになる。
Q&A
Q: Compute ShaderやVFX Graphのウォームアップも可能? A: Compute Shaderについては未確認。VFX Graphの描画ならメッシュと同等の仕組みで対応できる可能性はあるが、詳細は要検証。
Q: バルカン/メタル環境で従来APIが無駄になる理由は? A: 頂点データが正確に指定されず、シェーダー初回描画時に再コンパイルが走るため効果が出ない。
セッション4: 「Unity6のAndroid周辺アップデートについて」
登壇者: 向井 祐一郎(株式会社サイバーエージェント Lead Developer Experience)
概要
ラストは向井さんより、Unity 6で追加・拡張されたAndroid関連の機能を紹介。近年Androidゲーム向けのフレームワークが充実しており、いくつかの主要ポイントが語られました。
Androidゲームデベロップメントキットへの対応 ゲームアクティビティをデフォルトアクティビティにすることでスレッドなどが最適化され、ANRリスクも低減する可能性がある。ゲームモードAPIやゲームステートAPIにも正式対応し、端末リソースや熱制御に連動できるしくみが整いつつある。
アドレスブル + プレイアセットデリバリー 大容量アセットを分割してGoogle Playから配信する仕組みをアドレスブルと連携させることで、柔軟にアセットパックを制御できる。200MB以上のアプリサイズ問題を緩和し、ビルドや運用の手間を減らす利点がある。
テクスチャコンプレッションターゲティング ASTCやETC2など、端末ごとに最適な圧縮形式のみを配信できる。結果的にアプリやアセットのサイズ削減が可能となる。
Androidプロジェクトコンフィギュレーションマネージャー Gradleテンプレートを直接編集せず、C#コードでグラドルプロジェクトを柔軟に操作できる新仕組み。テンプレート差分の追従や複雑な設定管理が少し楽になる、と述べられていました。
Q&A
Q: アドレスブルズでプレイアセットデリバリーを使う際、最適な運用方法は? A: ゲームの初期DLを軽量化しつつ、必要な部分を分割ダウンロードする運用が定番。ただし運用ポリシーはアセット構成に合わせて調整が必要。
Q: テンプレート編集との使い分けは? A: Androidプロジェクトコンフィギュレーションマネージャーが基本的に高レベルAPI。これで不足する場合だけテンプレートを直接管理するやり方を検討するとよい。
全体を踏まえた感想 〜次世代Unityのポテンシャルを再確認〜
4つのセッションを通じ、Unity 6がかなり多岐にわたる改変をもたらしていることが浮き彫りになりました。グラフィック面ではSTPや新しいレンダリングパイプライン周りの向上が目立ち、シェーダー周りもGraphicsStateCollectionといった強力な仕組みで実運用が一段としやすくなっています。さらにAndroidの側面では大容量アセット配信やゲームモードAPIなど、ゲーム開発を後押しするエコシステムが広がっている印象です。
一方で、各機能ともCompute Shader必須やカメラスタック非対応など注意事項は存在し、またデフォルトで有効になる新仕様(レンダーグラフやゲームアクティビティなど)に合わせたコード整備が必要になるケースも少なくありません。6.0と6.1以降でパッチ方針が変わるなど、バージョン移行にも計画的な準備が重要になるでしょう。
とはいえ、今回の登壇者たちが示した実装例とQ&Aを見ると、「実務に組み込めば確かなメリットがある」機能が多いのは間違いありません。長期運用タイトルを持つ開発チームや、新プロジェクトでUnity 6を使うチームにとって、より洗練されたゲーム体験を実現できるポテンシャルが大いに感じられる回でした。
以上、CA.unity #9の模様をまとめました。次回以降も、Unityの新機能や実際の活用事例がさらに深く語られることでしょう。興味のある方は、サイバーエージェント公式のアナウンスやYouTubeでのアーカイブ公開に注目してみてください。
Yardでは、テック領域に特化したスポット相談サービスを提供しています。
興味がある方は、初回の無料スポット相談をお申し込みください。
また、資料請求やお問い合わせもお待ちしております。テック領域の知見を獲得し、事業成長を一緒に実現していきましょう。