well the recoil effect would use the animation code. the recoil would affect the elbow and sholder joint which would rotate quickly in opposite directions to simulate the recoil. there would be a second invisible arm with the same joints which is a side facing turret. the base rotation joint is the sholder, while the "arms" joint is in the wrist near the firing point. this weapon is locked so the ai cant fire it. to fire it you have to use script, you call fireTurrret() and triggerAnimation() to go figure, fire the turret and run the recoil animation. now the animation needs to complete before the weapon can be fired again. might work for battletech, not sure about gundam though. beams and guns maybe, but if you want one of those energy swords, well i dont know how that would work.