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 this repository $ git clone https://github.com/romatallinn/unity-puzzlesystem-asset.git
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.
There is an editor tool that you can make use of.
In order to open it:
Menu -> Tools -> Puzzle System
You can find an extensive documentation available online at https://puzzlesystem.gitbook.io.
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!