gameobject cannot be renderred after loading from bundle,unless I reassign the shader???

I test the bundle loading and instantiating on pc platform, when I load the character, everything could not be renderred, unless I reassigned the shader via script as following
“mat.shader =Shader.Find( mat.shader.name)”
but I found some cases still cannot be renderred, like hair, so I have to reassign “Renderring Mode” in the material inspector (I still dont know how to do it in script, otherwise I wouldnot have post this thread)
is this a bug??? any way to solve it?

2787409--201951--160914131909.jpg

Try this for accessing the Rendering Mode: