Non-Editable variable shows up on Instanced UObject


I have a blueprint variable which I would like to not expose externally. “Editable” is set to false, but it still shows up as an editable value when within a class which has “DefaultToInstanced”.

This blueprint variable is a float, and the blueprint’s parent class inherits from UObject with:
UCLASS(abstract, MinimalAPI, EditInlineNew, DefaultToInstanced, CollapseCategories, BlueprintType, Blueprintable)

Is this a bug, or working as indended?


As an update-- I have worked around this issue by assigning my non-Editable variable to a “Hidden” category which the class will hide using “HideCategories=(Hidden)”

This works for now, but I would love to hear suggestions on a cleaner solution :slight_smile:


I have the same issue - it would be very useful especially when working with people who might easily misuse parts of your application.

It seems to me that the Editable part of variables has mixed definitions on the documentation page. The lower definition on the variables document page is “Editable: Set whether or not it is possible to edit the value of the variable in the Blueprint Defaults and the Blueprint’s Details tab”, so this might be the expected behaviour. Ticked or not, the variable 's Setter is always exposed.

I am sure at one point around 4.6/4.7p this was working as we would like.