Why exposing variable change ConstructionScript behavior?

Hi! Here is Cube_SM with constant area of top and down faces.
So

  • Area = XAxis * YAxis.
  • YAxis = Area / XAxis.
  • XAxis=Area / YAxis.

For some reason if XAxis_Local is not exposed I can’t use slider to change YAxis variable while I’m editing instance of this BP on Level scene. While I understand that my script can be flawed as solution I 'm still surprised that exposing variable can change script behavior at all. Why this is happening? How to fix it?

I don’t know what you mean “while editing” but you need to understand that Construction script is executed on every more of actor in editor, if you expose the varable it appers in property editor which may change behavior. Blueprints was not really design to be exectured in editor thru this kind of stuff to happen.

But since it distracts your expectation and there difference in regular blueprint behavior i would consider this as bug, so try to raport it:

https://epicsupport.force.com/unrealengine/s/

Hey - Thanks! “while editing” - I mean I select BP in level and then trying to change value of exposed float variables in property editor (DetailsPanel) using slider. " if you expose the variable it appears in property editor which may change behavior." - Can you please explain how exposing variable can change behavior? That fact that variable was exposed can change behavior? or only if its value was edited?

What im saying is construction script is moved on every move and maybe every property change, construction script is dedicated to actor in the world so for example placing components on specific position depending on environment actor is in. Exposing variable add it to property editor, which i think can be only potential culprit here, that what im saying and this may be considered bug