We have our huge managed package (1st generation) with extremely large number of components in it. Package upload and test executions takes up to 3 hours as of now. And we need to continue adding more and more artifacts into it. Unfortunately, with such approach it becomes really tough to move fast and release fixes and new functionality to clients on a regular basis.

Would it be possible to create unlocked package dependent from the original managed package and using the same namespace to start putting new artifacts into it (so that it would act as an extension to be installed in the same org with original one)? How about having more than one unlocked package sharing same namespace among themselves and with original managed package?

Any help would be appreciated.

1 Answer 1


No. The namespace of unlocked packages and managed packages do not interact with each other. Unlocked packages allow you to reduce deployment time by separating dependencies within your managed package. Each unlocked package would have its own namespace distinct from the main namespace. Unlocked packages cannot, as far as I can tell, share a namespace with each other or with the main package. They're meant to reduce deployment times between orgs during development. The main package upload would still take a significant amount of time, as I understand it.

  • From SFDX guide: "If you’re an ISV, we recommend that you use the same namespace for all your packages.... You can develop more than one package with the same namespace but you can associate each package with only a single namespace". That means unlocked packages can share the same namespace with each other, but there is nothing mentioned re sharing namespace with 1st generation package.
    – wesaw
    Mar 25, 2019 at 14:52
  • From what we've tried so far, it prevents unlocked package from being installed if 1st generation package with same namespace was already installed in this org earlier: "Package namespace conflict, Details: The package you're trying to install has the same namespace as another package that's already installed in the target org. "
    – wesaw
    Mar 25, 2019 at 14:52
  • @wesaw Interesting. Let me play around with this, then. I'll admit, my working knowledge of unlocked packages is still limited. Also, to avoid comment spam, I did see your comments on the other answer I wrote, which is now like 4 months old; all I had at that point was what the documentation suggested. I'll experiment, I have a package I can use for this purpose.
    – sfdcfox
    Mar 25, 2019 at 16:47
  • ok, got it. Just wanna share link to this great Q&A re 2GP - it helped me a bit) sfdc-db-gmail.github.io/unlocked-packages/…
    – wesaw
    Mar 25, 2019 at 17:04
  • @sfdcfox Wondering if you did any experimentation on this yet, and if so, anything to share? I'm about to dive into this exact scenario. Will share my findings here.
    – bobbyt
    May 24, 2019 at 15:10

You must log in to answer this question.

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