Added a message to the exception thrown when using an invalid light mode. Converted it to an IOException instead of the UnsupportedOperationException (which is a runtime exception) so that the calling code will output a meaningful error about which asset actually failed.