シェーダーバリアントをコード編集なしで最適化。Unity 6.3新機能「ShaderBuildSettings」の活用術、サイバーエージェント「コアテク」が解説

シェーダーバリアントをコード編集なしで最適化。Unity 6.3新機能「ShaderBuildSettings」の活用術、サイバーエージェント「コアテク」が解説

2026.01.18
ニュースUnityシェーダープログラム
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • Unity 6.3の機能「Shader Build Settings」によるシェーダーバリアントの最適化手法、サイバーエージェント「コアテク」がブログで解説
  • シェーダーキーワードのタイプをコンパイル時のみ変更することで、ソースコードを編集せずにバリアント数を制御できる
  • 機能の設定手順や、サンプルコードを踏まえた使用例などを解説している

サイバーエージェント ゲーム・エンターテイメント事業部 コア技術本部(以下、コアテク)は2026年1月14日(水)、【Unity 6.3新機能】ShaderBuildSettingsでソースコードを変更せずにShaderバリアントを最適化する』と題した記事を公開しました。

(画像はブログ記事より引用)

Unityでは、シェーダーの派生コード(バリアント)をあらかじめコンパイルしておき、実行時に切り替える静的分岐の仕組み「シェーダーバリアント」を使用できます。

シェーダーバリアントは描画負荷の軽減に役立つ一方、ビルド時間やアプリ容量が肥大化するデメリットなども抱えています。

関連記事
「シェーダー最適化入門」、サイバーエージェントのゲーム・エンタメ技術組織が新設ブログで公開
2024.06.10

ShaderBuildSettings」はUnity 6.3より実装された機能で、シェーダーキーワードのタイプをコンパイル時のみ変更することで、ソースコードを書き変えずにバリアント数を制御できます

3種類のキーワードタイプ「multi_compile」(全パターンのバリアントをコンパイル)、「shader_feature」(マテリアルで使われているバリアントのみコンパイル)、「dynamic_branch」(バリアントを生成せず動的分岐させる)を相互に変更可能。

これによりビルド時間を削減したり、不要なバリアントを消去したりと、各キーワードタイプの長所を活かしながら開発を進められます。

「ShaderBuildSettings」設定画面(画像はブログ記事より引用)

記事では「ShaderBuildSettings」で各キーワードタイプの変換先を設定する手順や、サンプルコードを踏まえた具体的な活用例などを解説。

そのほか注意事項として、本機能はBuild Profiles単位でしか使用できず、マテリアルごとにキーワードタイプを変更できないことや、Unity 6でタイプの変更先を「Default」に指定した際に不具合が生じることなどを補足しています。

詳細はブログ記事本文をご確認ください。

【Unity 6.3新機能】ShaderBuildSettingsでソースコードを変更せずにShaderバリアントを最適化する | サイバーエージェント SGEコア技術本部 技術ブログ

関連記事

ゲーム開発関連ツールのリリース・アップデートまとめ【2026/8/29】
2026.08.29
Epic Gamesのマーケットプレイス「Fab」、9/8(火)までの期間限定で無料コンテンツを公開。キューブ型のブロックでステージを作れる環境アセットなど3製品
2026.08.26
【エンジニア向け】「ゲームメーカーズ スクランブル2026」おすすめ講演紹介
2026.08.23
ゲーム開発関連ツールのリリース・アップデートまとめ【2026/8/22】
2026.08.22
複雑なゲーム処理を”モジュール”単位に分割して実装。開発初期の「基盤構築」の重要性と、再現性の高い処理の組み方をQualiArtsが解説
2026.08.14
ゲーム開発関連ツールのリリース・アップデートまとめ【2026/8/8】
2026.08.08

注目記事ランキング

2026.08.26 - 2026.09.02
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

ローカル座標
ローカルザヒョウ 各オブジェクトの原点を基点とした座標系における、特定の一点を示した座標。
VIEW MORE

Xで最新情報をチェック!