---
schema_version: "1"
id: b985b4ff54ca60a174781d37326a6ba604dabaca579bc284e1250e0f0b40eb58
title: Which Package Types Can Your Package Depend On?
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform-pkg-exchange/managed_packaging/guides/second-generation/sfdx-dev-dev2gp-dependency-overview.md
canonical_url: https://developer.salesforce.com/docs/platform/pkg2-dev/guide/sfdx-dev-dev2gp-dependency-overview.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 52113e3420cacd9ca2a3d78fedac7e345a0a31d2b98f8104433cee040bdb8068
products:
  - Second-Generation Managed Packaging Developer Guide
  - merged-docs
---

# Which Package Types Can Your Package Depend On?

Both second-generation managed packaging (managed 2GP) and unlocked packaging let you easily develop small interdependent packages and share logic between them. If you design your app to rely on small modular packages, both package creation and package installation are faster, and you’re less likely to hit limits.

To develop small, modular packages, you create dependencies between your packages. A package dependency is when metadata contained in one package depends on metadata contained in another package. These dependencies allow you to extend the functionality of the base package with components and metadata in a separate extension package.

When working with packaging, only certain combinations of packages are supported.

|                   | Can a Managed 1GP Depend on a ... | Can a Managed 2GP Depend on a ... | Can an Unlocked Package Depend on a ... | Can an Unmanaged Package Depend on a ... |
| ----------------- | --------------------------------- | --------------------------------- | --------------------------------------- | ---------------------------------------- |
| Managed 1GP       | Yes                               | Yes                               | Yes                                     | No                                       |
| Managed 2GP       | No:sup[1]                         | Yes                               | Yes                                     | No                                       |
| Unlocked package  | Not recommended                   | Not recommended                   | Yes                                     | No                                       |
| Unmanaged package | Not recommended                   | Not recommended                   | Not recommended                         | No                                       |

:sup[1]This dependency isn’t supported, and we block the installation of managed 2GP packages in managed 1GP packaging orgs. We can override this behavior on an individual basis. To share your scenario and request an override, log a case with [Salesforce Partner Support](https://partners.salesforce.com). We’re investigating how to support this dependency scenario more broadly.

**See Also**

- [Create Dependencies Between Second-Generation Managed Packages](https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/sfdx_dev_dev2gp_create_dependencies.htm)
- [Considerations for Promoting Packages with Dependencies](https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/dev2gp_considerations_pkg_dependency.htm)
