😆
Unity でプラットフォーム依存コンパイル内がグレーアウトされるときの対処法
何があったか
Unity で Build Settings を「Universal Windows Platform」にした状態で、
スクリプトファイルで「#if WINDOWS_UWP」を使用して下記のコードを書いたが、
「#if WINDOWS_UWP」内がグレーアウトされてしまいました。
このため、オートコンプリートが一切機能しない!
結構実装がつらい状態でした。
#if WINDOWS_UWP
using Windows.Storage; // この行がグレーアウト
#endif
この状態を可決する方法がわかりましたので、
自分の備忘録として残しておきます。
環境
- Unity 2019.4.20f1
- Visual Studio 2019 Version 16.8.5
対処法
-
Unity で [Edit] > [Preferences] を開く
-
[External Tools] を開く
-
[External Script Editor] が Visual Studio であることを確認
-
[Player projects] にチェックを入れる
-
[Regenerate project files] を選択
-
スクリプトを開く
-
プロジェクトが [Assembly-CSharp] であることを確認(これだとグレーアウトされる)
-
プロジェクトを [Assembly-CSharp.Player] に変更(グレーアウトされない)
Discussion