Shred both hard cheeses. Then set out the cream cheese to soften.
Place a 6 quart pot of heavily salted water on the stovetop. Set on high heat and bring to a boil. Drop the pasta into the boiling water. Stir well and cook according to package instructions. Usually 6-9 minutes for al dente. DO NOT overcook the pasta; it should still be slightly firm. Then scoop out 1 cup of pasta water for later use, and drain the pasta in a large colander.
Meanwhile, set another 4-6 quart pot over medium heat for the cheese sauce. Add 3 tablespoons butter to the pot, then whisk in 2 tablespoons flour. Continue to whisk for 2-3 minutes until the roux mixture is golden in color. (This ensures even thickening without a grainy texture. If the roux is too light, the texture won’t be completely silky.)
Whisk the half & half into the roux, stirring until there are no clumps. Then add the cream cheese and shredded cheese. Stir to melt the cheeses. Add the salt, pepper, and garlic powder. Lower the temperature to make sure the cheese sauce doesn't boil.
Pour the drained pasta into the cheese sauce and stir to coat. Then stir in the shrimp. Stir and cook the shrimp in the cheese sauce until all the shrimp are pink, 4-5 minutes. Add some of the pasta water if needed to loosen the cheese sauce.
*If you like creamy mac and cheese with a smooth silky consistent texture, you are done! The sauce does thicken a little as it cools, so if you want the sauce a little saucier, stir in ½ cup of the reserved pasta water. Serve warm with a sprinkle of parsley.
Notes
Leftovers will keep well for up to 2 or 3 days in an airtight container in the fridge. Reheat briefly in the microwave, heating in short 20 second bursts at 50% power.