Unity New Input System (experimental) の始め方

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

Package Manager から取得

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

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/