Prepare the Crust: Preheat oven to 350F (175C). In a medium bowl, combine graham cracker crumbs, melted butter, and sugar. Press the mixture firmly into the bottom of a 9x13 inch baking pan lined with parchment paper.
Bake the Crust: Bake the crust for 8-10 minutes, or until lightly golden. Remove from oven and let cool slightly.
Prepare the Filling: In a large bowl, beat the softened cream cheese and sugar until smooth and creamy.
Add Eggs and Vanilla: Beat in the eggs one at a time, then stir in the vanilla extract.
Incorporate Ube: Gently fold in the ube halaya (or ube extract and milk) and salt until just combined. Be careful not to overmix.
Pour Filling Over Crust: Pour the cheesecake filling over the pre-baked crust, spreading evenly.
Bake: Bake for 30-35 minutes, or until the edges are set and the center jiggles slightly.
Cool: Turn off the oven and let the cheesecake bars cool in the oven with the door slightly ajar for 1 hour. This prevents cracking.
Chill: Remove the bars from the oven and let cool completely at room temperature. Then, cover and refrigerate for at least 4 hours, or preferably overnight, before slicing and serving.
Cut and Serve: Lift the parchment paper out of the pan. Cut into bars using a sharp knife. Serve chilled.
Optional Tips: For a richer flavor, use full-fat cream cheese. If ube halaya is unavailable, ube extract can be used, but the flavor may be less intense. Add a tablespoon of all-purpose flour to the filling for a slightly firmer texture.