using ディレクティブまたはアセンブリ参照が不足しています。の原因

調べると、拡張定義元と呼び出し元の .NET フレームワークのバージョン違いなどがあるようだが、

自分の場合は、拡張メソッドのクラスに public を付けていなかったのが原因だった。

他にも Unity の Assets > Open C# Project などで一度エディタとの同期をとってやると直る事があるので試してみる価値あり。

[追記]

自分のクラスでエラーが出ている時にビルドすると

NGUI など他のアセットで「using ディレクティブまたはアセンブリ参照が不足しています。」が出る事があるようだ。

自分のクラスのエラーを全て直してクリーン&ビルドすれば直った。