I was in the same situation as you, I'm a developer, but not in the gaming field, and I wanted to target iOS.
The other advantage with using Unity is that it doesn't bind you to a specific platform. You can write once and deploy to many platforms (with minor platform specific tweaks perhaps). You can develop on a Mac or a PC which may be more convenient depending on your situation.
Another SDK that I use is GLBasic. It is much simpler and you develop using pure code, and you don't have the fancy interface as Unity (which can be quite confusing for the non-game programmer!). It has all the required 2D gaming commands that you should need, and it also has 3D commands if you wish. It doesn't have built in physics, but you can add the Box2D library which people have done. I love it for its simplicity and how quickly you can get something working.
Both offer a free version to try for as long as you wish, and you can upgrade the licenses if you want to deploy to iOS.
And as far as math is concerned, learning and mastering vectors would go a long way. That and basic algebra, but not much more than in regular development. My biggest learning curve was the graphical side of things, and how to organize a game project. Plus allowing yourself to break traditional programming 'rules' such as globals (etc) to create faster game loops.