What is Coroutine, Yiel and IENumerator?

I try but it seem like I can’t really understand the concept at all.

Can you explain it in the easy way please?

A coroutine is a method that you can execute through several frames opposite to a regular method which must execute completely within 1 frame.
If you want to start a coroutine you create the method as an IEnumerator and you can’t just call it like a regular function, it needs to be started with StartCoroutine(FunctionName(parameters));

void Start() {

IEnumerator Wait(float sec) {
    yield return new WaitForSeconds(sec);

This would wait 3 seconds then print “complete”.
Only a monobehaviour can start a coroutine, and it must contain a yield statement.
Check the unity manual though it gives you a much better explanation than i do. Unity - Manual: Coroutines