Quick answer: Godot 4 C# Callable.Bind values silently dropped at the engine boundary? Marshalling supports specific types; complex bind args become null.
Bind a typed object; engine receives null.
Bind primitive types
int, string, simple structs. Marshalling preserves.
Or use Variant explicitly
Wrap bind in Variant.From; marshalling reads as Variant.
Audit bind types
Each Callable.Bind's type. Complex = candidate for failure.
“Marshalling supports a subset. Complex types may drop.”
If you bind complex args, the Variant wrap is the safe path. Document.