対応バージョンの違うプラグインをインストールする(不完全版)
「昨日はDonAINavigationのインストール方法とタイトルに書いておきながら、今にして思うと結局インストールはしてない気がするんだけど、やり方としてはSpriteStudioプラグインの時と同じ。シェーダーのコピーをしなくて済む分だけ簡単」
「プロジェクトにPluginsフォルダがなければ作って、その中にプラグインを入れる。データはサンプルプロジェクトのPluginsフォルダの中身でも、プラグインだけダウンロードしたデータでも、どっちでも構わない。ただ今回の場合4.10用だから、バージョンが違う4.11で使おうとすると、プロジェクトを開いた段階でエラーメッセージがでる」
妹「このプラグインは4.11には対応しないのかな?」
「それはわからないけど、今回は急ぎの場合を想定して、古いプラグインを新しいプロジェクトで使えるようにしたいと思う。でもちょっと難しいので妹向けではないかも」
「手順としては、このページにあるのとだいたい同じになる。BlankPluginフォルダの代わりにDonAINavigationフォルダを使う。他のプラグインでも、Sourceフォルダがあるプラグインなら同じ方法で対応可能だと思う。もしもBinariesしかない場合はお手上げ。作者の対応を待つしかない状態になる。だから後々のことを考えると、出来るだけSourceのあるプラグインをつかっておきたい」
妹「Sourceがあれば大丈夫なの?」
「C++の腕が必要になる場合もあって、大丈夫じゃないことはあるんだけどね」
「さっきの方法で、DonAINavigationの4.10用を、4.11の新規C++プロジェクトに入れて、VisualStudioで何のエラーもなくビルド出来た場合はいいんだけど、今回はエラーメッセージがいくつか出てくる。たまた4.11で変更された箇所があった。あと4.12で変更予定だから直してくれという警告も出てる」
「リリースノートを見ると、IgnoredComponents変数は隠しパラメータ的な扱いにするから、データを読み書きするために別の関数を作ったから、そっちを使ってね……というような話が書いてある。で、プラグインにその隠しパラメータをGETしてる部分があるからエラーになった。4.10ではOKだったけど4.11ではNGになった箇所がある」
妹「そういうことって良くあるの?」
「それは運次第。この変更はコリジョン関係のプラグインでなければ関係無かっただろうし。今回はこの件を直せば動く。IgnoredComponentsって書いてあるところを消して、それ以外の方法で上手く動くように書き換えれば、多分動くんじゃないかな……」
妹「なぜそんな曖昧な」
「ちょっとやってみてたんだけど、結局上手く修正が出来なかった。さっきも言ったけど、C++の腕が足りないと大丈夫じゃないこともあるんだよ」
妹「まさか最初から大丈夫じゃないケースだとは思ってなかった」
「ということで今回はここでギブアップ。しばらく待っても4.11版が出なかったらもう1回チャレンジしてみる予定」