Hi Joakim,
Which parameter fetching function are you using to retrieve the available params in your widget? I ask because it looks like FMaterialEditorUtilities::GetVisibleMaterialParameters already performs the recursive approach I described, fetching via enabled/disabled static switches. Have you tried using this function at all?
Thanks,
Jon