Makinom 2.14.0 is here with 18 new features, changes and fixes!
This update improves data loading performance, adds support for sub-assets in asset bundles, new math functions, new float operators and other new features, changes and fixes.
Download the latest version of Makinom here.
If you’re enjoying Makinom (or ORK Framework) and the free updates, tutorials and support I’m providing, please consider supporting me as a patron on patreon.com.
New
- Data Loading: Performance improvement when loading data (editor and in-game). Especially noticeable when opening large projects with hundreds or thousands of data assets in the Makinom editor.
- Editor: Loading/reloading data, checking for changes and saving now displays information screens instead of the settings. The editor is locked in any case, the new screens will inform you that an operation is in progress. Previously, larger projects had locked editors for some time without letting you know what’s going on.
- Editor: Variable Fields: Improved performance of the variable popup fields.
- Game Controls: Interactions: Move To Interaction: ‘Update Position’ settings available. Optionally update the position the player moves to during movement. E.g. use this if your interactions are moving to let the player run after them.
- Game Settings: Performance Settings: ‘Auto Data Init’ setting available. Initializing the settings of data assets directly referenced by the project (e.g. input keys, music or HUDs) is now optional. Not loading the settings on project initialization will boost the initial project load time and loads the settings as needed (i.e. when they’re first accessed). By default disabled, i.e. not loading settings on project init (change to previous behaviour).
- Asset Sources: Asset Bundle: Asset bundles now support using sub assets. E.g. using sprites from a sprite sheet is now possible.
- Math Functions: ‘Root Of Value’ and ‘Root By Value’ functions available. Finds the nth root of the value (e.g. x^1/3) or uses the value as root of a defined (e.g. 3^1/x).
- Float Operators: ‘Root’ float operator available. The nth (value) root of the current value (i.e. current value ^ 1/value).
- HUDs: Conditional Schematics: ‘Auto Stop’ settings available for ‘Valid Schematic’ and ‘Invalid Schematic’ settings. Optionally stop a running valid/invalid schematic when the condition changed (i.e. stopping valid schematic when becoming invalid or stopping invalid schematic when becomming valid).
- Schematics: Stop Machine: ‘Stop Machine’ node available in ‘Machine’ nodes. Stops running machines/schematics that use a defined schematic asset and machine object.
- Untiy UI: HUD Click Component: Schematic: The HUD’s user/content is now available as local selected data via the data key ‘action’.
- Inspector: Makinom Object: Listed running machins/schematics can now be stopped via a button.
- Scripting: HUDs: The ‘HUDInstance’ class now has functions to access the HUDs displaying content. They’re returned as ‘IUIBase’ interface instances, which are in most cases ‘IHUD’ interfaces (e.g. the ‘HUD’ component when using ‘Unity UI’ module), but can also be ‘IUIBox’ interfaces (e.g. ‘Console’ HUD in ORK Framework).
Changes
- Project Initialization: The directly referenced data assets no longer automatically load their settings on project initialization (in-game). This improves initial load time and loads the settings as needed. To restore the previous behaviour (i.e. loading the settings on project init), use the new ‘Auto Data Init’ setting in ‘Game > Game Settings’ in the ‘Performance Settings’.
- Unity UI Components: HUD Click, HUD Button Control Content, HUD Axis Control Content, HUD Joystick Control Content: Using clickable HUD content as part of a UI box’s inputs will now forward click-selection to the parent input.
Fixes
- Schematics: Start Machine: Fixed an issue where the ‘Resource Overrides’ settings where not used.
- Schematics: Show Dialogue: Fixed an issue where descriptions of ‘Choice’ dialogues didn’t use the correct variable origin or replace actor text codes.
- Unity UI: UI Selection Cursor Component: Fixed an issue where enabling ‘Show Only Focused’ didn’t hide the cursor of an unfocused UI box when first showing it or updating the displayed content.