Learn more about the Makinom editor.
The Makinom editor is used to input your game data and create schematics. The editor is separated into multiple sections and sub-sections.
Using the Editor
The Makinom editor is separated into different areas.
- Section selection
The sections are selected by the buttons at the top of the editor.
- Sub-Section selection
The sub-sections are selected by the button list at the left side of the editor.
The top of the sub-section area contains buttons to navigate backwards and forwards in the section change history.
- Help text
The help text is displayed in the lower left corner of the editor.
- Settings area
The settings area uses the largest part of the editor (center+right side).
Depending on the selected section and sub-section, the settings area can be split up into a data list (listing the available data, e.g. input keys or GUI boxes) and settings area.
The changes are saved or the last saved state reloaded by the buttons at the bottom of the editor.
The size of the different areas can be changed by the drag handles between them.
Opening the Editor
You can open the Makinom editor using the following methods:
- Unity menu
Using the Unity Menu: Window > Makinom
Mac OSX: CMD+ALT+M
- Makinom Project Asset
Either double click on a Makinom project asset file or select it and click on Open Project in the inspector.
This will open the Makinom editor and load the used project asset.
- Schematic Asset
Either double click on a schematic asset file select it and click on Edit Schematic in the inspector.
This will open the Makinom editor, load the last used project and opens the schematic asset in the Schematics section.
There are help texts available for all settings in the Makinom editor. The help texts are displayed in the lower left corner of the editor.
By default, the help text of a setting is displayed when you hover with the mouse above the setting. This behaviour can be changed in the editor settings (Editor > Editor Settings).
Data lists are displayed in the settings area for sub-sections that allow creating multiple sets of data, e.g. input keys.
The data list is used to add, remove, copy and move data in the list. You can also search the data list and, depending on the sub-section, filter the list.
Filtering is only available for data that has a type selection, e.g. formulas or scene objects.
There are some special fields to select or define data in the Makinom editor.
Data Selection Fields
The data selection fields are popups where you select data that you’ve created in the Makinom editor, e.g. selecting an Input Key.
Beside the popup, there are 2 small buttons available:
- Add (green plus)
The add button will add a new set of data and select it in the field.
E.g. if the field is a GUI Box selection, a new GUI box will be added.
The edit button will take you directly to the currently settings of the data currently selected in the field.
E.g. if the field is a Game State selection, it’ll open the game state’s settings.
The Makinom editor is separated into the following sections:
See below for more details on the different sections and their sub-sections.
The Editor section contains mostly settings and informations related to the Makinom editor.
The About sub-section displays information about your Makinom project, contains links to resources (e.g. tutorials or the community) and allows changing the current project or creating a new project.
The Editor Settings sub-section contains settings for the Makinom editor’s layout and usability.
The Backups sub-section is used to define the number of backups that are kept and allows restoring backups.
Each time you save in the Makinom editor, the last saved state is stored as a backup. When you restore a backup, you need to save the project to permanently restore the settings (the last saved state will again become a backup).
The Variables sub-section allows seeing what variable keys have already been defind in the Makinom editor, schematics and scenes. These variable keys will be available for selection in variable fields by using the drop-down button on the right side of the field.
You can also define variable keys to make them available in selections when they haven’t been used yet. It is not required to define variable keys here – it’s just used to give you an overview of the already used variable keys.
You can learn more about variables in this how-to.
The Plugins sub-section allows managing plugins for Makinom. Plugins can be used to add content and store custom settings in the Makinom project asset without changing the source code of Makinom. A plugin must be provided in form of a DLL.
The full version of Makinom contains a plugin example project. You can find available plugins here.
The Base/Control section contains the settings related to control and basic game data.
The Game Controls sub-section contains the settings for game controls (e.g. dialogue keys), interaction control and object selection.
You can also define components and machines that should automatically be added to the player (e.g. when using a Set Player node).
The Input Keys sub-section defines the inputs that are available. There are many different input origins available, e.g. the Unity Input Manager, key codes, mouse/touch or gyroscope.
You can also use custom input origins, e.g. 3rd party input solutions.
The Sound Types sub-section defines the sound types that are available. Sound types are used by Sound Templates and Sound Assignment components to assign audio clips to a sound type.
This can be used by schematics to play an audio clip based on sound types, allowing different sounds to be played based on the used game object.
The Portrait Types sub-section defines the portrait types that are available. Portrait types are used by Scene Objects and schematic actors to assign images to a portrait type.
This can be used in dialogues to display different portrait images for a speaker.
The Machine Types sub-section defines the machine types that are available. Machine types are used by Machine Templates and machine components to define the type of the machine.
This can be used to display different Interaction HUDs based on the machine type, e.g. display a Talk text when you can talk to an NPC and a Take text when you can pick up an item.
The Global Machins sub-section defines the global machines that are available. Global machines are used to start schematics whenever needed.
You can learn more about global machines in this how-to.
Game Object Pools
The Game Object Pools sub-section defines the prefabs used for pooling.
You can learn more about pooling in this how-to.
The Game section contains the settings related to the game (e.g. game states, languages) and that are used in your game world (e.g. formulas, camera positions, scene objects).
The Game Settings sub-section contains the basic game settings, e.g. the chance random range (default 0-100), raycast settings and initial global variables.
Furthermore, you can define prefabs used when spawning the player through Makinom, e.g. using a Spawn Player node or Scene Changers with Spawn Points.
The Game States sub-section defines the game states that are available. Game states are mostly used as conditions for starting machines, displaying HUDs and in schematics.
You can learn more about game states in this how-to.
The Languages sub-section defines the languages that are available. You can define texts in Makinom in all defined languages (e.g. dialogue texts).
The Formula Types sub-section defines the formula types that are available. Formula types are used to organize and filter formulas in the Makinom editor.
The Formulas sub-section defines the formulas that are available. Formulas are defind in a node-based editor and are used to calculate a float value with a user and a target game object.
Formulas are useful if you often need to calculate a value, e.g. using object variables containing attributes of player and enemies to calculate the attack damage.
The Camera Positions sub-section defines the camera positions that are available. Camera positions are used in schematics and Camera Event components to place or mvoe the camera to defined positions using a target game object.
Camera positions are optional, you can also place and move the camera as you’d move any other game object.
The Music sub-section defines the music that is available. Music is used by schematics and Music Player components to change the background music of your game.
Scene Object Types
The Scene Object Types sub-section defines the scene object types that are available. Scene object types are used to organize and filter Scene Objects and add additional type information to them.
The Scene Objects sub-section defines the scene objects that are available. Scene objects are used to add information to game objects using a Scene Object component.
Scene objects define the name and description of game objects. They can also add portraits and object variables to game objects. This information can be used by HUDs (e.g. displaying the name of an interaction) and schematics (e.g. dialogue speaker name and portrait).
The Menus section contains the settings related to UI and save games.
The Menu Settings sub-section contains the basic UI settings, e.g. default screen size, used GUI system (legacy, new UI) and default GUI box settings (they can be overridden by each GUI box individually).
The Save Game Menu sub-section contains the save game system settings. You can define the game data that will be saved in save games, the load game screen fades and save/load menus.
The GUI Layers sub-section defines the GUI layers that are avaialble. GUI layers are used to sort displayed GUI boxes in layers, e.g. displaying dialogues above HUDs or a load screen HUD above the screen fader.
The GUI Boxes sub-section defines the GUI boxes that are available. GUI boxes are used by dialogues and HUDs to display their content.
A GUI box defines the position and size of the UI on the screen, as well as the layout and optional fading and moving in/out.
The HUDs sub-section defines the HUDs that are available. HUDs (head up displays) are used to display information to the player, e.g. available interaction or the player’s health.
There are different types of HUDs available, beside displaying information, you can also create virtual controls for mobile devices using the Control HUD type.
The Templates section contains the settings for all kinds of templates that are used by Makinom.
The Animation Templates sub-section defines the animation templates that are available. Animation templates are used by schematics (Animation Template node) to play predefined animations.
An animation template defines an animation setup (e.g. an attack) for legacy, mecanim and custom animation systems. The schematic will try to play/stop an animation based on these settings.
Game State Condition Templates
The Game State Condition Tempaltes sub-section defines the game state condition templates that are available. Game state condition templates are used by game state conditions (e.g. in schematics, machine components or HUDs) to check for predefind, reusable conditions.
If you often use the same game state conditions, save time by creating a template and using that instead.
The Machine Templates sub-section defines the machine templates that are available. Machine templates are used by schematics and Template Machine components to add predefined machine components to a game object.
If you often use the same machine component setup, save time by creating a template and using that instead.
Variable Change Templates
The Variable Change Templates sub-section defines the variable change templates that are available. Variable change templates are used by variable changes (e.g. in schematics or machine components) to change predefined, reusable variables.
If you often use the same variable changes, save time by creating a template and using that intead.
Variable Condition Templates
The Variable Condition Templates sub-section defines the variable condition templates that are available. Variable condition tempaltes are used by variable conditions (e.g. in schematics or machine components) to check for predefined, reusable conditions.
If you often use the same variable conditions, save time by creating a template and using that instead.
The Sound Tempaltes sub-section defines the sound templates that are available. Sound templates are used to assign audio clips to sound types. These assignments can be added to game objects using Sound Assignment components.
Sound types can be used in schematics to play audio clips assigned to sound types.
The Schematics section is used to create and edit schematics. You can learn more about schematics in this how-to.
Schematics are edited using the node editor.