The document presents a structured model-driven approach for developing 3D user interfaces. It begins with an introduction describing limitations of current methods and the goals of the presented approach. A review of the state of the art finds a lack of user-centered design and separate models. The presented approach includes 4 steps: 1) consolidating task models, 2) creating abstract user interface models from tasks, 3) deriving concrete interface models from abstract models, and 4) adding behavior. The approach uses models and transformations defined in UsiXML to support design, implementation and reasoning about 3D user interfaces in a model-driven way.