A complete single-player chess game, not just a board. Real engine, 3 difficulties, best-move hints, undo, save/resume, FEN, VFX, SFX, one-click reskin. Drop in one prefab and play. No dependencies.⭐WEB GL DEMO LINK ⭐Drop in one prefab. Press Play. You are playing chess.Advanced Chess Kit is a finished chess game, not a chess board component. All 32 pieces place themselves, clicking a piece highlights its legal destinations, a real engine replies on its own, and the game ends properly on checkmate, stalemate, threefold repetition or insufficient material.Everything past that first prefab is optional and swappable — so the kit works both as the game you are shipping and as a minigame inside a much larger one.A real engine, not a random-move opponentThree difficulty levels — Easy, Normal, Hard — each a search time budget rather than a handicap. Every level always plays the strongest move its search found, so a lower difficulty is genuinely cheaper to run, never artificially worse on purpose. Measured search depth: 5–10 ply on Easy, 6–11 on Normal, 7–14 on Hard. Iterative deepening, transposition table, killer moves, history heuristic, quiescence search, opening book.And it never stalls your frame. The reply is computed a slice at a time across frames, so the board stays responsive and animated while it thinks. Replies are paced to land 1.5–2.5s after your move finishes on screen — steady turn rhythm, no "thinking…" spinner needed.Everything a player expects, already builtBest-move hints. BeginHint(count) returns the best N moves, always searched at the Hard budget — a hint is advice, not a sparring partner.Undo. TryUndo(plies) reverts any number of plies. Misclicked? Take it back.Resign, with in-flight search cancelled cleanly.Save and resume across sessions. Players quit and come back to the exact position they left.Full legal rules. Castling, en passant, promotion, threefold repetition, insufficient material — the cases hand-rolled boards get wrong.Animated board with VFX and SFX. Move, capture, castle and promotion are animated; select / move / capture sounds ship with per-clip volume and pitch jitter; highlight, selection and best-move effects run on the kit's own shaders.Click-to-move and drag-and-drop, both out of the box. An illegal drop snaps back.Built to drop into your gameYour save system, not ours. Save() hands you the whole game as a single opaque string and TryLoad() restores it — wire those two calls into a save slot, a profile, or cloud sync. The default PlayerPrefs backend needs zero setup and works everywhere, WebGL included.Your art, in a few clicks. Board sprite, all 12 piece sprites and the label colour live in a ChessBoardSkin ScriptableObject; sounds live in a ChessBoardSfx. Duplicate, point the board's field at your copy, done — and a built-in editor window previews the whole board live as you edit.Your flow, or ours. ChessKitSession wires the opinionated loop — difficulty → play → pause → outcome → restart — with six optional UI screens. Unplug it and drive ChessBoardHost yourself. Every screen has a defined fallback when it is absent, so deleting any of them is a supported configuration, not a broken one.Any starting position you want. Load any FEN string to start a game from a custom position — puzzles, tutorials, a scripted story moment.Tools that save you a weekFEN Test Launcher. Paste a FEN or pick a preset — promotion, en passant, castling, in check, mate in one either way — preview it, press Play, and start on that exact position. Test edge cases without playing up to them by hand.Live skin editor. See the whole board redraw as you swap sprites.123 automated edit-mode tests ship with the source: engine contract behaviour, async reply and hint contracts, chunked search integrity, save/restore round-trips, difficulty regression guards and package self-containment.Seven AI Skills includedThe package ships Agent Skills under AI/Skills/, so an AI coding assistant in your project can set the kit up, wire persistence, reskin the board, add hints and undo, and diagnose a misbehaving board using the kit's real API instead of guessing at it.No dependencies, and it means itNothing outside the package is required. DOTween and UniTask are optional and neither is bundled — an editor script detects DOTween and flips a scripting define automatically; with it absent the board animates through a small tween that ships inside the package. The input module is chosen at runtime, so the scene starts and accepts input under the old Input System, the new one, or Both, with no setup. You never configure any of this.The package installs under Ostryzhnyi/Advanced Chess Kit/ and Ostryzhnyi/EasyViewService/ and writes nothing anywhere else — enforced by an automated self-containment test, not just a promise.Being straight about what this is notSingle-player only. No networking, matchmaking or online play.No Elo rating. Difficulty is search depth and time budget, verified by regression tests; a numeric rating would need calibration against an external reference the kit does not ship with.2D sprite board. No 3D models, no animated piece meshes.The engine is a vendored fork of MinimalChessEngine (MIT, © 2021 Thomas Jahn), fully disclosed with its license and a written description of every change from upstream.RequirementsUnity 6 — developed and tested on 6000.5 (Unity 6.5)Universal Render Pipeline or Built-in — the board is standard spritesTextMeshPro (ships with Unity) for rank/file labels and UI textNo other required packages. DOTween and UniTask are optional and not bundled.Contents54 C# source files across 6 assembly definitions: Runtime, Unity, Unity.UI, Unity.Editor, Localization, SamplesChess board prefab, six UI screen prefabs, one sample sceneChessBoardSkin and ChessBoardSfx ScriptableObject assets, plus the localization strings assetBoard and piece sprites, UI icons, sound effects, TextMeshPro font atlasTwo editor windows under Tools ▸ Ostryzhnyi ▸ Advanced Chess Kit: skin editor with live board preview, and FEN test launcherSeven Agent Skills under AI/Skills/ for AI coding assistantsFull README, third-party notices, and a sample README with a worked integration exampleEngineVendored core of MinimalChessEngine (MIT, © 2021 Thomas Jahn), as a declared fork — two files carry marked changes: multi-PV root move ranking with its own kill switch, and a search-only fix for king-less positions produced internally by the search. Both changes and their rationale are written out in Third-Party Notices.txt. The UCI/console front-ends of the original project are not included.Full legal move generation including castling, en passant and promotion. Terminal detection covers checkmate, stalemate, threefold repetition and insufficient material.Public API (main surface)ChessBoardHost — NewGame, NewGameFromFen, TryPlayMove, IsPromotion, BeginHint, TryUndo, Resign, Save / TryLoad, SaveToStorage / TryLoadFromStorage, FlushStorage, CanPlayerAct, and events HeaderChanged, PliesUndone, GameEnded, CanPlayerActChangedSwappable ports: IChessGameStorage (persistence) and IChessGameFactory (engine backend), both assignable at runtimeChessBoardView — MoveRevealed, HintShown, SquaresChangedOnUndo, WorldPositionOf, PromotionChooser, ShowHint, SetInteractable, GetPieceSpriteChessKitSession — session routing, save lifecycle, OpenPauseMenu()RobustnessThe kit degrades instead of throwing: an unreadable FEN falls back to a normal opening, an unrestorable save is discarded, a failed storage write is dropped. A Verbose Logging toggle (off by default, so shipped builds stay silent) reports those recoveries through Debug.LogWarning, and the log sink is redirectable into your own logging stack.Verification123 automated edit-mode tests ship with the project source and cover engine contract behavior, async reply and hint contracts, chunked search integrity, save/restore round-trips, difficulty calibration regression guards, and package self-containment. The package imports with zero errors and zero warnings on the minimum supported Unity version.PlatformsAny target Unity builds to. The default PlayerPrefs storage backend works on all of them, WebGL included. Search cost is wall-clock time, so slower hardware reaches lower depths within the same budget — the ordering between difficulty levels holds regardless.Portions of this package's C# source were written with AI assistance (Claude, by Anthropic). All code was reviewed, edited, and tested by the publisher, and is covered by the package's automated test suite. This package's documentation and its other written material, including this store listing text, were also drafted with AI assistance and edited by the publisher.All art and audio in this package — the board and piece sprites, the icons, and the sound effects — are the publisher's own work and are not AI-generated. The bundled third-party chess engine (MinimalChessEngine, MIT) and font (Jupiteroid, CC0) are likewise not AI-generated; see the package's Third-Party Notices for their provenance.




