(Note we revised this post thanks to all of you who helpfully pointed out that USB Host is supported on the OnePlus 3)
The OnePlus 3 was one of the first phones to release USB Type-C and supports its own aggressive proprietary charging method for quick charge. We had tested the OnePlus 3 with the CDLA Digital Earphones, the SanDisk 64G Dual Drive USB-C Flash Drive, the SanDisk Dual USB Drive Type-C, and found that none could be recognized by this phone and neither showed up on USB Device Info.
However, several people pointed out that mass storage devices worked with this phone so we were puzzled. One of the hallmarks of USB is that a user should just plug in a device and it should either just work or if it doesn't work, some message should come up telling you so.
To be USB compliance, the OnePlus 3 should not have any silent failures, meaning that there should always be enough information to the user by the USB Host to let the user understand why a USB device does not work. Usually a USB Host provides a message tell you a device is not supported or how to support a device- it shouldn't be up to the user to read a manual or or search through the settings manual. Other Android phones that we tested like the Google Nexus 5X (see review here) do a good job at keeping the user informed and giving them options when plugging in a USB device.
It turns out OnePlus has implemented USB host very differently from most other Android hosts in that for USB host mode to be enabled, you need to go to Settings->Storage&USB. You then need to select the three vertical dots on the top right, and then select Enable OTG. After all this, USB Host mode is enabled.
I don't see how an average user would know where to find 'Enable OTG' or even know what OTG means. Most users would just plug in a few USB devices and think things just don't work and get a poor experience.
Even though OnePlus uses an industry standard like USB, they have chosen to implement to implement things differently including their OnePlus Dash Charge technology for quick charging. It's good to be different but you want to make sure you don't confuse users.