問題

Unity InputSystem Package をインストールして有効化しましたが、エディタ上で UnityEngine.InputSystem namespace が見つかりませんでした。

うまく動かなかった対応

下記記事のように csproj を再生成したのですが、うまく動きませんでした。

url: https://risaki-masa.com/not-found-input-system-in-vs-code/
title: "【Unity】VS CodeでInputSystemが見つからない時の対処法 – 理咲ログ"
description: "UnityにInputSystemをインストールしてVS Codeで使おうとすると、UnityEngine.InputSystemの名前空間が見つからないことがある。その場合の対処法について書いた。"
host: risaki-masa.com
favicon: https://risaki-masa.com/wp-content/uploads/2018/07/cropped-risaki_icon-3-32x32.png
image: https://risaki-masa.com/wp-content/themes/risaki-log/assets/image/ogp/default.png

うまくいった対応

MainAD という Assembly Definition Asset を利用していました。 Unity Assembly Definition について

MainAD とは Assets/_MAIN というディレクトリ配下用に設定したアセンブリ定義ファイルです。 ここで、今回実装しようとしていた C# ファイルはこの MainAD dll に含まれるものでした。

UnityEngine.InputSystem は外部パッケージであり、Unity の標準パッケージに含まれていません。 よって、 MainAD に含まれておらず名前解決できていませんでした。

解決策

MainAD の Assembly Definition References に InputSystem を追加したところ解決しました。

Imgur