While work continues toward making Daz Studio easier to use, many aspects still require some form of guidance. Beginning with the 22.214.171.124 build, DAZ Studio provides access to an API that allows anyone who would like to guide users through specific tasks within the DAZ Studio interface another1) integrated mechanism for doing so. That mechanism is the Interactive Lesson Manager.
The Interactive Lesson Manager provides a means of guiding the user in performing a particular task, directly within the DAZ Studio User Interface (UI) by focusing the user's attention on a particular element of the UI and blocking/masking interaction with other interface elements until the user performs the prescribed interaction. It does this through a series of Instructions. Descriptions for the various types of instructions and their respective data members are provided in the section below.
Instructions are defined as an Array of anonymous objects, that is passed to the Interactive Lesson Manager. Each instruction, or Object in the array, must adhere to the JSON Specification.
Each instruction consists of one or more members - named key:value pairs. While an instruction object can contain an assortment of named members, only those defined below will be processed by the Interactive Lesson Manager.
Each instruction must provide at least one member that declares the “type” of instruction being defined. Each instruction should define only one of the members listed below. The value of this member is always a String that specifies a query for that type of instruction.
An instruction may define one or more of the members listed below. While several of the members listed can be used with instructions of multiple types, not all members have a meaning in the context of every instruction type.