check if GetComponent(MeshFilter).mesh != null ... not working

This line makes the following error:

				if (movable.gameObject.GetComponent(MeshFilter).mesh != null) {var mesh : Mesh = movable.gameObject.GetComponent(MeshFilter).mesh;}

NullReferenceException: Object reference not set to an instance of an object
CreateWorld+$terrain_update$92+$.MoveNext () (at Assets/MarchingCubes3/@Scripts/CreateWorld.js:126)
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
CreateWorld:check_update() (at Assets/MarchingCubes3/@Scripts/CreateWorld.js:79)
CreateWorld:Update() (at Assets/MarchingCubes3/@Scripts/CreateWorld.js:59)

1 Answer

1

Separate your code onto multiple lines so you can get a little more granularity on where the error is occurring.

Also, do your CPU a favor and refactor your code to:

if (movable == null) // optional check if movable will not always be set
    return;          // I use return here, but in a loop use continue
MeshFilter filter = movable.gameObject.GetComponent(MeshFilter);
if (filter != null)
{
    Mesh m = filter.mesh;
}