StartCoroutine important for using yield?

I’m new to unity and have seen many tutorials saying “once you use yield in a function you have to use StartCoroutine(functionName());”.
So i did the following,

  • I made a coroutine.
  • Then I used StartCoroutne();.
  • It worked.

Then just for the search of my answer,

  • I made another coroutine.
  • Without using StartCoroutine(); I just made a simple call to the function.
  • It worked.

So my question here is, What exactly is the use of StartCoroutine();?

In UnityScript, StartCoroutine is not necessary as the compiler does for you.
You can call a coroutine involving a yield without StartCoroutine().

StartCoroutine is used with C#