# Why does Unity not detect my camera attached via the inspector?

I want to use camera.ViewportToWorldPoint() to show the bottom center bounds of my screen. So, I created a script and added that component to my object that needs it.

using UnityEngine;
using System.Collections;

public class PathMovement : MonoBehaviour {

public Camera cam;
private Vector3 bound;

void Awake () {
cam = GetComponent<Camera> ();
}

void Start(){
bound = cam.ViewportToWorldPoint (new Vector3 (0f, 0.5f));
Debug.Log (bound);
}
}


and then, I attach the MainCamera via the GUI

And then, when I run it, there's still an error says:

MissingComponentException: There is no 'Camera' attached to the "RiverPath" game object, but a >script is trying to access it. You probably need to add a Camera to the game object "RiverPath". Or your script needs to check if >the component is attached before using it. UnityEngine.Camera.ViewportToWorldPoint (Vector3 position) (at C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineCamera.gen.cs:408) PathMovement.Start () (at Assets/Scripts/PathMovement.cs:21)

This is quite weird since I've attached the main camera, but somehow unity didn't detect that. I also have tried to put the cam = GetComponent<Camera>(); on Awake() as well as Start(), but none work. :(

This is an Android app, using Unity 5.

How do I do this correctly?

i think cam = GetComponent<Camera> ();

is useless and wrong as you already assigned cam in the ispector.

• It would work fine if you attached that script to a GameObject with a Camera component attached... But you didn't... Hence the MissingComponentException. – Savlon Sep 5 '15 at 13:03