Search public documentation:


Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Performance, Profiling, and Optimization > Game Maintenance

Game Maintenance


Keeping your game running is a balancing act between constantly adding new features vs fitting within your budgets. Code being handled by multiple developers has to all fit together while constantly being modified. The game has to run within the constraints of the target platforms. Keeping track of all of these aspects and making sure the game continues to be functional and playable requires constant monitoring.

Daily Play Tests

Testing specific features makes sure they function properly, but without play testing the game to make sure it is playable and all the features work in conjunction is absolutely essential. Performing these tests daily in addition to the smoke tests and continuous integration tests should provide a very thorough and accurate account of the state of the code. It is also a good idea to get people who may not always plays the game on a daily basis provides great feedback which is going to make your game better

Trouble spots that daily playtesting can flush out:

  • How particles interact with different materials
  • How sounds interact with LOTS of other sounds
  • Performance implications of having more than just your test case Pawn in the level.
  • Getting the logs from the play session to see which issues are appearing in a "real" play session.

Daily QA Performance and Memory metrics

Keeping a running tally of overall performance stats and memory usage for each build can help to quickly recognize regression trends before they get to be a serious problem and require serious investment of time and manhours to find the cause and fix it. It is really easy for small performance changes to result in a slower game over time. It really is painful to look up from making your game to see your frametime being 5ms slower for no apparent reason. Tracking both frametime and memory usage over time is a really easy way to help stop such things from occurring. Every build have your QA team save off the data from stat unit and the amount of memory used. And put that into a spreadsheet so you can track it over time.

Tracking memory and performance stats is simple:

  • Load up your game's Entry level and get stats from that and save them in a spreadsheet.
  • Load up a representative level from your game and get stats from that and save them in a spreadsheet.