• I am developing the managed package on a feature based. I have used feature parameters to achieve this functionality each feature has an individual custom object.

  • My business case is to show the object to the package users only if they subscribed to the feature.

  • I have achieved this functionality by setting up the object visibility to be protected. Once the feature is being enabled from LMO then I have to change the visibility of those custom objects to the public.

  • Till then all those objects are protected in package development org until the start of the next version development.

  • After all development of the next version, I am not able to change the visibility to protected because once released package object visibility change to the public they will not revert to protected again.

  • So for releasing the next version, those object includes as public and doesn't fulfill the business case to keep all objects protected.

  • Is there any way to keep those objects protected in a future release after making them public?

1 Answer 1


Going Public is a one-way street. Once you go Public, you can never go back to Protected. The rationale for this is that the subscriber may have built additional dependent metadata, such as workflow rules, flows, dependent child objects, etc, which would break if the object were removed from their visibility. Whatever your use case, you'll need to find a different route to license those objects. Keep in mind that users must have a license to see your Managed Package objects, so this default mechanism may be sufficient for your business purposes.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .