Skip to content

v1.1.12

Choose a tag to compare

@db-lyon db-lyon released this 06 Jul 17:23

v1.1.12

Override an inherited interface implementation or a parent virtual on the child Blueprint, with the correct signature so it actually binds - and chain to the base with a Parent call node. Closes the last gap in child-side override authoring (#688).

Server

  • blueprint(override_function). Creates the override for an inherited interface implementation (inherited via the parent class) or an overridable parent virtual function, seeding the graph from the base so the entry/result terminators carry the exact signature. create_function only ever produced a blank graph that never bound as the override. Event-shaped functions (ReceiveBeginPlay, ReceiveTick, ...) become override events in the EventGraph; value-returning functions become function graphs. Returns kind ('function' with a graphName, or 'event' with a nodeId). Params: functionName, source?, preferFunction?, interfacePath?.
  • blueprint(list_overridable_functions). Lists what a Blueprint can override - inherited interface implementations and overridable parent virtuals - each with name, source, declaringClass, and canBeEvent, so an agent can discover the exact name to pass to override_function.
  • add_node nodeClass='CallParent'. Places a Parent: <Function> call (K2Node_CallParentFunction) bound to the parent implementation, so an override graph can call the base and post-process its result. functionName resolves against the Blueprint's ParentClass.

Internals

  • Verified live end-to-end: an inherited interface function that returns a struct field overrides into a correctly-signatured child function graph (entry + typed Return node), a Parent: call node carries the base's output pin, a parent-virtual override lands as a bOverrideFunction event, idempotent re-runs report existed, and the child compiles clean.