Or you can edit basic input ini and put built in game dev commands to do all this 100% reliably
Well except infinite health
How to for Enemy Within go into steamaps folder ...\Steam\steamapps\common\XCom-Enemy-Unknown\XEW\XComGame\Config
Open DefaultCheats.ini - there you can see every cheat command in game, give items, instant build, research, supersoldiers etc...
Open DefaultInput.ini - and in section
[Engine.PlayerInput]
bEnableMouseSmoothing=false
;----------------------------------------------------------------------------------------
; GENERAL PC bindings - Used in evey menu
; IMPORTANT: primary and secondary keys must reference the same command in order to be considered the same Action
;----------------------------------------------------------------------------------------
; Universal, don't mess with me
Press enter and Add here any cheats you want + binding on key you want for example
.Bindings=(Name="O", Command="Levelupbarracks 15", Alt=True) - You can set up this as high as 99 - It will give your soldier XY levels of stats making him all powerfull, almost unlimited run range and tons of health if you use Random Increase in stats 2nd wave option
.Bindings=(Name="I", Command="GiveCash 1000", Alt=True)
.Bindings=(Name="P", Command="GiveMeld 250", Alt=True)
.Bindings=(Name="U", Command="SetStrategyFacilitiesSuperSpree on, Alt=True") - Fast research, building
Alt = true means that you need to hold Alt while pressing coresponding key, its there to be sure you do not activate commands by accident
Best of all it does not disables achievements if you use this way (instead of enabling console and activating commands from DefaulCheats ini trough in game console)