Unityアップデート備忘録

スポンサーリンク

Unityを6.0 から 6.6 にアップデートしたので、
その対応内容を、メモです。

InputManagerの非推奨対応

[Edit]→[Project Settings]→[Player]
で下の方の[Other Settings]
[Active Input Handling]を[Both]から[Input System Package(New)]に切り替え

6.3ぐらいのバージョンだとInput Systemは自分でインストールが必要だったみたいだけど、
6.6だと勝手にインストールされるのかインストール済みでした。
・・・
ビルドエラーは出てないと油断してたら、ランタイムエラーの方が出てくる、、、

かなり仕様が変わっている様子・・・
https://docs.unity3d.com/ja/Packages/com.unity.inputsystem@1.4/manual/Migration.html
https://nekojara.city/unity-input-system-actions
このあたりのサイトを参考にさせていただきました。

自分が使っていた範囲内だと
Input.mousePosition → Mouse.current.position.ReadValue()
Input.getMouseDown() → (InputActionの各自の設定次第).WasPerformedThisFrame()
このあたりでなんとかなりました。

DEVELOPMENT_BUILD の非推奨対応

まず[File]→[Build Profiles]を確認するとPlatformsでビルドの設定を行っていたのが、
[Add Build Profile]で別で指定する形になっていました。
そこで、「Unity 6.6以降、Development Build設定の一部が、Player設定の「Managed Code Variant」へと分離されました。」というような事が書いてありました。

[Edit]→[Project Settings]→[Player]→[Other Settings]のここで[Debug]を指定して、#if DEBUG で包めば似たような事が出来るのかな。
とりあえず、この対応でやってみよう

Serializableの警告

warning UAC1001
Unity6.6から出るようになったのかな?
これは単にSerializeを使ってなかっただけなんだけど、
せっかくなので警告出たところのクラスに[Serializable]と[SerializeField]を設定してみよう。
あ、シリアル化したくなかったら[NonSerialized]の指定でも。
今までシリアル化したことなかったので、勉強ついでに設定の方向で進めてみる。

とりあえずは、こんなところかなぁ。
動作チェックは出来たけど、シリアル化と、InputSystemはもうちょっと使い方調べた方がいいな。

コメント

タイトルとURLをコピーしました