BabylonJS/Babylon.js · error
The ${ConnectionPointType[input.type]} input named "${input.
Error message
The ${ConnectionPointType[input.type]} input named "${input.name}" is missing for the ${this.getClassName()} named "${this.name}" What it means
_confirmRuntimeDataSupplied reads the runtimeData off an input connection point and throws if it is null/undefined. Blocks call it when they need a concrete runtime value (e.g. a texture or number) for an input that was expected to be supplied at runtime.
Source
Thrown at packages/dev/smartFilters/src/blockFoundation/baseBlock.ts:335
* @param type - Defines the type of the output connection point
* @param initialValue - Defines the initial value of the output connection point
* @returns The new output connection point with a default value
* @internal
*/
public _registerOutputWithDefault<U extends ConnectionPointType>(name: string, type: U, initialValue: RuntimeData<U>): ConnectionPointWithDefault<U> {
const output = new ConnectionPointWithDefault(name, this, type, ConnectionPointDirection.Output, initialValue);
this._outputs.push(output);
return output;
}
/**
* Gets the required RuntimeData for the given input, throwing with a clear message if it is null
* @param input - The input to get the runtime data for
* @returns The runtimeData or throws if it was undefined
*/
protected _confirmRuntimeDataSupplied<U extends ConnectionPointType = ConnectionPointType>(input: ConnectionPoint<U>): RuntimeData<U> {
if (!input.runtimeData) {
throw new Error(`The ${ConnectionPointType[input.type]} input named "${input.name}" is missing for the ${this.getClassName()} named "${this.name}"`);
}
return input.runtimeData;
}
}
View on GitHub (pinned to 0592b347b8)
Solutions
- Set runtimeData on the named input before running: input.runtimeData = value (or use the block's setInput API).
- Provide a default value when the input connection point is registered so it is never null.
- Check your binding code targets the exact input name reported in the error for that block.
- Connect the input to another block's output so the value propagates instead of relying on runtimeData.
Example fix
// before
block.runtimeInputs.texture; // runtimeData is null
// after
const input = block.input("texture");
input.runtimeData = texture;
block.propagateRuntimeData(runtimeData); Defensive patterns
Strategy: try-catch
Validate before calling
for (const name of ['texture', 'time']) {
const input = block.input(name);
if (input && !input.runtimeData && !input.connectedTo) {
throw new Error(`input '${name}' has neither runtimeData nor a connection`);
}
} Type guard
function hasRuntimeData<U extends ConnectionPointType>(input: ConnectionPoint<U>): input is ConnectionPoint<U> & { runtimeData: RuntimeData<U> } {
return input.runtimeData != null;
} Try / catch
try {
block.propagateRuntimeData(runtimeData);
} catch (e) {
if (e instanceof Error && e.message.includes('is missing for the')) {
// parse input.name from the message and supply the missing value
} else throw e;
} Prevention
- Bind all required inputs before running or propagating runtime data.
- Register sensible default values for optional inputs at block creation.
- Prefer connecting inputs to other blocks' outputs over ad-hoc runtimeData.
When it happens
Trigger: Calling propagateRuntimeData / inputsToBind / _confirmRuntimeDataSupplied (or block APIs like input, time, background, foreground) while the named input connection point has no runtimeData set — it is unbound and has no default value.
Common situations: Forgetting to bind a required texture/number input before running the filter, connecting a runtime value to the wrong input name, or a runtime binding that silently failed so runtimeData stayed null.
Related errors
- Aggregate blocks should not be prepared for runtime.
- Cannot register an input connection point with no internal c
- The inner smart filter must have an output connected to some
- Was asked to serialize an unrecognized block type
- Auto bound input ${autoBoundInput.name} has an unsupported t
AI-assisted analysis of BabylonJS/Babylon.js@0592b347b8 (2026-08-30).
Data as JSON: /api/errors/c017d66c117898cf.
Report an issue: GitHub.