This paper provides an overview of the Common Object Oriented Library for Virtual Reality (COOLVR) toolkit, a multi-platform, multithreaded toolkit that allows for easy adaptation to different hardware interfaces. Where the common definition of an object in a scene graph is limited to a graphical representation, this toolkit extends the idea of a scene graph to include objects with different and possibly multiple representations (e.g. audio, graphical etc). Each of these different representations is `rendered' by an output device (screen, HMD, headphones, speakers etc). The toolkit allows the easy addition of new object representations as well as the addition of any new output devices needed for the output of these representations. COOL-VR also provides an easy interface for adding new file loaders that may be needed to load these new representations. In order to provide portability, the toolkit provides an abstraction layer that hides the inconsistencies between differing platforms, a...