I looked at the HPL1 engine from penumbra, but 1. I'm on windows and it hates compiling engines from source and it seems to confuse me a whole lot. I looked into unity but I wasn't sure if it would be as easy to make it fps.
Depends what you mean by "easy". If you're looking for an existing FPS you can just change resources and edit, then UDK might be "easier" in that respect. But if you mean "easy" as in faster to get from start to finish, then Unity is the way to go. Unity is definitely more generic in their focus, people are using it to develop a wide variety of games, simulations, etc. etc. UDK, on the other-hand, is definitely focused on FPS's. Although it can be used for other things, not nearly as easily.
Another thing to consider is if you plan on selling the final product or not. If you are, be sure to read and understand the UDK license. That 25% royalty really limits an indie's earning ability in my opinion. On the otherhand, you can use the free version of Unity and earn \\$100,000/year and never pay a penny in royalties. Hard to beat that deal.
Disclaimer: Although I have licenses for a number of game engines, Unity is my main dev platform and I've been developing with Unity Pro for 4+ years.