Universal Chess Interface
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
In November 2000, the UCI protocol was released. Designed by Rudolf Huber and Stefan Meyer-Kahlen, the author of Shredder, UCI rivals the older "Chess Engine Communication Protocol" introduced with XBoard/WinBoard. Both protocols have been free to use without license fees.
By design, UCI assigns some tasks to the user interface (i.e., presentation layer) which have traditionally been handled by the engine (at the business layer) itself.
Most notably, the opening book is usually expected to be handled by the UI, by simply selecting moves to play until it is out of book, and only then starting up the engine for calculation in the resulting position. UCI does not specify any on-disk format for the opening book. Different UIs usually have their own proprietary formats.
While the UI can also take responsibility for handling endgame tablebases, this is arguably better handled in the engine itself, as having tablebase information can be useful for considering possible future positions.
The move format is in long algebraic notation.
A "nullmove" from the Engine to the GUI should be sent as 0000.
- e1g1 (white short castling)
- e7e8q (for promotion)
|This section is empty. You can help by adding to it. (August 2016)|
- Latest UCI Engines (February 2014)
- UCI technical specification download page
- UCI technical specification (online)
|This chess-related article is a stub. You can help Wikipedia by expanding it.|
|This video board game-related article is a stub. You can help Wikipedia by expanding it.|