Equip Previous moves backward through the valid Item Sets in one equipment category. Use it for a previous-weapon button, controller bumper, or any control that should skip unavailable loadouts and wrap from the beginning of the list to the end.

Equip Previous selects the target only. A category-matched Equip Unequip ability performs the visible unequip and equip sequence.

Before you begin

The character needs:

  • an Inventory containing the Character Items used by the target sets;
  • an Item Set Manager with an Item Set Group for the intended Item Category;
  • at least two generated Item Sets in that group; and
  • an Equip Unequip item ability with the same Item Category.

At least one alternative set must be enabled, valid for the current inventory, and allowed to switch to. Otherwise Equip Previous has nowhere to move and will not start.

Configure Equip Previous

  1. Select the character and expand the target group under Item Set Manager > Item Set Groups.
  2. Confirm its Item Category, Item Set Rules, and runtime Item Set order describe the reverse cycle you want.
  3. On Ultimate Character Locomotion, expand Item Abilities and add Equip Unequip if the category does not already have one. Assign the same Item Category.
  4. Add Equip Previous to Item Abilities and assign that Item Category.
  5. Keep the normal input defaults: Start Type is Button Down, Stop Type is Manual, and Input Names contains Equip Previous Item. Equip Previous stops itself after handing off the selected index.
  6. Keep Prevent Start Use Reload Active enabled when firing or reloading should finish before the player changes equipment. This option is enabled by default.
  7. Map Equip Previous Item to the intended player control and leave the actual equip and unequip timing on each Character Item’s animation events or durations.

Item Category is unassigned by default. An unassigned Item Set ability uses the first Item Set Group’s category at runtime. Assign it explicitly whenever the character has more than one group so Equip Previous finds the intended group and Equip Unequip row.

Equip Previous allows duplicate types. Add separate rows with different Item Categories or input names when primary weapons, grenades, or other equipment families need independent previous controls.

Choose the reverse-cycle behavior

Order the Item Sets

Equip Previous starts immediately before the last tracked Item Set index and checks earlier entries in list order. From index 0, it wraps to the final index and continues backward until it returns to the starting point.

The runtime Item Set order is generated by the group’s rules and can change when inventory or rules change. Inspect the group in Play Mode when the reverse cycle does not match the order expected from the edit-time rule list.

Decide which sets are eligible

Equip Previous skips an Item Set when any of these conditions applies:

  • the set is disabled;
  • Can Switch To is disabled;
  • its Item Set Rule reports that the combination is invalid;
  • a required Character Item is missing from its slot or the inventory does not contain the required count; or
  • a usable item in the set currently cannot be equipped, such as an item with no usable supply remaining.

The default Item Set participates in the reverse cycle only when it is valid and Can Switch To is enabled. Keep Can Switch To disabled when the default represents a holstered state that should be reached only by Toggle Equip or another deliberate action.

Decide when actions may delay switching

With Prevent Start Use Reload Active enabled, any active Use or Reload item ability prevents Equip Previous from starting. The check is character-wide rather than limited to this category or slot.

Equip Previous temporarily applies its prevention setting to the matching Equip Unequip call, then restores the Equip Unequip row’s original value. This keeps a button-triggered change consistent with the selector’s setting without permanently changing the worker ability.

How it runs

  1. Equip Previous tracks the active Item Set index reported by its category’s Equip Unequip ability and Item Set Manager.
  2. The Equip Previous Item input attempts to start the ability. The shared check first applies Prevent Start Use Reload Active and the normal ability restrictions.
  3. Equip Previous asks the Item Set Manager for the previous active index before the tracked index.
  4. The manager moves backward through the group, wraps from index 0 to the last index, and skips every set that fails the eligibility checks above.
  5. Equip Previous refuses to start when no alternative is found, the resulting index is -1, or the result is already active in the matching Equip Unequip ability.
  6. For an accepted target, Equip Previous calls StartEquipUnequip on the category-matched Equip Unequip ability and immediately stops itself.
  7. Equip Unequip performs the visible transition. The manager marks the target active as the new items reach their equip point, and Equip Unequip remains active until their equip-complete events finish.

