Google AdMob などの Unity SDK を入れたあと、Unity Editor の再読み込みや更新のたびに GUID 関連の警告が出続けることがあります。
警告だけで動作に大きな実害が出ない場合もありますが、Git で管理しているプロジェクトでは .meta の差分が増え続けてかなり厄介です。
以前は「symlink を実体ファイルに置き換えれば直る」と考えていました。
ただ、今あらためて整理すると、GUID 警告の原因は1つではありません。そのため、まずは 導入経路の整理 から確認するのが安全です。
先に結論
GUID 警告が出たときは、次の順で確認するのが安全です。
- OpenUPM と旧
.unitypackage資産が混在していないか確認する - 旧 AdMob / EDM4U 関連ファイルが
Assets配下に残っていれば削除する - それでも直らず、原因が symlink と切り分けられた場合のみ局所的に対処する
最初から「symlink を全部ハードコピーする」のではなく、まず重複導入を解消するのが基本です。
なぜGUIDが何度も変わるのか
GUID 警告は、次のような原因で起こります。
1. 旧 .unitypackage 資産と OpenUPM パッケージの混在
過去に .unitypackage で導入した AdMob や External Dependency Manager を残したまま、あとから OpenUPM 版を入れると、同じようなファイルや .meta が別経路から読み込まれて競合しやすくなります。
2. パッケージ側の既知問題
最近の Google Mobile Ads 系でも、symlink とは別要因で GUID 警告が起きるケースがあります。
たとえば link.xml のコピー処理や、パッケージ内ディレクトリ構成の問題で GUID conflict が出る報告があります。
3. 旧SDKに含まれる symlink
昔の SDK 構成では、symlink が入っていて Unity 側の既知不具合を踏むことがあります。
このケースでは、symlink がきっかけで GUID の警告や再生成ループが起きることがあります。
対応手順
1. まず導入方法を確認する
まず、自分のプロジェクトがどちらの導入方法なのか確認します。
.unitypackageを手動インポートしている- OpenUPM / Package Manager で導入している
- その両方が混ざっている
両方が混ざっている状態なら、まずそこを解消するのが最優先です。
2. OpenUPMへ移行しているなら旧資産を削除する
過去に .unitypackage で AdMob を入れていた場合は、旧資産が Assets 配下に残っていないか確認します。
特に確認したいのはこのあたりです。
Assets/ExternalDependencyManagerAssets/GoogleMobileAdsAssets/Plugins/Android/googlemobileads-unity.aarAssets/Plugins/Android/GoogleMobileAdsPluginAssets/Plugins/iOS/GADUAdNetworkExtrasAssets/Plugins/iOS/unity-plugin-library.a
OpenUPM 版を使うなら、こうした旧資産は残さず整理したほうが安全です。
3. 一度きれいな状態で再読み込みする
不要な旧資産を削除したら、Unity を再起動して Console を確認します。
この時点で警告が消えるなら、原因は symlink ではなく 導入経路の重複 だった可能性が高いです。
4. それでも直らない場合だけ、警告ログのパスを確認する
まだ GUID 警告が続く場合は、Console に出ているパスを見ます。
AssetsとPackagesの両方に同名資産が見えているか- 同じ SDK が別の場所に二重に入っていないか
- 問題箇所が symlink を含む古い SDK フォルダか
ここで初めて、原因の切り分けを進めます。
symlink が原因だった場合の対処
ここまで確認して、本当に symlink が原因 と判断できた場合のみ、局所的に対処します。
対処の考え方
- 問題になっている symlink を特定する
- 参照先の実体を確認する
- 必要なら、その symlink を実体ファイルや実体フォルダに置き換える
ただし、全部まとめて置き換える前にバックアップを取るのがおすすめです。
.meta の扱いに注意
ここが重要です。
Unity の .meta はアセット参照に使われるため、ファイルだけを雑に入れ替えると、今度は別の参照ズレや差分増加を起こすことがあります。
そのため、symlink の置き換えをする場合は次の点に注意したほうが安全です。
- 作業前に Git へコミットしておく
- Unity を閉じてから作業する
- 問題の箇所だけを局所的に変更する
- 既存の
.metaとアセットの対応関係を崩さない
まとめ
GUID 警告が出たとき、最初にやるべきことは symlink を疑うことではなく、導入経路の重複を解消すること です。
今回の整理をまとめると、優先順位は次の通りです。
- 旧
.unitypackage資産が残っていないか確認する - OpenUPM / Package Manager との混在を解消する
- 警告ログのパスを見て原因を切り分ける
- symlink が原因とわかった場合のみ、局所的に実体へ置き換える
自分の古い環境では symlink の置き換えで改善しました。
ただし、現在の AdMob / Unity 環境では それ以前に重複導入やパッケージ構成の問題を確認するほうが正確 です。
Unityに関する記事一覧
記事が見つかりませんでした。

