By the way, I've noticed that some packages have _KEY file and some don't. What's it for and is it essential?
It's just where I have named resources, and have chosen to have the resource names preserved.
See the tick by 'Use Resource Name':
And here, you see the resource names are listed, and hence a _KEY resource has been created as a database of these:
You do not have to use the resource names, but I like to keep them in so that it is easy to see what each resource name in a package/ world does. I even add my own to resources that don't have them- for example, the weather _INI files. If you don't have any resource names, there will not be a _KEY.
The _KEY resource in a .World file is slightly different though- that one is a texture database also, that is created to keep track of the terrain textures you use. So if you have a world in which you have tested many terrain paints before deciding upon your final choice, you will find that every terrain paint you ever tried is cached in the _KEY. So I recommend to empty your CAW caches and delete the _KEY, then save in CAW again to regenerate it cleanly.