Project Description
XNACC is a component that adds an interactive command console to your XNA project. It supports many built-in commands, as well as custom commands, key bindings, simple functions (macros), console variables and can use functions in external assemblies.

Implemented in C#/VS2010.

Use XNACC, and you will never have to implement an interactive console in your game ever again!


The code for the XNA Command Console originated with the XNA Console Component Sample, by Kevin Jurkowski. The code was originally obtained from the ZiggyWare site ( back in '09. Other versions of the original code, or pages that mention it, can be found at the following locations:


Quite a few enhancements have been made to the code since then. Some of the highlights are:
  • Abstraction into an extendable base class
  • Expanded keyboard support, and encapsulation of keyboard input providers
  • Built-in commands
  • Colorizing of console output
  • Command history and completion
  • Scrollable log/output
  • Support for "hidden" (secret) commands and functions
  • Custom functions (basically macros that support parameters)
  • External functions (implemented in a .NET assembly)
  • Key bindings
  • Addition of dynamic Console Variables (cvars)
  • Ability to lock-down functions, bindings and external functions (to prevent tampering with a released game)
More details are available in the documentation.

The code should be immediately usable in its current state, although I am making enhancements and/or changes as time allows. I plan to create a sample game project that demonstrates what the Command Console can do.

Changes were made by James R. Twine of JRTwine Software, LLC.

Last edited Feb 4, 2011 at 6:57 PM by jtwine, version 3