unityでいってみよう!

unityがチョットワカル位の人のブログ

ComponentをスクリプトからResetしてみよう!

概要

Inspectorから各ComponentのコンテキストメニューにあるResetを実行することで、Componentの値を初期値にリセットすることが出来ますが、それをスクリプトから実行したいといお話しです。

 

結論

UnityEditor.Unsupported.SmartReset(UnityEngine.Object obj);

こちらのAPIの引数として該当するComponentを指定することで、そのComponentを初期値へリセットすることが出来ます。但し、Unsupportedという物騒なclassの中にあるメソッドですので、どんなトラブルが起きても誰も責任を取ってくれないことに注意して下さい。こちらで確認した限りではUnity2018.2から追加されており、Unity2023.1でも利用可能です。

また、UnityEditor空間の下にあるクラスである為、Editor上でのみ実行出来るAPIであることに注意して下さい。(Runtimeでは実行できません)

参考

github.com