Quick answer: Pass a Callable: Callable(self, "method_name") or self.method_name. Use .bind(args) for parameters.

Tween chain ends with tween_callback("on_done"). Error: method not found. Godot 4 expects a Callable.

The Fix

# Method reference
var tw = create_tween()
tw.tween_property(self, "modulate:a", 0.0, 0.5)
tw.tween_callback(self.on_done)

# With args
tw.tween_callback(self.give_xp.bind(100))

# Inline lambda
tw.tween_callback(func():
    print("tween done")
)

Method reference dot syntax is the modern path. .bind binds extra args. Lambda for one-offs.

Verifying

Tween completes; callback runs. With string-only: error in 4.x.

“Callable. Bind args. Lambda inline.”

Related Issues

For tween freed object, see tween freed. For tween parallel, see parallel.

Callable. Method ref. Done.