Since Unity 2017.1, there is an option in the Player Settings under "Other Settings" to switch from "Stable (.NET 3.5 Equivalent)" to "Experimental (.NET 4.6 Equivalent)". This mostly works really well - but apparently there is a change that causes the textures to load all black. It's very easy to reproduce when using one of the custom models with colorful textures (like the half-life one ;-) ). With 3.5 active, it works flawlessly. With 4.6, the controllers are all black. At first, I thought loading the custom models was the problem - but reviewing the loaded texture in Unity reveals that it's all black.
This could also be a bug in Unity's 4.6 implementation - I'll file a report with them, too.