--- title: Optional features description: >- Learn about optional features and how to mix them into your metafields and metaobjects. source_url: html: 'https://shopify.dev/docs/apps/build/custom-data/optional-features' md: 'https://shopify.dev/docs/apps/build/custom-data/optional-features.md' --- ExpandOn this page * [Metafield capabilities](https://shopify.dev/docs/apps/build/custom-data/optional-features.md#metafield-capabilities) * [Metaobject capabilities](https://shopify.dev/docs/apps/build/custom-data/optional-features.md#metaobject-capabilities) * [Next steps](https://shopify.dev/docs/apps/build/custom-data/optional-features.md#next-steps) # Optional features Metafield and metaobject definitions each come with a series of optional features you can opt into called `capabilities`. This lets you mix in behaviors and logic with your metafields and metaobjects, to unlock the right functionality for your use case. Capabilities are diverse, from adding [theme templates to a metaobject](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities#make-your-metaobjects-render-web-pages-in-the-online-store), to enabling a metafield to [drive filters](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities#admin-filterable) in the Shopify admin and GraphQL Admin API. *** ## Metafield capabilities Metafield definitions come with the following [capabilities](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities): * **[`smartCollectionCondition`](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities#smart-collection)**: Create an automated collection based on metafield values for a given definition. * **[`adminFilterable`](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities#admin-filterable)**: Filter supported owner types based on metafield values for a definition in the Shopify admin and GraphQL Admin API. * **[`uniqueValues`](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities#unique-values)**: Enforce unique metafield values for a definition. *** ## Metaobject capabilities Metaobject definitions come with the following [capabilities](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities): * **[`publishable`](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities#draft-custom-content)**: Set metaobjects as either `DRAFT` or `ACTIVE` to control visibility in storefronts. * **[`translatable`](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities#make-your-metaobjects-translatable)**: Allow metaobject translations through [Shopify's translation APIs](https://shopify.dev/docs/apps/build/markets/manage-translated-content). * **[`renderable`](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities#render-metaobjects-as-web-pages)**: Set SEO metadata attributes on your metaobjects. * **[`onlineStore`](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities#make-your-metaobjects-render-web-pages-in-the-online-store)**: Assign a theme template and define a URL to make your metaobjects render web pages in the online store. *** ## Next steps * Learn how to [use metafield capabilities](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities) * Learn how to [use metaobject capabilities](https://shopify.dev/docs/apps/build/custom-data/metaobjects/use-metaobject-capabilities) *** * [Metafield capabilities](https://shopify.dev/docs/apps/build/custom-data/optional-features.md#metafield-capabilities) * [Metaobject capabilities](https://shopify.dev/docs/apps/build/custom-data/optional-features.md#metaobject-capabilities) * [Next steps](https://shopify.dev/docs/apps/build/custom-data/optional-features.md#next-steps)