This video is not optional because the material is advanced. It is optional because it is not relevant for the final assignment. However, you may be interested in this video if you want to see another application of coroutines.
In this video we show how to use coroutines to talk another difficult problem in game design: loading screens. File loading can talk a long time, but the loading screen still needs to periodically draw something so that the user does not think the game is hung. This is a classic application of coroutines.