If I want to create a mech character can i use UE4 or do I need something like Maya?

Maya, 3ds max are polygonal modelling programs, they are quite well suited to doing hard surface work such as designing a mech. Or you could go with zbrush, clip brushes and mesh insert brushes are really useful for designing mechanical type models although making low poly models for ue4, is still a difficult process. I’ve heard great things about 3d coats voxel system which is good for quickly making models and it’s quite cheap too. Personally I use zbrush mainly cause I’ve been using it for years and know how to get the result I want with its tools. There are loads of programs you could use to make models with. There is a mecha model on the marketplace if you want to do some prototyping.