The NUnit Test Engine uses a plugin architecture that allows users and third parties to add new functionality to the engine. The extensibility model defines a number of Extension Points to which Extensions may be added.
There are currently four extension points:
Extensions are generally created in their own assemblies, with some shared characteristics described in Writing Engine Extensions. They then need to be installed to the engine, which is covered in Installing Engine Extensions.