In this article, general combined plant and controller design or co-design problems are examined. Previous work in co-design theory imposed restrictions on the type of problems that could be posed. This article lifts many of those restrictions. The problem formulations and optimality conditions for both the simultaneous and nested solution strategies are given. Due to a number of challenges associated with the optimality conditions, practical solution considerations are discussed with a focus the motivating reasons for using direct transcription in co-design. This article highlights some of the key concepts in general co-design including general coupling, the differences between the feasible regions for each strategy, general boundary conditions, inequality path constraints, system-level objectives, and the complexity of the closed-form solutions. Three co-design test problems are provided. A number of research directions are proposed to further co-design theory including tailored solution methods for reducing total computational expense, better comparisons between the two solution strategies, and more realistic test problems.