Pour coconut cream into a pan over medium heat and bring it to a boil. Stir the cream occasionally until it starts to thicken then lower the heat and let it simmer.
When the oil begins to separate and solids start to form, regularly stir and scrape the sides and bottom of the pan to prevent the mixture from burning. Continue to cook and stir until curds turn golden brown.
In a fine-mesh sieve, drain the latik (the thickened and solidified coconut cream) from the oil and set it aside. Make sure to save the oil.
Brush the bottom and sides of a 9 x 13 baking dish with the saved coconut oil and set aside.
Combine coconut milk, evaporated milk, condensed milk, mashed ube, and sugar in a large pot and stir until the ingredients are well blended.
Bring the mixture to a gentle boil over medium heat and stir regularly until the ingredients are incorporated and the sugar is dissolved.
If you are using ube extract, add it to the mixture and stir until the extract is well-dispersed.
In a small bowl, pour water and slowly add cornstarch into it. Stir the mixture until the cornstarch is dissolved.
Slowly add the cornstarch mixture to the milk mixture and whisk vigorously to prevent lumps. Continue to cook and whisk continuously until the mixture thickens to a very thick paste.
Transfer the mixture to the prepared baking dish. Smoothen the top with a lightly oiled spatula or knife.
Allow the mixture to slightly cool, cover and refrigerate for about 1 to 2 hours or until completely cooled and set.
Brush the top with coconut oil and add the latik (solidified coconut cream). Cut into squares to serve.