June
24
2022

Makinom 2.5.0 is here with 35 new features, changes and fixes!

This update adds prefab savers to save information about spawned prefabs, game object savers to save information about (already placed) game objects in your scenes), formula sub calculations, new Vector3 value types 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

  • Prefab Savers: ‘Prefab Savers’ sub-section available in the ‘Base/Control’ section. Save position, rotation, scale or local object variables of prefab instances and their child objects when changing scenes and saving the game. Spawning prefabs via ‘Spawn Prefab’ nodes have to enable adding the prefab instance to prefab savers, and the spawned prefab must match one of the defined prefab saver prefabs.
  • Vector3 Values: Random Value: ‘Random Value’ value type available. Generates a random value between a defined minimum and maximum Vector3 value.
  • Vector3 Values: Scene Position: ‘Scene Position’ value type available. Uses the stored scene position of the current scene or a defined scene name as value.
  • Vector3 Values: Random Inside Sphere, Random On Sphere, Random Rotation, Random Rotation Uniform: ‘Multiply By’ setting available. Multiply the random value by a defined value (float value selection). Defaults to 1 (i.e. using the random value without any change).
  • Game Object Saver Components: ‘Game Object Saver’ component available. Save position, rotation, scale or local object variables of game objects and their child objects in your scene. Also saves data from attached components implementing the ‘IComponentSaveData’ interface. Only works for game objects already placed in your scenes, not for game objects spawned in-game.
  • Formulas: Begin Sub Calculation: ‘Begin Sub Calculation’ node available in ‘Base’ nodes. Starts a new calculation as part of the formula (i.e. used as ‘left parenthesis’). Everything within a sub calculation will be calculated until it’s corresponding ‘End Sub Calculation’ node and added to the previous formula value using the defined operator.
  • Formulas: End Sub Calculation: ‘End Sub Calculation’ node available in ‘Base’ nodes. Closes the last opened sub calculation (i.e. used as ‘right parenthesis’). The sub calculation’s current value (result) will be used to change the previous formula value using it’s corresponding ‘Begin Sub Calculation’ node’s operator.
  • Save Game Settings: ‘Game Object Savers’ settings available in the save settings. Defines if data from ‘Game Object Savers’ is saved with save games.
  • Save Game Settings: ‘Prefab Savers’ settings available in the save settings. Defines if data from prefab savers is saved with save games.
  • UI Boxes: Controls: ‘Select Left Click’, ‘Select Middle Click’ and ‘Select Right Click’ settings available. Define if clicks will select inputs. The settings are only available if their equivalent ‘Accept Click’ setting is disabled, e.g. disable ‘Accept Middle Click’ to have ‘Select Middle Click’ available.
  • UI Boxes: Dragging Notification: ‘Dragging Notification’ settings available in the override settings. Optionally use a custom dragging notification to display dragged content coming from the UI box. The default dagging notification is set up in ‘UI > UI Settings’.
  • Game Controls: Object Selection: Mouse/Touch Control: ‘Use Cursor Over’ setting available. Optionally select game objects when the cursor is over them instead of using click/touch interaction.
  • Schematics: Prefabs: ‘Remove Prefab Saver’ setting available when destroying prefabs at the end of the schematic or using ‘Auto Destroy After Time’. Removes the destroyed prefab instance from prefab savers it might be added to. By default enabled.
  • Schematics: Spawn Prefab, Fill Grid Cells: ‘Add Prefab Saver’ setting available. Adds the spawned prefab to it’s matching prefab saver, saving it’s data (e.g. position) on scene changes, respawning it when returning to the scene. By default disabled.
  • Schematics: Destroy Prefab, Destroy Object: ‘Remove Prefab Saver’ setting available. Removes a game object from being saved by prefab savers (if added). Otherwise destroying the game object would trigger saving it’s data if it’s added to a prefab saver. By default enabled.
  • Schematics: Remove From Prefab Saver: ‘Remove From Prefab Saver’ node available in ‘Game Object > Prefab’ nodes. Remove a game object from being saved by prefab savers. Either remove all in the current scene, only from a defined prefab saver or from a defined game object.
  • Schematics: Clear Prefab Savers: ‘Clear Prefab Savers’ node available in ‘Game Object > Prefab’ nodes. Removes stored data from prefab savers in a defined scene or all scenes.
  • Schematics: Clear Game Object Savers: ‘Clear Game Object Savers’ node available in ‘Game > Scene’ nodes. Removes stored data from ‘Game Object Saver’ components in a defined scene or all scenes.
  • Schematics: Stop Global Machine: ‘Stop All’ setting available. Optionally stop all global machines instead of a defined global machine.
  • Schematics: Apply Builtin Root Motion: ‘Apply Builtin Root Motion’ node available in ‘Animation > Mecanim’ nodes. Apply an ‘Animator’ component’s built-in root motion. Use this in schematics started by the ‘Animator Move’ start type of ‘Animation Machine’ components or the ‘State Move’ start type of ‘Animator State Machine’ components to use the default root motion.
  • Schematics: Animation Nodes: ‘Scope’ setting available in most legacy and Mecanim animation nodes. Define the scope of ‘Animation’ and ‘Animator’ components that will be used in the game objects (e.g. in child objects).
  • Schematics: Emit Particles: Now supports ‘Visual Effect’ components.
  • Scripting: ‘IComponentSaveData’ interface available. Add data from components to save games, e.g. when saving game objects using a ‘Game Object Saver’ component.

Changes

  • Editor: Saving: Settings assets (e.g. the game settings) are no longer saved each time the project is saved, only when their settings where changed.
  • Editor: Selected Data: The selected data origin now defaults to ‘Local’ for new settings (e.g. in schematic nodes).
  • Editor: Selected Data: Selected data changes now default to ‘Set’ instead of ‘Add’ for new settings (e.g. in schematic nodes).
  • Editor: Schematics: Live Debugging: The ‘Local Variables’ debug information is now also shown with or without a node being selected. Previously it was only shown when no node was selected.
  • Game Settings: The ‘Visibility Check’ now defaults to ‘Camera Viewport’ instead of ‘Renderer Is Visible’.
  • Global Machines: Stopping the game or loading a save game will now stop all running global machines.
  • Unity UI: HUDs: If no ‘UI Receive Cursor Events’ component is added to the HUD when registering drop targets, one is added automatically.
  • Schematics: When changing scenes the machine object will now be unparented before marking it as ‘DontDestroyOnLoad’.

Fixes

  • Schematics: Spawn Prefab: Fixed an issue where spawning on a ‘Spawn Point’ always used a scale of 1 instead of the prefab’s scale.
  • Unity UI: Cursor Over: Fixed an issue where the cursor being over child objects no longer registered as being cursor over in UI boxes and HUDs in Unity 2021.2 and newer.
  • Unity UI: UI Boxes: Fixed an issue where icons in texts (e.g. via text codes) where not color faded when first initialized.
  • Data Assets: Fixed an issue where a (re)import of a data asset didn’t clear the cached data. E.g. copying over the file with a backup or using sharing solution (e.g. GIT) could keep the last saved data cached (done to improve loading times in the editor).