I’ve hacked a workaround into my copy of DirectRadioButton.py:
Line 46, instead of loading the model regardless of parameters, it now defaults to “None”:
('boxImage', None, None),
Line 55, inserted after “DirectButton.init(…” and before “self.indicator = …”, the model is loaded if “boxImage” is None:
if self['boxImage'] is None:
self['boxImage'] = loader.loadModel('models/gui/radio_button_gui')
I haven’t tested this properly, but it seems to work thus far, allowing both a default model without requiring the RadioButton model in re-skinned RadioButtons.