Equip Previous does not supply an Item State Index or item substate. Its position in the Item Abilities list therefore does not choose the equip animation. Equip Unequip supplies the default unequip and equip state indexes 5 and 4; position that row above a persistent pose such as Aim when the equipment transition should win.

Verify in Play Mode

  1. Give one Item Set Group three ordered sets, such as Sword, Rifle, and Bow, and add all required Character Items to the Inventory.
  2. Start with Bow active and press Equip Previous Item. Confirm Equip Previous (Active) appears only briefly, Equip Unequip (Active) remains through the transition, and Rifle becomes active.
  3. Press again and confirm Sword becomes active. Press once more and confirm the reverse cycle wraps to Bow.
  4. Remove Rifle’s required Character Item or disable Can Switch To on that runtime set. Start from Bow and press again; confirm Equip Previous skips Rifle and selects Sword.
  5. Disable every alternative or leave only one generated set. Press the input and confirm Equip Previous does not become active and the equipment remains unchanged.
  6. Start Use or Reload and press the input. With Prevent Start Use Reload Active enabled, confirm the active set does not change until the action stops.
  7. If the character has two groups, trigger each group’s Equip Previous input and confirm only the category assigned to that row changes.

Troubleshoot Equip Previous

  • Equip Previous is disabled at runtime: check that an Item Set Manager group and an Equip Unequip ability use the same Item Category. A missing match logs an error and disables the selector.
  • The input does nothing: confirm Input Names contains the mapped control, the group has more than one generated set, and at least one alternative is enabled, valid, and switchable.
  • A set is unexpectedly skipped: inspect it in the runtime Item Set list. Check Enabled, Can Switch To, the Item Set Rule, required slots and counts, and whether every usable Character Item can currently equip.
  • The cycle starts in the wrong group: assign Item Category explicitly. Leaving it empty selects the first Item Set Group.
  • The reverse order is unexpected: inspect the generated runtime order rather than only the edit-time rules. Equip Previous decrements that runtime index and wraps from the first entry to the last.
  • Switching waits until firing or reloading ends: this is the default Prevent Start Use Reload Active behavior. Disable it only after confirming that the item actions and transition animations support switching mid-action.
  • Equip Previous flashes active but the item never changes: check the matching Equip Unequip row and its Character Item Equip Event, Equip Complete Event, Unequip Event, and Unequip Complete Event.
  • The new item appears but the wrong animation remains visible: move Equip Unequip above the active item ability whose pose should yield. Reordering Equip Previous itself does not change Animator priority.
  • Item Set abilities explains the shared category, Item Set Manager, and Equip Unequip architecture.
  • Equip Unequip performs the transition selected by Equip Previous.
  • Equip Next moves through the same eligible sets in the forward direction.
  • Equip Scroll selects next or previous from one signed axis.
  • Toggle Equip switches between a non-default set and the category’s default set.
  • Item Set and Rules explains generated sets, validity, Can Switch To, and the default Item Set.
  • Animator Parameters describes the Item State Index values supplied by Equip Unequip.

Developer reference

Equip Previous adds no serialized fields beyond ItemSetAbilityBase. The inherited public properties are ItemCategory, ItemSetCategoryID, PreventStartUseReloadActive, and the resolved read-only ItemSetGroupIndex. Call the public StartAbility() method when code should request the previous set; Equip Previous performs the same validation as player input.

The built-in Event System keeps its index synchronized:

  • OnEquipUnequipItemSetIndexChange (int itemSetIndex) is received from the matched Equip Unequip ability.
  • OnItemSetIndexChange (int groupIndex, int itemSetIndex) updates the tracked index when the matching Item Set Group is rebuilt or changed.
  • OnCharacterItemAbilityActive (ItemAbility, bool) reports the selector’s brief start and stop like other item abilities.

When Unequip All On Death is enabled on the Inventory, Equip Previous clears its remembered indices on death so the cycle can be established again from the post-respawn Item Set state.