2.11
Engine support: 5.4
!!! Warning Lots of classes have been renamed, moved and/or deprecated. I HIGHLY recommend backing up your project or setting up your source control first just in case.
Some items may have some objects in the ObjectsAndDrivers
array (now called TraitsAndComponents
) be reset to null due to classes being renamed.
Any container that was assigned as List
will most likely break as the enum has been renamed to Traditional
!!!
This version also comes with a new example project and this version will not be tested with the old. Documentation can be found here
Renames
Item Objects -> ItemTrait, new prefix is IT and classes have been moved into their own
Traits
folder.Item Drivers -> ItemComponent, new prefix is IC
Item Struct Object -> ItemInstance, new prefix is II
The container style
List
is nowTraditional
.
Documentation will reflect these renames once 2.11 is officially published on the marketplace.
Traits and Components
The blueprint parents (BP_O_ItemObject/BP_AC_ItemDriver) are getting removed in the next update. Please reparent your classes to
ItemTrait
/ItemComponent
. I can not label them as "Deprecated" because it would also label all children as deprecated. You can use the reference viewer to help find all classes referencing them.The
IT_ContextMenu
trait has been deprecated.Components are now soft referenced.
Item Asset
ItemInstance is now soft referenced and no longer instance editable. It made no sense to have it be instance editable as you should just use the class defaults
Removed the EItemType enum
Inventory Component
When selecting an asset inside your container settings items array, the dropdown will now automatically filter all item assets that fit your CheckCompatibility function. Read the ItemAsset code comment for more information.
When selecting an item instance, it will now prevent mixing
ItemInstance
classes and prevent "wild"ItemInstance
's. More information can be read about in theDA_CoreItem
documentationAdded GetItemsByTagQuery and GetContainersByTagQuery
Both of these settings can be disabled through the IFP project settings.
Widgets
Containers can now pass a custom padding to tiles and item widgets.
Reworks
BP_Interactable is now deprecated and all logic has been moved to BP_AC_Interactable, allowing any actor to be interactable without worrying about hierarchy. You will now want to reparent your interactables to either your own parent or
AActor
and add the BP_AC_Interactable actor component.The UpdatePreview is now called on the owner, as usual, but is now also called on the inventory widget if the owner has an inventory component.
Bug fixes
Items would keep their equipped tag when moved out of an equipment container.
Splitting an item via MoveItem could break if the destination split was into another container.
The texture for the SocketButton texture and ItemEditor collapse button was in the example project and not the plugin.
Cursor would snap if the user would close an attachment with, then release the mouse while hovering over the player preview.
ItemAbilityTrait did not allow for multiple copies.
Some combinations of container settings and item widget could result in the item icon stretching.
When trading with a vendor, the currency would be given to the player first, then the item would be moved to the vendors inventory. This would lead to currency not going into the tiles that the item used to occupy, which could lead to the player not receiving the currency if their inventory was full, but would have space after the trade.
TryApplyCooldown was not calling CheckCooldown correctly.
2.11.1 (5.5 only)
The
Use
button would appear on vendor itemsGetTraitByClassForItem if used with AllowChildren, would then ONLY accept children of the specified class. Simple fix, just check if the two classes are the same here
New example project could not split items because the new project used UI input mode only and the drag widget relied on the player controller receiving input.
Splitting an item, then dropping it, would result in the default item asset count being used.
AdjustContainerSize was not adjusting the tile coordinates correctly, leading to items and tiles going into wrong spots.
AdjustContainerSize would kick clients if the container was shrunk and an item had to be dropped.
Color Sheet:
functions - variable - category - class