最近の DOTWEEN を使うとこのような警告を見たことがあるかもしれません。
無視してても一見動作している(ように見える)のですが、これは結構危険な警告です。
unity2017 の頃は警告がなかった気もしますが、あえて表示するようにしたのもそのせいでしょう。
なお、DOTWEEN 設定パネルの Preferences で Safe Mode のチェックを外すと、この警告はエラーに変化します。(ビルドでは確認していませんが、エラーになるのかも)
この警告をなくすには?
DOTween が動作している状態で(DOTween の動作している)GameObject を Destroy すると、このエラーが表示されるので、Destroy する際に DOTween を Kill すれば回避可能です。
警告出せるなら、自動的に Kill してくれればいいのに…という考えは置いといて。
Tween tw; void OnDestroy() { // Destroy 前に Tween を Kill if (tw != null) { tw.Kill(false); tw = null; } } public void ExecAnimation() { // ExecAnimation が複数回呼ばれると前の Tween を追えなくなるので、ここで一旦 Kill if (tw != null) { tw.Kill(false); tw = null; } tw = DOTween.To( () => gameObject.transform.position, v => { transform.position = v; }, new Vector3(0, 0, 1), 0.5f ) .SetRelative() .SetEase(Ease.OutCubic) .OnComplete( () => tw = null ); }
追記:もっといい方法がありました。