This document provides an overview of the OSVR plugin design and API. It describes how plugins can create and provide devices, expose hardware detection capabilities, instantiate devices by specifying interface classes and registering callbacks, and notes design considerations for synchronous vs. asynchronous devices. It recommends a plugin structure with a detection object and device objects, and discusses build systems and additional resources.