Preheat oven to 375F (190C). Line baking sheets with parchment paper.
In a large bowl, cream together the softened butter, granulated sugar, and cream cheese until light and fluffy.
Beat in the eggs one at a time, then stir in the vanilla extract and ube extract.
In a separate bowl, whisk together the flour, baking soda, and salt.
Gradually add the dry ingredients to the wet ingredients, mixing until just combined. Do not overmix.
Gently fold in the ube halaya pieces, if using.
Drop by rounded tablespoons onto the prepared baking sheets, leaving space between each cookie.
Bake for 12-15 minutes, or until the edges are lightly golden brown and the centers are still soft.
Let the cookies cool on the baking sheets for a few minutes before transferring them to a wire rack to cool completely.
Optional Tips: For a more intense ube flavor, use ube powder in addition to the extract. Adjust the amount of ube extract to your liking. If ube halaya is unavailable, it can be omitted without significantly altering the recipe. For chewier cookies, slightly underbake them. For cookies that hold their shape better, chill the dough for 30 minutes before baking.