- Added USmartObjectSubsystem::FindEntryLocationForSlot() which allows to query entry points which are on navigable surface
- Improved debug visualizations
- Added visualization shape and size for slots
- Added gameplay interaction state tree task to query entry location
#jira UE-174418
#preflight 63ff4702437ce3e7f3f60cf4
[CL 24462168 by mikko mononen in ue5-main branch]
Also removed the Mutable named functions and replaced with the constness being part of the template.
#preflight 63ea4fbaec50523134d85665
[CL 24197313 by stephen holmes in ue5-main branch]
- Added new methods to the API to filter a list of request results or slot handles by evaluating the selection preconditions
- Filter methods can accept external data as a struct with properties which name and type match the WolrdConditionContext.
- FSmartObjectUserContext has been introduced to cover the common case of passing in a user actor to the context.
- Stored UserDescriptor as instanced struct in the runtime slot
- Claim methods now receive a user descriptor
- Removed slot event delegate and reuse the runtime instance one instead. Listeners can filter for a given slot using 'Event.SlotHandle'
- Removed UserTags from the SmartObjectWorldConditionSchema. The user tags are part of the query filter. Conditions requiring user tags could fetch them from the actors passed in the context.
#rb mikko.mononen
#jira UE-157763
#preflight 63dbe99f797b029c0add9806
[CL 23984054 by yoan stamant in ue5-main branch]
- use struct with shared ptr instead of uboject for shared definition
- allows the definition struct to be copied without worrying about outers (e.g. state tree vs editor data)
#rb Mieszko.Zielinski
#preflight 63d24870a2003ee58adfbfcf
[CL 23865882 by mikko mononen in ue5-main branch]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
#preflight 63d09351574ab9cae4670216
#rb none
[CL 23844750 by henrik karlsson in ue5-main branch]
Added one slot per default for new definitions to reduce chances of creating an invalid asset.
#jira UE-174665
#rb maxime.mercier
#rb mieszko.zielinski
#preflight 63cefdecb84de45a0c023b31
[CL 23824469 by yoan stamant in ue5-main branch]
#rb skip
#jira UE-174576
#preflight horde down
#fyi Mieszko.Zielinski
#ushell-cherrypick of 23777591 by Mieszko.Zielinski
[CL 23793176 by Brandon Schaefer in ue5-main branch]
- renamed 'K2_SetSmartObjectEnabled' to 'AddOrRemoveSmartObject' since 'Enabled= false' is a concept used when the object is no longer available for queries but active interactions can finish.
- added functions to add to/remove from the simulation all smart objects from a single or a list of actors.
- added functions to enable/disable smart objects on a single or a list of actors.
#jira UE-165689
#rb mikko.mononen
#rb maxime.mercier
#rb patrick.carroll
#preflight 63c6fda33f587d9e1403726c
[CL 23756424 by yoan stamant in ue5-main branch]
- Removed synchronization logic between ability system component and smartobject instance tags.
- Added SmartObject subsystem to the SmartObjectWorldConditionSchema to help fixing unit tests where we use a derived subsystem. Updated existing SmartObject world conditions to use it.
- Added support for world conditions to the main smart object instance (in addition to those in each slot). Slots could be also disabled by their parent conditions.
- Removed object tags filter from the definition and replaced it by the newly added condition (FWorldCondition_SmartObjectActorTagQuery)
#rb mikko.mononen
#preflight 63c6c3530b358b97d198a121
[CL 23756420 by yoan stamant in ue5-main branch]
- fixed transforming multiple slots
- added way for annotations to be transformed in editor
- added beginnings of Smart Object entry annotation
#jira UE-172417 UE-174418
#rb Mieszko.Zielinski
#preflight 63c7bb6ae81a360aa9f9e152
[CL 23753534 by mikko mononen in ue5-main branch]
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
[SmartObject] updated the smartobject blueprint library:
- renamed 'K2_SetSmartObjectEnabled' to 'AddOrRemoveSmartObject' since 'Enabled= false' is a concept used when the object is no longer available for queries but active interactions can finish.
- added functions to add to/remove from the simulation all smart objects from a single or a list of actors.
- added functions to enable/disable smart objects on a single or a list of actors.
#jira UE-165689
#rb mikko.mononen
#rb maxime.mercier
#rb patrick.carroll
#preflight 63c6fda33f587d9e1403726c
[CL 23752173 by bob tellez in ue5-main branch]
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
[SmartObjects]
- Removed synchronization logic between ability system component and smartobject instance tags.
- Added SmartObject subsystem to the SmartObjectWorldConditionSchema to help fixing unit tests where we use a derived subsystem. Updated existing SmartObject world conditions to use it.
- Added support for world conditions to the main smart object instance (in addition to those in each slot). Slots could be also disabled by their parent conditions.
- Removed object tags filter from the definition and replaced it by the newly added condition (FWorldCondition_SmartObjectActorTagQuery)
#rb mikko.mononen
#preflight 63c6c3530b358b97d198a121
[CL 23752170 by bob tellez in ue5-main branch]