Unity terrain paints your textures based on its splat maps.

There is one splat map per texture, and the splat map tells the renderer how strongly to paint that texture at that location.

CTS uses the same mechanism to control where it draws textures as well, but if you let your terrain textures get out of sync with CTS, then you will get black spots.

What is happening here is that the terrain has a texture, but CTS does now know about it yet, and consequently with nothing to display there, will render it as black, or equally, a texture has been removed, and the splat map has not been updated to paint a new one there.

There are two scenarios in which CTS can be out of sync with the terrain:

  • You had a terrain with 5 textures, but then applied a CTS profile with only 4 textures
    • The splat maps that determine where the 5th texture would be applied is now missing, but the other splatmaps have not been updated, so that location now has nothing there to tell CTS what to paint - so it is left black.
    • Solution : Paint whatever new texture you want there.

  • You have added a texture to the terrain and painted it but not yet baked the profile to add it to the profile
    • Again, splatmaps out of sync, CTS does not know about the new texture yet
    • Solution : Bake your textures and the new texture will now render.

The general rule of thumb to avoid this is to always have the same number of textures in your profile as you do in your terrain. If you add or remove textures, then always rebake your CTS arrays.