How to find a material file with a specific property set?

Hello! I was wondering if it’s possible to filter / parse material files in order to find if a specific property is set? Either through a code plugin or similar way. How difficult would it be to write a parser to find all materials with a specific option set? For example, find all materials with a tessellation mode enabled.

You can quite easily do that in c++, here’s a quick mock up of some code that can load a material plus a few MaterialInstance function examples of getting material properties:

	UPackage* package=FindPackage(NULL,*path);
	if(package) {
		UMaterial* mat=FindObject<UMaterial>(package,*name,true);
		if(mat) {
		
			mat.MaterialInterface->GetAllTextureParameterInfo(parmInfoList,parmGuidList);
mat.MaterialInterface->GetUsedTextures(texList,EMaterialQualityLevel::Medium,true,ERHIFeatureLevel::ES2,true);
mat.MaterialInterface->GetTexturesInPropertyChain(EMaterialProperty::MP_BaseColor,txLst,&txParmNames,NULL);
		}
	}

If you look into those methods, you should be able to find all the methods available for working with them.