FBX model material not changing (script)

In the editor I have dragged an FBX model into the scene, and a texture onto that. I have a script which does this in the start() function:

    [SerializeField] private GameObject m_world;

    // material at Assets/Resources/Materials/pic01.mat
    var m = Resources.Load("Materials/pic01", typeof(Material)) as Material;
    if (rend == null || m == null) Application.Quit();
    m_world.GetComponent<Renderer>().material = m;

This doesnt change the texture and I only see the original texture which I had set in the editor. What could I be doing wrong? The material I am loading was created in the editor. Here is what how the scene is arranged.

do no use Renderer, use MeshRenderer

m_world.GetComponent<MeshRenderer> ().material = m;

Accept if it worked

The problem turns out to be how I was referencing the model. For whatever reason the connection through the editor wasn’t working, but I could get it to work by doing:

    gameObject.transform.parent.GetComponent<MeshRenderer>().material = m_materials[0];