In this paper, we consider the of which products to offer and how to price them when the products are designed and manufactured using resources shared among them. We develop a model of costs that allows us to capture a wide range of complex interactions that arise when there are shared and product-specific manufacturing and engineering design resources. We combine this cost model with a representation of consumer preferences for products to develop two optimization models. The first treats the so-called welfare maximization problem in which the goal is to maximize the total benefit to the manufacturer and the consumers. The second treats the manufacturer's of maximizing profit when prices can be selected, where the demand for each offered product depends on both the prices and the product offerings, as well as those of competitors. We devise both simple and optimization-based heuristic procedures and report computational results.