I haven’t tested, but my suspicion is that it’s not related to the public/private declaration. So long as the component is visible, then the ability to edit its contents (ie. its own properties) is determined by the specifiers that were set on the properties within the component class itself.
Maybe it’s more complicated than I imagine, I am very new to UE4. From the way I understood things though, the CDO of a blueprint class is simply defined by the values set in the defaults section of that blueprint (and up the chain of its parent classes). A CDO is just an object with property values unchanged from the defaults defined by its class, right? In which case, if you’re right in your suspicion of the issue, then the following should work:
- Temporarily make the component property EditAnywhere.
- Reload the editor and open the blueprint in question.
- In its defaults, find the component. It would be set to None.
- Click the yellow arrow to reset it to the default from its parent class CDO, which should be the value set in the C++ constructor.
- Save and exit. Change EditAnywhere back to VisibleAnywhere.