Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

forthebadge forthebadge

Donate GitHub release GitHub repo size in bytes

Unity Asset: Puzzle System



Puzzle System is a highly customizable framework for the projects that contain any kind of puzzles. The framework provides you with the set of common, but yet customizable, solutions; as well as the basic classes that can be used in order to create unique puzzle experiences.

Table of contents


Unity Asset Package

  • Download PuzzleSystem_v1.unitypackage
  • Open Unity
  • Menu -> Assets -> Import Package -> Custom Package
  • Choose the downloaded package, click Open

Clone Repository

// Clone this repository
$ git clone

Get Started

Puzzle Structure

A very critical to understand in the beginning is how the puzzles will be structured in your project.

There are 3 types of elements for every puzzle:

  • Puzzle Handler -- responsible for handling situations when the puzzle has been solved or failed. In other words, defines what actions will be taken on these critical events (e.g., solved puzzle -> open gates for the player).

  • Puzzle Logic -- responsible for defining what kind of logic the puzzle is following; what player must accomplish in order to solve the puzzle, and what player's actions will lead to the failed condition (e.g., task: activate all triggers).

  • Puzzle Trigger -- objects that the player will interact with in order to proceed with the puzzle (e.g., press a certain keyboard key in a dedicated zone). It should not contain any logic for puzzle solving. It can, however, contain the information for the Puzzle Logic, where it will be analyzed and the decision will then be given on whether or not this trigger helps to solve the puzzle.

Editor Utility

There is an editor tool that you can make use of.

In order to open it: Menu -> Tools -> Puzzle System

Open Editor Tool

Full Documentation

You can find an extensive documentation available online at

There you can read more thorough material on all of the aspects and features available in the framework, as well as examples and other tips.


I know, this project isn't something huge, but I'm a just passionate student of Computer Science & Engineering that wants to conquer the world with his dev skills. A small tip for a cup of coffee, so I can code all days and nights, would be highly appreciated and really helpful!



The MIT License (MIT) 2019 - Roman Sirokov. Please have a look at the for more details.