CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
Assembly Definition対応版のプラグインパッケージと従来プラグインパッケージについて
CRIWARE Unity SDK v3.03.00より、Unity Assembly Definitionに対応した新しいプラグインパッケージ(.unitypackage)を追加しました。
これにより依存関係の定義による安全性と、差分ビルドによる開発イテレーション向上によって、より現代的なUnityでの開発をサポートいたします。
SDK v3.03.00以前の従来版のプラグインパッケージとは大きく構成が異なっており、アップデートには注意が必要です。
以下で、プラグインの相違点とアップデートに際しての注意点をまとめます。

従来プラグインパッケージ公開停止時期について

注意
かねてより告知しておりました通り、従来構成のプラグインパッケージの公開をSDK v3.11.00 から停止いたします。
ご入り用のかたはお手数ですがサポートページより個別にお問い合わせください。

従来プラグインパッケージとの違い

Assembly Definition対応版のプラグインパッケージと従来版のプラグインパッケージとの違いは以下となります。
※CRIWARE Unityプラグインとしての機能に差はありません。
  • 対応UnityバージョンがUnity2019以降になりました。
  • Assembly Definition定義ファイル(.asemdef)を追加しました。
  • プラグイン関連ファイルの配置をAssets/CRIMWフォルダー以下に移動しました。
  • namespace CriWareを既存のすべてのクラス・名前空間の上位に追加しました

プラグインパッケージ移行ガイド

SDK v3.02.00以前のCRIWARE Unityプラグインをご利用中の場合、アップデート方法によっては特別な対応が必要になります。
新構成へのアップデートに伴う注意点

従来構成のプラグインで実装済みのプロジェクトでは、Assembly Definition対応版プラグインへのアップデートに伴ってAssetBundleのリビルドが必要になる可能性があります。

CriWare UnityプラグインコンポーネントがアタッチされたPrefabが含まれている場合、AssetBundleのリビルドが必要です。
スクリプトからAddComponentしている場合は問題ありません。
これは、AssetBundleにはPrefabのコンポーネントに対する参照情報として「所属するAssembly」と「namespace」が記述されているためです。

上記の問題から、すでに運用中のアプリケーションや開発が進行しているプロジェクトでは、新構成へのアップデートには細心の注意を払ってください。

従来構成のプラグインパッケージを継続して利用する場合

SDKには従来構成のプラグインパッケージも含まれており、こちらを継続してご利用いただくこともできます。

いつも通り .unitypackage をプロジェクトにインポートするだけでプラグインをアップデートできます。
一点だけ特筆すべき大きな仕様変更があり、CriWareクラスが「CriWare.Common」クラスにリネームされています。
CriWareクラスのプロパティを利用しているスクリプトでは、CriWare→CriWare.Commonへの置換を行ってください。

また、PackageManager で Timeline パッケージを削除した場合にコンパイルエラーとなってしまう問題への対策として、従来構成のプラグインパッケージでは Timeline 拡張スクリプトがデフォルトで無効となりました。
引き続き Timeline 拡張をご利用いただく場合はお手数ですが以下の定義をScripting Define Symbolsへ追加ください。

  • CRIWARE_TIMELINE_1_OR_NEWER
注意
従来構成のプラグインパッケージについて、SDKに含めての配布は将来的に終了します(2021年いっぱいを予定)。
配布終了後に従来構成のプラグインパッケージのアップデート版をお求めになる場合は、お手数ですがサポートページより個別にお問い合わせください。
従来構成から新構成のプラグインパッケージに更新する場合

いったんプロジェクトにインポートされているCriWare Unityプラグイン関連ファイルを削除してから、新構成のプラグインをインポートする必要があります。
以下がデフォルトのインポート状態での対象フォルダー/ファイルです。

plugin_organization_update_project_view.png
  • Assets/Editor/CriWareフォルダー
    plugin_organization_update_editor_folder.png
  • Gizmos/CriWareフォルダー
    plugin_organization_update_gimos_folder.png
  • Plugins/CriWareフォルダー
  • Plugins/各プラットフォームフォルダー内のCriWareライブラリファイル
    plugin_organization_update_plugin_folder.png

※エクスプローラー/Finder等で直接削除する場合は、各フォルダーやファイルの.metaファイルも削除してください。

上記ファイルを削除したら、新構成のプラグインパッケージをプロジェクトにインポートしてください。
プラグインファイルのGUIDは共通となっているので、シーンファイルやPrefabはそのままご利用いただけます。
前述の通り、CriWare UnityプラグインコンポーネントをアタッチしたPrefabを含むAssetBundleのリビルドが必要になる点にはご注意ください。

CriWare Pluginクラスを参照しているスクリプトでは、namespace追加に伴いコンパイルエラーが発生します。
using CriWare;**の追加と、従来のCriWareクラスをCommonクラスに置換してください。