Studio XYZ is making a game.  They have experience making games and decide that they spend way too much programmer time on the user interface.  They decide to give a solution like Scaleform a try and are amazed with the nice looking visuals that they can get running with minimal programmer involvement.  They sign off on it and begin development.

Halfway through development the programmers (there are more than one working on UI now) start complaining about Scaleform and the artists are miffed they can’t do certain things that they thought they would be able to do.

Just before shipping the project, almost all the programmers on the team are smashing keyboards, cursing, and taking required “time away from the desk” when dealing with Scaleform.

So what happened?  Why all the frustration and anger?

The problem is that the development team was hoping to take what was normally an entire programmers full time job of doing boring UI work and move more of that work over to the artists.  The artists would be happier being able to have more behavioral control over the UI and the programmers would be happier because they don’t need to put an entire programmer on UI.

The reality is that Scaleform introduces so much complexity to the game engine that it ends up requiring work from several engineers just to stay on top of it.  It takes the “simple boring work” that the engineers were trying to get rid of and replaces it with a “hard to debug, memory hogging, performance sucking, obscure crashes in messy complicated code (providing you even have the source)” system.

The simple answer is:  Scaleform adds too much complexity.

In trying to make life easier, they made it more complex and costly.