Best Practices
Here are some of our best practices that will help you stay organized and efficient when building your diagrams:
1. Use Labels, Descriptions, Colors, Images and Textboxes
One of the most powerful Machinations attributes is the visual aspect of a diagram. To leverage the visibility of your diagram it is strongly recommended to use the following features:
- Labels – Each node and connection can have a short title to represent the action simulated by each component (I.E Spawn Items, Drop change, Inventory, Player choice). Labels can be created and modified in the Properties panel of each node, on the Add a label line at the top.
- Descriptions – They are used for more complex explanations that are not visible on the canvas, similar to presenter notes in PowerPoint. You can write the note of each node on the Add a note line in the Properties panel.
- Colors – Color coding on nodes can be used to keep track of related nodes without grouping or layering subsystems. Colors can also be visual cues that represent in diagram actions: Green = successes & increases while red = fails & decreases. Moreover, stroke color used for pools and registers will be used for simulation results to plot colored chart lines
- Images – They are the best method of linking in-game mechanics to in-diagram actions. Instead of grouping several nodes and naming all “XP mechanics” you could directly use the in-game XP icon next to the relevant subsystem. Find out more about Images.
- Textboxes – This node is mainly used as a description that can be visible on the canvas. Additionally, textboxes can act as generic explanations, showcasing the inputs or the rules of a diagram. Find out more about Textboxes.
Utilizing the features listed above can make a huge difference between a bland, uninspiring, hard-to-understand diagram and an engaging, clear, aesthetic model.




Since Textboxes and Images are non-functional nodes in the diagram they are not counted towards the components limit. Feel free to use as many images and textboxes on your canvas.
2. Automatically connect new nodes by double clicking
If you want to be faster when adding new components to your diagram, you can leverage the automatic connect feature to place them directly in their intended position. You can read more on our Framework Basics page.
To automatically create a new node and an adjacent connection you must:
a. Select the origin node (already present on the canvas);
b. Double-click on a compatible node in the toolbar;
c. (optional) Use keyboard shortcuts to modify the position of the new node;
d. Notice that the node from the toolbar is automatically linked by the origin node and added to the canvas;

If you want to automatically create a state connection instead of a resource connection, you can hold down ALT on the keyboard while pressing double-click to create the node
You can adjust the direction of the the automatic connections by using the following keyboard shortcuts:
- SHIFT + double-click – creates a top connection;
- CTRL + double-click – creates a down connection
- SHIFT + CTRL + double-click – create a left connection
3. Use Auto-link for loose connections
When just creating a connection or when an endpoint of a connection is deleted, you are able to easily connect a new node by dragging it over the loose connection point. A loose end is marked with a small ring; drop a node from the toolbar onto it and the node is connected automatically.

4. Use the Connection Styles
Connections are drawn as orthogonal lines that bend at right angles around your nodes, which keeps them from running over other nodes. Select a connection to show its handles and the toolbar above it, where you can change its color and thickness. The straight, curved and entity styles of the earlier editor are not in the current one. Styling a connection is only a visual change and does not affect the diagram’s functionality. Select several connections, resource and state connections together, to style them at once.
5. Reuse systems between diagrams
To reuse a subsystem in other diagrams, select its components, copy them (Copy in the right-click menu, or CTRL/CMD + C), open the other diagram and paste them (right-click the canvas and choose Paste here or Paste with connections).
6. Use Groups
Groups in Machinations are a great method of structuring diagrams in subsections for linked nodes, similar to layers. Additionally, groups can be minimized to improve diagram readability.
Groups can also be created by pressing the keyboard shortcut CTRL/CMD + G while multiple components are selected.
7. Export Multiple Runs
After running complex simulations countless data points might be difficult to follow in a visual chart. If needed you are able to export Forecast results as .CSV files: open the options menu (the three dots) of a Forecast in the list at the left of the chart and choose Download CSV. Using the entire data points you could apply statistical formulas, feed scripts, or even notice trends using AI.
To find out more about how to use the export feature, please check out the Dedicated Documentation Page.


8. Use Layers
Layers in Machinations are a remarkably useful tool in keeping the diagram tidy and organized. They can be used to clearly define subsystems and groups of components.
You can make the following actions when using layers in a diagram:
a. Name and Rename layers for diagram readability;
b. Set Layers to invisible/visible to hide some components. You can avoid information overload by hiding auxiliary nodes (they keep their functionality as normal);
c. Lock and Unlock layers to enable and disable editing. You can ensure that important layers are not modified by mistake;
d. Duplicate layers to avoid time-wasting copy and paste;
To find out more about how to use Layers, please check out the Dedicated Documentation Page.


9. Navigate on the canvas using the Outliner
You can enable the Outliner feature with the Show outliner button in the view controller at the bottom right of the canvas. The Outliner acts as a mini-map for larger diagrams which can be used to pan your canvas by dragging the frame that marks the visible part, while previewing the entire diagram. This feature is especially useful for complex diagrams that contain subsystems in which you and easily navigate between each section and view how they work together.

10. Duplicate/Delete with Connections
For multiple scenarios, systems designers might want to model similar functionalities to existing ones in their diagram. To make this action as simple as possible you can use the option Duplicate with Connections.
Here is how to use it:
a. Select a node or a group of nodes;
b. Right-click on your selection to open the contextual menu;
c. Select “Duplicate with connections”
d. Notice that the entire selection is duplicated alongside the linked connections. The new connections are also connected to their existing origin nodes to ensure that the duplicated system uses the same values as the original one;
Additionally, you can use the keyboard shortcut CTRL/CMD + SHIFT + D for duplicating with connections and CTRL/CMD + Backspace for deleting with connections.

11. Highlight connected nodes
When a diagram increases in complexity and multiple subsystems interact, it can be difficult to keep track of the connections between different systems in the model. To aid with this problem, Machinations offers the functionality Highlight connected nodes which improves visibility for selected nodes and all connected components.
When using the highlighting feature you are able to select the desired level of relation to the original node. As such, when selecting the first level only nodes connected by a single connection will be highlighted, however, for level 3, all chains of 3 connections will be showcased.
To activate the highlight feature, right-click on your desired node, select “Highlight connected nodes” and choose your desired level of relevance.

12. Keep Grid and Guides on
The canvas Grid and Guides will help you to align your constructions automatically. When moving things around on the canvas, you will see blue guides that indicate and line up to the position of the nearest component.

