宴3→4アップデート時に外部プログラムでnamespaceのエラーが出る

90 views
Skip to first unread message

nunu

unread,
Jan 31, 2024, 2:57:27 AM1/31/24
to 宴ユーザーグループ
・宴のバージョン:3.12.7 → 4.0.4
・Unityのバージョン:2021.3.16f1
・OSバージョン:Windows11
・Unityの習熟度:宴のSendMessageは使えます


お世話になっております。
宴3→4へのアップデートを試したのですが、SendMessage・SendMessageByName・BroadcastMessageByNameなどから外部プログラム(Live2D・Steam実績・Unityアセットストアで購入したアセットなど)を呼び出す部分でエラーが発生しております。

添付スクリーンショットがエラーのコンソール画面になります。
スクリーンショット.jpg

宴4でAssemblyDefinitionFilesに対応した影響かと思われますので、もしお心当たりがあればご助言いただくことは可能でしょうか?

特にSteam実績は、将来的に「SendMessageから実績を解除できるプラグイン」の作成・配布もできればと考えており、不具合等の間違いがないようにしたいと思っている次第です。

お手すきの際で構いませんので、どうぞよろしくお願いいたします。

マッドネスラボ

unread,
Jan 31, 2024, 6:06:46 AM1/31/24
to 宴ユーザーグループ
それは、UnityのAsseblyeDefinitionFilesの仕様になります。
プログラムの置き場所を「Utage」フォルダ以下から変更するのが一番楽だと思います

UnityのAsseblyeDefinitionFilesでは、adf定義ファイルのあるフォルダ以下にあるプログラムを同一アセンブリとします。
たとえば、Utageのフォルダ以下に追加したプログラムは、基本的にはUtageというアセンブリとして定義されます。
宴のアセンブリ内では、live2d等の外部プログラムを使用できないので、このようなエラーがでます。

外部のプログラムを使う場合は、AsseblyeDefinitionFilesをおいていない通常のフォルダ以下に、プログラムファイルを置いて書くか
AsseblyeDefinitionFilesの定義ファイルに、外部プログラムを利用する設定を追加する必要があります。




2024年1月31日水曜日 16:57:27 UTC+9 nunu:

マッドネスラボ

unread,
Jan 31, 2024, 6:17:41 AM1/31/24
to 宴ユーザーグループ
ちなみに、unityのパッケージファイルは、基本的には「上書きはしてくれるが、ファイルの移動や削除はしてくれない」というものなので、

すでにプラグインを配布してるケースの場合、アップデートして適用したい人に向けては
「いったん昔のプラグインのソースコードを消してから、新しいパッケージを適用する」というのを通知したほうが良いかもしれません。

宴3から宴4のアップデートガイドで「Utageフォルダを消してからインポート(必須) 」としているのもそのためです。



2024年1月31日水曜日 20:06:46 UTC+9 マッドネスラボ:

nunu

unread,
Jan 31, 2024, 1:11:27 PM1/31/24
to 宴ユーザーグループ
ご丁寧にありがとうございます!
仰るように、SendMessageのプログラムを別のフォルダに移動させて対応させていただきます。

プラグインの方も、宴4へ対応させたいと考えておりますので、別フォルダに移動しての配布に加え、旧Ver.を削除するよう案内したいと思います。

宴4、使うのがとても楽しみです!

2024年1月31日水曜日 20:17:41 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages