Quick answer: Wrap in lambda: Callable.From(() => MyStatic()). Cache the Callable for reuse.

Pass a static method to ToSignal callback. Compile error. Callable expects instance binding.

The Fix

// Wrap static in lambda
var callable = Callable.From(() => MyClass.DoSomething(42));

// Use as deferred
callable.CallDeferred();

// Connect to signal
node.Connect(SomeNode.SignalName.SomeSignal, callable);

Lambda captures the static call. Callable wraps the lambda. Engine invokes when needed.

Verifying

Static method runs via Callable. Compile clean.

“Lambda wrap. Callable works.”

Related Issues

For C# CallDeferred typed, see CallDeferred. For C# signal emit, see signal emit.

Lambda. Callable.From.