VS絡みのコンソールメッセージ

[ChangeObjectProperty] Property was locked for VisualScript has different owner.

と言うエラーが頻発に出るのですが

動作に影響は無いので無視しています。

ただなんなのかわからないので一応気にはなるのですが

これは一体どんなエラーなのでしょうか。

私もこのようなヒントに出会うことができて、基本的には私がVSでイベントを他のオブジェクトにコピーしたときに、このヒントが出てきますが、ゲームにはあまり影響がないようで、ただあなたが使っているこのイベントは、元のオブジェクトではありません、たぶんこの意味でしょう……

そう言えば確かにコピーして使ってました!

原因はわかったのであとは出ないようにする方法があれば助かりそうです。

試しにオブジェクトAのプロパティを変更アクションをオブジェクトBに貼り付けてテストプレイやリロードなど試してみたのですが特にエラーはでないようでした。

正しい再現方法があれば教えていただけないでしょうか。

再現方法はわかりませんが、私も起動時等に10個以上ずらっと並ぶので、もうそういう物かと思っていました。多分ありふれたエラーだとは思います。

基本的には、このエラーは「プロパティを変更」での誤操作を防ぐためのシステムになっています。

現在は自動でスクリプト画面がシーンに応じて切り替わるようになっているため、通常発生しないのですが、

  1. オブジェクトAのヴィジュアルスクリプト画面を開く。
  2. オブジェクトAのヴィジュアルスクリプトを開いたままシーンタブだけをオブジェクトBに切り替える。
  3. この状態で「プロパティを変更」のインスペクターで指定プロパティを変更しようとすると、オブジェクトBのデータを読もうとしてデータの読み込みに失敗する。
  4. 失敗した読み込みデータで「プロパティを変更」アクションが上書きされてしまい、いつのまにかオブジェクトAのプロパティを変更が崩れてしまう。

これを防ぐため、2の段階で「プロパティを変更」のインスペクターにロックをかける動作を行い、それがトリガーしたというエラー(というより実行メッセージ)になっています。

なので、何らかの原因(おそらく実行アクションのコピー?)でこれが暴発しているのかメッセージだけ出ているのか、という状態です。

ゲーム自体には全く影響がないものではあります。

そうでしたか。

また原因が判明しましたら報告しようと思います。

とりあえず今は影響無さそうなので様子見いたしますね。

これも間違いではないと感じて、システムが与えたヒントです。
私はプロジェクトでコピー粘着動作を大量に使用しているので、このヒントはかなり溜まっていますが、何の問題もないようです。

1 Like

1つ分かったことができたのでご報告します。

新規ステートを作成→プロパティを変更のアクション

→自分のスイッチを変更(ターゲットは任意)→ステートをコピーでコンソールに表示されます。

これはシーンタブの切り替えなしをしていなくても発生するようです。

また、スイッチに限らずプロパティの変更は全部対象のようです。

1 Like

ありがとうございます!確認できましたので開発に報告します。

お役に立てたようで良かったです!