I have successfully integrated Game Mechanics Kit into Torque3D. While playing around with my success, I realized that in order for players to know what objects are interactive, they must be physically near an object. If the interaction icon appears, then the object is interactive; if not, then it is not. This requirement seems to be unnecessary and cumbersome to the experience. Granted, the stage is a relatively confined play space, so looking at every object may not take a great deal of time. But having the player wander the stage looking at every object would interrupt the flow. To remedy this problem, I further added a Silhouette Shader to denote interactive objects. While a button (currently the right mouse button), all interactive objects are highlighted with a red outline, similar to how VATS worked in Fallout 3.
After integrated Yack Pack, I started implementing the Reputation System. When I completed it, I became acutely aware that my architecture was horrid. There was no sense of loading and saving values. There was no structure for character A to have reputation toward character B without character B having that same reputation toward character A. With all of that said, I rewrote it to resolve these flaws. And it shiny XML no less.
...Now I need to figure out how to lock levels until the previous level has been played.