Unity New Input System (experimental) の始め方

0.2.8-preview対応に更新 2019.04.27

※0.1.2-preview対応に更新 2018.12.27
※0.0.13-preview対応に更新 2018.12.8
※パッケージmanifest.jsonを編集する方がお手軽なので記述順を変更

Package Manager から取得

0.2.8-preview(2019年4月27日時点の最新版)ではUnity 2019.1以降が必要になります。
https://github.com/Unity-Technologies/InputSystem/blob/develop/Packages/com.unity.inputsystem/Documentation~/Installation.md
こちらに公式の導入ガイドがあります。
Package Managerを開いて、"Advanced"のドロップダウンメニューから、
"Show preview packages"を選択してpreviewのパッケージが表示されるようにします。
Input Systemが表示されるようになっているはずですので、
そちらをインストールします。

Installをすると、新しいInputSystemを有効にするためはUnityを再起動する必要があると表示されます。
後回しにするとなぜか入力が動かなくて頭を悩ませたりすることもあるので、
ここは素直にすぐ一度再起動しておきましょう。

manifest.jsonを変更してパッケージ取得

パッケージの取得はstaging registryから取得することも可能で、
Package の manifest.jsonに記述します。
既存のパッケージのが列挙されているので、以下の形式になるように書き換えます。
{
"dependencies": {
"com.unity.ads": "2.0.8",
 (中略)
"com.unity.modules.xr": "1.0.0", // <= 既存の一番最後の項目の後にカンマ
"com.unity.inputsystem":"0.0.13-preview" // <= inputsystemの参照を追加
}, // <= ここにもカンマ
"registry": "https://staging-packages.unity.com" // <= satging のレジストリを指定するため追加
}

変更後にunity側でパッケージのインポートが行われます。

以下は0.0.13-previewだと発生しなくなっているようです。
0.0.12-previewバージョンだと、スクリプトコンパイルエラーが出るようです。
com.unity.inputsystem/InputSystem/Editor/InputActionAsset/InputTreeViewLine.cs
の先頭の方で以下の箇所をコメントアウトします。
//using NUnit.Framework;

Githubからパッケージの取得

まず次のGithubリポジトリを、ローカルにクローンするかDLするなどして取得します。
github.com

お試しで触るのであれば、そのまま取得したプロジェクトを開いてもOK.
Unityのバージョンは 2018.2.5f1 or later.

既存のプロジェクトに導入するか、新規のプロジェクトで使っていくにはパッケージをインポートします。
Packages/com.unity.inputsystemフォルダを、インポート先のプロジェクトのPackagesフォルダへコピー。
Unity側でインポートが行われます。
0.0.12-previewバージョンだと、スクリプトコンパイルエラーが出るようです。

こちらもInputTreeViewLine.csでコンパイルエラーは起きてしまうので、コメントアウトして対応します。

現バージョンだと、このあと一度エディタを立ち上げ直さないといけないようでした。
パッケージの参照などは解決しているのですが、実行時にInputSystemが動かないようでした。

Player Settingsの変更

Active Input Handling のところを、Input System (Preview) もしくは Both に設定します。Bothだと従来のInputSystemも機能するので、今の所はそちらにしておくのがおすすめです。
f:id:kurihara-n:20181021210132p:plain


wiki (内容が最新に追いついてない箇所が多々あり)
https://github.com/Unity-Technologies/InputSystem/wiki


forum
https://forum.unity.com/forums/new-input-system.103/