A short introduction to Makinom’s features.

What Is Makinom? #

Makinom is an editor extesion for the Unity game engine. It’s a powerful and flexible general-purpose game development toolkit for Unity, allowing you to create game controls, game mechanics or interactions with your game world without writing a single line of code.

You can create all kinds of 2D or 3D game genres, like roguelikes, platformers, shooters, action-adventures, 1st- or 3rd-person, and many more. Check out the tutorials for some examples.

Unity Compatibility #

Makinom currently supports any Unity version since 2019. It’s recommended to stick to Unity’s LTS (long-term support) versions, e.g. Unity 2019.4.

When a new Unity version is released, it might contain changes that break compatibility with the current Makinom version. This’ll usually be fixed with a new version within a few weeks after Unity’s release. There’s no official support for Unity’s alpha or beta versions.

Some extensions to Makinom (e.g. UI modules or plugins) might require certain packages to be installed in the project, e.g. using the Unity UI module requires using Unity UI and TextMesh Pro packages.

Supported Platforms #

Makinom officially supports the following build targets:

  • PC Standalone
  • Mac Standalone
  • Android
  • iOs

Since Makinom’s features are implemented using basic/cross-platform APIs, it’ll most likely also work on other platforms (e.g. Nintendo Switch and other consoles), but they’re untested.

Features #

Before getting into the details in the following documents, let’s get a quick overview over some of Makinom’s core features.

Schematics #

Schematics are reusable, node-based blueprints of what you want to do. They work similar to flow charts, each node performs a task and decides the next node that’ll be executed. There are over 400 nodes available, ranging from simple things like playing an audio clip, spawning a prefab or increasing a counter to complex operations like moving/rotating over time or fading to a new camera position.

Schematics are used to create player/camera controls, game mechanics, dialogues and other interactions, cut-scenes, AI and handle animations, movement and many other things.

Learn more in the schematics documentation.

Machines #

Machine components are used to play your schematics (but schematics can also play other schematics). There’s a machine for every use case, e.g. Tick Machines handle update-based functionality like player/camera controls, Trigger Machines can start when an object enters an area or Collision Machines when a bullet hits a target.

Tagged Machines are used to create a uniform setup for your game mechanics, e.g. starting whatever happens when something is killed or destroyed via the same tag (e.g. ‘kill’), for items and other pickups this can trigger collection, while on enemies it’ll play their death animation and drop loot or increase the score.

Often used machines can be set up as templates for easy reusability.

Learn more in the machines documentation.

Languages #

Makinom supports setting up content in multiple languages, as well as easy export and import of language data for translations, including notes to the translators.

Learn more in the languages documentation.

Input Keys #

Input keys are an extensible input system with support for local multiplayer and control styles via the Input ID system.

Learn more in the input keys documentation.

Variables #

Variables are used to store information in a running game. This information could be anything – like the player’s health, ammunition or marking a solved quest. You wont be able to create a game without using variables, they’re needed in basically all game mechanics you’ll create. Variables can be available globally (i.e. everywhere), bound to a game object or within a local execution (e.g. in a running schematic).

Learn more in the variables documentation.

Game States #

Game states are simple states that are either active or not. You can set up your own game states to manage e.g. if a HUD should be displayed or a machine be able to execute.

They can either be changed automatically (e.g. upon pausing/unpausing the game or blocking/unblocking player controls) or via schematics.

Learn more in the game states documentation.

Modular UI System #

Build HUDs, dialogues, menus and flying texts (e.g. damage numbers). HUDs can also be used for virtual controls.

The UI system is modular and completely separated from the rest, allowing you to switch it out if needed.

Learn more in the UI system documentation.

Save Games #

Makinom includes a save game system to save the current state of your game, including variables, game states and the player’s position (and scene).

Learn more in the save games documentation.

Formulas #

Create node-based formulas for often used or complex calculations, e.g. damage calculations.

Audio/Music #

Makinom includes a music system for fading between different tracks, as well as multiple music channels.

You can also use audio channels to play sound effects and control their volume independently.

Learn more in the audio and music documentation.

Game Object Pooling #

Use pooling to reduce performance impact from spawning and destroying often used game objects, e.g. bullets fired by a gun.