I mean this can’t be only for convenience purposes, isn’t it? For example I have function that receive an argument -CharacterBlueprintReference. I can store it before start computation inside my function. Or I can CastTo and then store my Character. This is useful only to avoid spaghetti in blueprints and dragging wires across all function. Is storing incoming variables necessary for performance? What the purpose? Thanks!
You only want to store a Variable if you later need to reference it. So if you aren’t going to use it? Don’t set it.
Also try setting Variables as Local Variables where possible in Functions to save unnecessary writes/reads.
However, if you find you have a snakes wedding on your blueprints and you can’t clean up with nodes, then setting a variable can help keep it neater but again, I always try not to where possible for optimisation.