Fair on the Unreal Engine part, but Quake 3 and Half-Life are basically built on sibling engines that share one direct common ancestor (though I fully agree with you that they felt different).
Quake/Quake 2 used idTech2. idTech3 for Quake 3 was built on top of idTech2, and GoldSrc for Half-Life was built on top of idTech2 as well (it was a heavily customized and modified version of it).