Two delivery types for one product

I have different types of products. Workshops, which are like a digital download, fabrics, and eventually buttons. The Fabric and buttons will have a standard shipping charge which I have set up (and it works OK) but a customer can also choose to pick up the fabric (and buttons) at the workshop and so not be charged. I am using resource products and the delivery_type TV. How can I have it show shipping options so they can choose to have it shipped or pick up from the workshop? Thanks in advance.

Just to avoid confusion, note a “delivery type” and “shipping method” are two different things.

A “delivery type” has one or more “shipping methods”. On the product, you only set the “delivery type”, with your TV.

The shipping methods are then assigned to that delivery type via configuration > shipping methods. You’d add pickup as an option there with a free price. When there are 2 (or more) shipping options available for an order, it will show a Shipping step in the checkout automatically.