Version: 5.4 (switch to 5.5b)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

EditorUtility.SetDirty

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える
public static function SetDirty(target: Object): void;
public static void SetDirty(Object target);

Parameters

target ダーティとしてマークされたオブジェクト

Description

target のオブジェクトをダーティとしてマークします(シーンに含まれないオブジェクトだけに使うのが適切です)。

注意 ''Unity 5.3 より前は、SetDirty はオブジェクトにダーティとマーク付けする主要な方法でした。5.3 以降マルチシーン編集の導入に伴い、シーンのオブジェクトを変更するときにこの関数は使用されなくなりました。代わりに、オブジェクトを変更する前に Undo.RecordObject を使います。この関数はオブジェクトのシーンにダーティと印をつけ、エディターに Undo を記録します。''

シーン内でファイルを変更するときに、特に変更の Undo エントリーを加えたくない場合は EditorSceneManager.MarkSceneDirty を使用します。

カスタムエディターを使用してコンポーネントかアセットのシリアライズしたプロパティーを変更する場合は、[pSerializedObject.FindProperty]]、SerializedObject.UpdateEditorGUILayout.PropertyFieldSerializedObject.ApplyModifiedProperties を使用します。これらによって、変更されたオブジェクトに「ダーティ」と印をつけて、「元に戻す」(Undo) のステートにします。

したがって、この関数を使うただ 1 つの状況は、他の手段を通じてシーンオブジェクトでないオブジェクトを変更し、しかも、特に変更手順に取り消し (undo) 手続きを入れたくない場合です。このようなケースはほとんどなく、どうしても必要な場合を除いては、このコマンドを使用すべきではありません。

Unity ではデータが変更されているが、ディスクには保存されておらず保存する必要がある場合にダーティフラグを使用します。