# Features

Here you will find a complete list of all currently available features. Banshee is current in development and more features are being added frequently.

## Editor
* __Asset management__
  * Simple drag and drop import
  * Automatic reimport of externally modified assets
  * Asset modifications immediately reflected in-game
  * Version control friendly format
* __Powerful object inspector__
  * Automatic GUI for script objects
  * Exposes properties for artists/designers
  * Customizable per-type
* __Level creation__
  * Simple drag and drop interface
  * Traditional set of tools
  * Custom 2D and 3D tool support
* __Prefab system__
  * Pre-built templates for level design
  * Easy to create and maintain complex levels
  * Hierarchical prefabs and instance specialization
* __Play in editor__
  * Compile in editor
  * Immediately test changes
  * Pause and frame-step
  * Analyze and modify scene while playing
* __Fully extensible__
  * Easy to extend using scripting
  * Comprehensive extension scripting API
  * Extend almost anything
	* Editor windows
	* Object inspectors
	* 2D/3D tools
	* Automate common tasks
* __Game publishing__
  * One click build process
  * Automatically detect required resources
  * Automatically package and output an executable
* __Customizable frontend__
  * Dockable layout and floating windows
  * Custom skin & localization support
   
## Core
* __Quality design__
  * Built using C++14 and modern design principles
  * Clean layered design
  * Fully documented
  * Modular & plugin based
  * Minimal third-party dependencies
  * Multiplatform ready
* __Renderer__
  * DX9, DX11 and OpenGL 4.3 render systems
  * Multi-threaded rendering
  * Flexible material system
    * Easy to control and set up
    * BansheeFX language for material definitions
    * Shader parsing for HLSL9, HLSL11 and GLSL
* __Asset pipeline__
  * Easy to use
  * Asynchronous resource loading
  * Extensible importer system
  * Available importer plugins for:
    * FBX, OBJ, DAE meshes
    * PNG, PSD, BMP, JPG, ... images
    * OTF, TTF fonts
    * HLSL9, HLSL11, GLSL shaders
* __GUI system__
  * Unicode text rendering and input
  * Easy to use layout based system
  * Many common GUI controls
  * Fully skinnable
  * Automatic batching
  * Support for texture atlases
  * Localization
* __Scripting__
  * C# 5.0
  * Separate high level engine API
  * Integrated runtime for maximum performance
  * Full access to .NET framework
  * Integration with Visual Studio
  * Automatic serialization
	* Custom components
	* Custom resources
	* No additional code
	* Handles complex types and references
* __Other__
  * CPU & GPU profiler
  * Virtual input
  * Advanced RTTI system
  * Native object serialization
  * Debug drawing
  * Utility library
    * Math
	* File system
    * Events
	* Thread pool
    * Task scheduler
    * Logging
	* Crash reporting
	* Memory allocators