I thought this model was too big for one texture so I started off with splitting it into 3 different materials. First I created the rock diffuse. It's just 2 photo textures blended. Then I've put the diffuse through Crazy bump and messed with the settings untill it felt right. For the stones, I started painting a height map first. Then I've put the height map through crazybump and then finished the diffuse. Rest was just made by using some photo textures. Keeping in mind that I needed a height map in the end and therefore using lots of layers. Also For Normal maps. I always make a height map and get it through crazy bump. Then I take the entire diffuse and do a normal filter on it. That goes on top of the height map result. It makes things that need a bump stand out and makes the rest look nice and sharp.
Finally when everything was ready I imported it into the unreal engine. To save time I didn't bother to make any spec maps. Instead I made them in the material editor. I just take the diffuse attach it to a multiply and put a contant 3 vector in channel B. This usually gives really nice results. Sometimes even better then making one in Photoshop.