AssetBundleAssetBundleから参照されるcgincファイルにはAssetBundle名をつけないとcgincの更新が反映されない現象と対応方法です。Unity2018.22019/2/20追記Unity2018.3.1で直っているかも?というコメントをいただいたので試してみました。手元にあったUnity2018.3.6で試してみたところ・・・確かに修正されていました!MaterialにだけAssetBundle名を付けてcgincやShaderにはAssetBundle名を付けなかった場合ShaderにだけAssetBundle名を付けてcgincやMaterialにはAssetBundle名を付けなかった場合の両方とも正常にAssetBundleがビルドされることを確認しました。情報ありがとうございます!準備まず検証用のcgincファイルを作ります。色を適当に返すGetColor()という関数だけが定義されています。}#endifつぎにこれをシェーダから読み込みます。上記のcgincのGetColor()の結果を返すだけのシェーダです。}}さらにこれをMaterialにセットします。ここまでで3つのファイルができました。前節のファイルのうちMaterialだけをAssetBundleにします。すると当然、MaterialのほかにShaderやテクスチャが含まれたAssetBundleが出来上がります。ここで一度このAssetBundleをビルドして、AssetBundleからMaterialを読み込みます。ロードはこんな感じで適当に。}}結果は正常にcgincで定義した色が反映されます。この状態でcgincのGetColor()で定義した色だけ変えてみます。}次にAssetBundleを差分ビルド(既存のAssetBundleを消さずにビルド)します。上記と同様にMaterialを読み込みます。すると、色を黄色に変えたにもかかわらず赤のまま変わらないという結果が得られます。してはShaderとcgincにちゃんとAssetBundle名を付けるというのが正しそうです。実用性を考えるとShaderとcgincを一つのAssetBundleとするのがよさそうです。この方法であればcgincだけを更新して差分ビルドをしても正常に更新されます。ちなみにですが、差分ビルドをやめてすべてのAssetBundleをビルドしなおせば上記の対応をしなくても正常にcgincの変更が反映されるようです。実用的じゃないので割愛しています。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。Blur(渦巻ブラー)のポストエフェクトを実装する月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。