最近の 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 );
}
追記:もっといい方法がありました。




