August
26
2022

Makinom 2.7.0 is here with 36 new features, changes and fixes!

This update adds XML String data format to save settings (e.g. for version control merging support via GIT), conditional schematics for HUDs (e.g. automatically scale up/down the HUD when the HUD’s user/content meets defined conditions), a revamp of the math functions feature to make it extensible 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

  • Game Settings: Data Settings: ‘Data Format’ setting available. Select which format the settings data will be stored in, either ‘Byte Array’ (current) or ‘XML String’. Using ‘XML String’ allows merging data via version control products (e.g. GIT), but has slower save/load times. It’s recommended to use ‘Byte Array’ for your built games to make use of the faster load times.
  • Game Settings: ‘Default Rounding’ setting available. Defines the rounding used when other rounding settings use the ‘Default’ rounding.
  • HUDs: Schematics: ‘Conditional Schematic’ settings available. Define conditions checking the HUD’s content/user and schematics that’ll be used when the conditions are valid or invalid. Like other HUD schematics, the HUD and content/user are available as selected data in the schematic, e.g. allowing to fade/scale the HUD based on the conditions.
  • UI Settings, UI Boxes: Dragging Notification: ‘Use Content Icon’ setting available. Optionally uses the icon of the dragged content instead of the defined icon of the notification.
  • Math Functions: Math functions have been replaced by an extensible class. Extend from the ‘BaseMathFunction’ class to implement custom Math function. Previous settings will be udpated automatically.
  • Math Functions: ‘Log’ and ‘Log Base’ functions available. Uses the natural (base e) or defined base logarithm of the value.
  • Math Functions: ‘Raised To Power’ and ‘Raised To Value’ functions available. Raises the value to a defined power (e.g. x^3) or raises a defined value to the power of the value (e.g. 3^x).
  • Math Functions: ‘Multiply’, ‘Divide’ and ‘Divide By Value’ functions available. Multiply or divide the value by a defined value, or divide a defined value by the value.
  • Math Functions: ‘Add To Value’, ‘Subtract From Value’ and ‘Subtract Value’ functions available. Add or subtract a defined value to/from the value, or subtract the value from a defined value.
  • Math Functions: ‘Modulo (%)’ function available. Uses a modulo operation (the rest of a division), the value % a defind value.
  • Schematics: Select Game Objects: ‘Use Child Objects’ setting available. Optionally use all direct child objects of the defined game object. I.e. this uses child objects that are parented to the defined game object, but not child objects of it’s child objects.
  • Schematics: Select UI Input Context: ‘Select UI Input Context’ node available in ‘Value > Selected Data’ nodes (only available when using ‘Unity UI’ module). Use the schematic context of a UI input component attached to a game object, e.g. get the context added to a choice button. The schematic context of an input is e.g. used by Makinom’s extension ‘ORK Framework’ in various menus, e.g. ‘Inventory’ menus to add the item of a button.
  • Unity UI: UI Button (Ok, Cancel) Component: ‘Hidden By Inactive’ setting available. Optionally hide ok/cancel buttons if their state is inactive (e.g. ok/cancel being blocked). By default enabled (hiding inactive buttons).
  • Unity UI: UI Input Components: ‘Add as Placed Input’ button available for inputs added to a UI box but not yet added as placed input. Adds the input as a placed input to the ‘UI Box’ component’s settings.
  • Unity UI: UI Tab Button Components: ‘Add as Placed Tab’ button available for tab buttons added to a UI box but not yet added as placed tab. Adds the tab button as a placed tab to the ‘UI Box’ component’s settings.
  • Unity UI: HUD Value Bar (Sprite) Component: ‘Fade Change’ setting available. Optionally change the displayed value over time from current value to new value.
  • Unity UI: HUD Text Content Component: ‘Use Time Update’ settings available. Optionally update the content in regular intervals.
  • Unity UI: HUD List Components: ‘Force Prefab’ setting available. Force using the prefab defined in the component instead of a prefab provided by the displayed content.
  • Editor: Saving: Performance improvement when saving changes.

Changes

  • UI: Dialogues: Most dialogues will now allow showing ok/cancel buttons in any case. The ok/cancel buttons of the UI box handle their display according to their own setup (e.g. hidden by inputs or inactive state). For the ‘Unity UI’ module, this is handled by the ‘UI Botton (Ok, Cancel)’ component of the UI box’s ok/cancel buttons.
  • Math Functions: ‘Plus1’, ‘Plus90’ and ‘Plus180’ functions have been replaced by ‘Add To Value’ function. Previous settings will be updated automatically.
  • Math Functions: ‘Minus1’, ‘Minus90’ and ‘Minus180’ functions have been replaced by ‘Subtract From Value’ function. Previous settings will be updated automatically.
  • Editor: History: The ‘Schematics’ section will no longer be remembered in history navigation.
  • Unity UI: HUD Text Content Component: ‘Update Every’ is no longer displayed when a time-based text code is used in the text. Instead it’s now displayed (and used when ‘Use Time Update’ is enabled).

Fixes

  • Editor: Schematics: Fixed an issue where exiting play mode while having the schematic editor open could cause errors.
  • Inspectors: Prefabs: Fixed an issue where changing settings on a prefab’s component outside of prefab edit mode could lead to changes not being saved when closing Unity.
  • Editor: Playing: Fixed an issue that could cause errors with starting coroutines when stopping play in the Unity editor.
  • Node Editor: Fixed an issue where selecting a node group caused errors.
  • UI: Custom Inputs: Fixed an issue where custom input settings without a custom input could override already assigned custom inputs.
  • Unity UI: HUDs: Fixed an issue where some HUD components could be updated too late when spawned.
  • Unity UI: HUD Tooltip: Fixed an issue where closing the HUD while displaying a tooltip (cursor over) didn’t remove the tooltip.