Difference between Pure and Const checkboxes for Blueprints

According to the patch notes…

Added “BlueprintPure=false” metadata
to allow const functions to be exposed
to Blueprints as non-pure.

indicates that the “pure” metadata was implemented not to make a pure function that is not const but to make a const function with execution pins.
The side effect of this was that you can remove the execution pins from an “impure” function which is odd indeed since now instead of explicitly having execution pins letting you know when the function modify something you have to look at how many wires are connected to the return value.

Pure functions that are not const should be called “Impure function without execution pins”. That combination is a bug waiting to happen since it is very misleading.

1 Like