ORK 3.18.0 is here with Unity 6 support and 61 new features, changes and fixes (and more in the also included Makinom 2.16.0)!
This update adds support for Unity 6, allows having empty positions between battle group members, new grid move selection features, new status effect features and many other new features, changes and fixes.
Download the latest version of ORK Framework here.
If you’re enjoying the updates, tutorials and support I provide, please consider leaving a review in the Unity Asset Store and supporting me on patron.com – every little bit helps!
New
- Unity 6: ORK Framework 3 now supports Unity 6.
- Game Settings: Player/Group Settings: ‘Use Empty Battle Positions’ setting available. The battle group can now have empty positions between combatants, e.g. having a combatant at position 0 and 2, leaving position 1 unoccupied. Empty positions can be used in group menu screens and battle spot placement. By default enabled (previous behaviour).
- Combatant Creation: ‘Set Battle Group Index’ settings available. Set a newly created combatant’s index in the battle group, e.g. index 1 for being the 2nd battle group member. Only used when using ‘Use Empty Battle Positions’ in the player/group settings. Available everywhere a combatant is created, e.g. in combatant groups, ‘Battle’ components, ‘Join Group’ schematic nodes, etc.
- Combatant Creation: ‘Use Combatant Type’ settings available. Optionally use a random combatant from a defined combatant type instead of a defined combatant when creating combatants.
- Combatants: Price Settings: ‘Price Settings’ available. Combatants can now be sold to shops. Previously they could only be bought. The new price settings replace the ‘Buy Price’ setting (previous data is updated automatically).
- Float Values: Status Effect Duration: ‘Status Effect Duration’ value type available. The duration of a defined status effect applied to a combatant is used as value.
- Float Values: Status Effect Count (All), Status Effect Count (Type): ‘Add Hidden Effects’ setting available. Define if hidden status effects will be included, excluded or only hidden effects will be counted. Defaults to include hidden effects (previous behavoiur).
- Animations: Custom: Play Function: ‘Returns Duration’ setting available. If enabled, the play function will require to return a float value representing the animation’s duration. If disabled, a separate ‘Duration Function’ returning a float value for the animation’s duration can be used.
- Status Effects: Duration: ‘Status Value Change’ type available. Status effect duration is reduced when a defined status value of the target was changed. Can optionally check the change value, e.g. limiting to negative or positive changes.
- Status Effects: Duration: ‘Selected As Target’ type available. Status effect duration is reduced when the effect’s target was selected as target of an action (i.e. an action targeting the combatant was added to the system). Can optionally be limited to actions of the effect’s user or allies/enemies.
- Status Effects: Duration: Action Start, Action End: ‘Is Action User’ and ‘Is Action Target’ settings available. Status effect duration based on actions starting/ending can now also use actions targeting the effect’s target. Can optionally be limited to actions of the effect’s user or allies/enemies. ‘Is Action User’ is by default enabled, keeping the previous behaviour.
- Status Effects: Status Changes: Use On: ‘Status Value Change’ type available. Status changes are used when a defined status value of the target was changed. Can optionally check the change value, e.g. limiting to negative or positive changes.
- Status Effects: Status Changes: Use On: ‘Selected As Target’ type available. Status changes are used when the effect’s target was selected as target of an action (i.e. an action targeting the combatant was added to the system). Can optionally be limited to actions of the effect’s user or allies/enemies.
- Status Effects: Status Changes: Use On: Action Start, Action End: ‘Is Action User’ and ‘Is Action Target’ settings available. Status changes based on actions starting/ending can now also use actions targeting the effect’s target. Can optionally be limited to actions of the effect’s user or allies/enemies. ‘Is Action User’ is by default enabled, keeping the previous behaviour.
- Status Effects: Status Changes: Tagged Machine: ‘Tagged Machine’ status change type available. Starts a tagged machine on the combatant’s game object.
- Abilities, Items: Status Changes: Tagged Machine: ‘Tagged Machine’ status change type available. Starts a tagged machine on the combatant’s game object.
- Abilities: Schematics: ‘Level Up Schematic’ setting available. Optionally use a schematic when an ability is leveled up. The combatant used for leveling up (usually the combatant knowing it) will be used as ‘Machine Object’ and ‘Starting Object’. The ability is available as (local) selected data with the key ‘action’.
- Abilities, Equipment, Research Trees, Status Development: Override Content: ‘Custom Content’ settings available. Override content of ability/equipment levels, research tree items or status development upgrades can now override custom content. Adding a custom content setup for the same content key will replace the original setup’s content with the override content. Also allows using content keys that are not used by the original content.
- Inventory Settings: ‘Keep 0 Quantity’ setting available. Optionally keep inventory content that is removed with a quantity of 0 in the inventory.
- Item Types: Inventory Settings: ‘Keep 0 Quantity’ setting available. Optionally override the default ‘Keep 0 Quantity’ setting defined in ‘Inventory > Inventory Settings’.
- Items, Equipment, AI Behaviours, AI Rulesets, Crafting Recipes: ‘Keep 0 Quantity’ setting available. Optionally override the default ‘Keep 0 Quantity’ setting defined in ‘Inventory > Inventory Settings’. AI behaviours/rulesets only have this available when they use quantity, crafting recipes only have it when they can be consumed.
- Notifications, Item Types, Equipment: ‘Equipment Equipped’ and ‘Equipment Unequipped’ notifications available. Optionally display notification UI boxes when a player group member equipped or unequipped equipment.
- Console Settings, Item Types, Equipment: ‘Equipment Equipped’ and ‘Equipment Unequipped’ console texts available. Optionally add console texts when a player group member equipped or unequipped equipment.
- Status Conditions: Battle Menu Open: ‘Battle Menu Open’ condition type available. The combatant’s battle menu must or mustn’t be opened.
- Status Conditions: Is Affected Target: ‘Is Affected Target’ condition type available. The combatant must or mustn’t be an affected target during the player’s target selection (only used when the player selects targets). Affected targets are combatants within the affect range of a selected target.
- Status Conditions: Is Defending: ‘Is Defending’ condition type available. The combatant must or mustn’t be defending.
- Status Conditions: Status Effect Any, Status Effect Type: ‘Add Hidden Effects’ setting available. Define if hidden status effects will be included, excluded or only hidden effects will be checked. Defaults to include hidden effects (previous behavoiur).
- Battle Menus: Options: Status Changes: Tagged Machine: ‘Tagged Machine’ status change type available. Starts a tagged machine on the combatant’s game object.
- Battle Menus, Menu Screens, Shop Layouts: Description: ‘At Input Position’ settings available when not using ‘Always Visible’. Optionally place the descrition’s UI box based on the selected input button’s position.
- Menu Screens: Group: ‘Auto Select Available’ setting available in ‘1st Group Box Settings’. Optionally have the first available combatant of the list selected when opening the 1st group box. E.g. when using empty battle group positions, this will skip empty buttons and have the first combatant selected.
- Grid Battles: Move Command: Cell Selection Schematics: ‘Cell Selection Schematics’ settings available. Optionally start a schematic when selecting a cell. The user will be used as ‘Machine Object’, the selected cell as ‘Starting Object’. If a valid path cell is selected, the path to the cell is available as local selected data via the data key ‘path’.
- Grid Battles: Move Command: Potential Attack Highlights: ‘Potential Attack Highlights’ settings available. Optionally highlight enemies that can attack the selected cell. This uses the enemy’s move range and action use ranges to determine if the enemy can attack a cell. Highlights can use the usual combatant highlights (e.g. prefab, color fading or schematics) as well as special schematic highlights with additional information available (e.g. selected cell).
- Grid Battles: Orientation Selection, Combatant Placement, Target Cell Selection, Examine Grid: Cell Selection Schematics: ‘Cell Selection Schematics’ settings available. Optionally start a schematic when selecting a cell. The user will be used as ‘Machine Object’, the selected cell as ‘Starting Object’.
- Inventory Settings: Item Collection: Collection Dialogue: ‘HUD Type’ settings available for ‘Item Message’, ‘Currency Message’ and ‘Combatant Message’ settings. Optionally use a HUD template or shortcut UI for the item that will be collected.
- Equipment, Inventory Settings: Schematics: ‘Level Up Schematic’ setting available. Optionally use a schematic when an equipment is leveled up. The combatant used for leveling up (usually the combatant wearing it) will be used as ‘Machine Object’ and ‘Starting Object’. The equipment is available as (local) selected data with the key ‘action’.
- Combatants: Body Parts: Death Status Changes: Tagged Machine: ‘Tagged Machine’ status change type available. Starts a tagged machine on the combatant’s game object.
- Combatants: Grid Settings: ‘Grid Move Over’ settings available. Optionally override the ‘Move Over Allies’ and ‘Move Over Enemies’ settings of the grid move command for a combatant.
- Schematics: Actors: Player Group: ‘Member’ settings available when using ‘Current’ combatant scope. You can now use the ‘Leader’ of the group, a ‘Member By Index’ (group or battle group) or member(s) matching defined conditions (group or battle group).
- Schematics: Change Defending State: ‘Change Defending State’ node available in ‘Battle > Combatant’ nodes. Changes the defending state of a combatant, either defending or not defending.
- Schematics: Ability Level Points: ‘Ability Level Points’ node available in ‘Combatant > Ability’ nodes. Increases the level points of abilities currently stored in selected data. Level points are the experience or uses needed to level up an ability.
- Schematics: Equipment Level Points: ‘Equipment Level Points’ node available in ‘Inventory > Equipment’ nodes. Increases the level points of equipment currently stored in selected data. Level points are the experience or uses needed to level up an equipment.
- Schematics: Join Battle Group: ‘Set Battle Group Index’ settings available. Set the combatant’s index in the battle group, e.g. index 1 for being the 2nd battle group member. Only used when using ‘Use Empty Battle Positions’ in the player/group settings.
- Schematics: Join Group: ‘Get From’ setting available, replacing ‘Use Game Object’ and ‘Use Combatant Group’ settings. The combatant joining the group can be created using a defined combatant, a random combatant of a defined combatant type, a defined combatant group or use an existing combatant from a defined object (e.g. ‘Machine Object’).
- Unity UI: HUD Attack Modifier List, HUD Defence Modifier List, HUD Defence Modifier ID List, HUD Status Effect List, HUD Status Value List: ‘Total Combatant Bonus’ setting available when using ‘Show Status Bonus’. Optionally display the total status bonus of a combatant (i.e. from equipment, status effects, etc.) instead of only the bonus defined in the settings of the combatant. Only used if a combatant is displayed, otherwise just displays the bonus of the displayed content.
- Unity UI: Content Providers: HUD Attack Modifier Attribute, HUD Attack Modifier, HUD Defence Modifier Attribute, HUD Defence Modifier, HUD Defence Modifier ID, HUD Status Value: ‘Total Combatant Bonus’ setting available when using ‘Show Status Bonus’. Optionally display the total status bonus of a combatant (i.e. from equipment, status effects, etc.) instead of only the bonus defined in the settings of the combatant. Only used if a combatant is displayed, otherwise just displays the bonus of the displayed content.
- Unity UI: HUD Conditions: Quantity: ‘Quantity’ condition available. Checks if the HUD user is an inventory content (e.g. item, equipment, etc.) matching a defined quantity check. E.g. use this to only show quantity for items with a quantity greater than 1.
Changes
- Abilities: Schematics: The ‘Add Schematic’ is no longer used by ability level ups, using the new ‘Level Up Schematic’ instead. Previous settings will updated automatically and load the ‘Add Schematic’ also for the ‘Level Up Schematic’.
- Abilities, Equipment: Passive abilities and equipment will now remove the old level’s status effects and add the new level’s status effects on level up.
- Status Effects: Removing a status effect from a combatant now happens after status changes used on ‘Remove’. This allows using the new ‘Status Effect Duration’ float value type in those status changes, but might impact previous setups that check for status effects during their removal.
- Status Conditions: Combatant Type: Now also checks the secondary types of the combatant.
- Inventory: Adding quantity of items, currency, etc. is now overflow-safe.
- Move AIs: Certain move AI calls will now take the combatant’s move AI block state into account instead of only the battle system allowing using move AI for the combatant.
- Shops: You can now sell combatants to shops.
- Schematics: Actors: Player Group: ‘Use Member’ toggle has been replaced by ‘Member’ popup field. You can now use either the leader, a member defined by index or member(s) matching defined conditions. Previous settings will be updated automatically and retain their functionality.
- Schematics: Join Group: ‘Get From’ setting replaces ‘Use Game Object’ and ‘Use Combatant Group’ settings. Previous settings will be updated automatically.
Fixes
- Classes, Class Slots: Fixed an issue where equipping a class without status development on a class slot that allows using status development caused an error.
- Inventory, Equipment Slots: Fixed an issue where using ‘Add Inventory Space’ enabled in an equipment slot’s settings could lead to wrong occupied inventory space when using ‘Group’ inventory.
- Text Codes: Fixed an issue where text codes for sub-data where not used.
- Status Bonuses, Random Status Bonuses: Status Value Percent: Fixed an issue caused by floating point imprecision that could lead to final bonuses being off by 1.
- Move AIs: Fixed an issue where changing the active player group could lead to an error when the move AI was following the group leader.
- Battles: Fixed an issue where returning to the start menu during a running battle could keep a battle’s game object alive.