I am attempting to create a series of animations for a video game that must be stored in separate FBX files. The character model has several empties parented to various bones, and their locations are important to the game. I have a base file that contains the character mesh, the empties, and the armature, and all of the animations are created from that file and saved separately. For the first few animations I created, I did not use any sort of controllers. It worked fine, and the files exported to FBX perfectly, but while creating them I realized how much easier it would be to use controllers. I added some IK constraints to the legs, targeted to a few simple meshes used as controllers.
Any FBX files exported after I added these controllers were completely unusable. The scale, location, rotation, and animation of the armature and empties was changed apparently at random. I tried to only select the armature and the empties and set the exporter to only export selected, but it did not change the outcome at all. I was able to fix this by baking the armature's animation and deleting the IK targets before exporting each animation. However, any FBX file exported from the file using the IK constraints ruins the position of the empties, whether the IK constraints are actually there or not. Most of the time, they are moved to the bone they are parented to, but sometimes they move to random positions around the armature. I have experimented with it, and as far as I can determine the IK constraints are definitely what is breaking the empties. Even after the IK constraints are deleted and every trace of them is removed (as far as I can tell), the exported FBX files still have the empties in random positions.
Why are the IK constraints affecting the empties so drastically, and is there a way I can preserve their positions through the export?