- Changed Smart Object definition slot data to contain GUI per data (allows to identify the data using ID)
- Added outliner to the editor, displays slots and definition data
- Made slots and definition data selectable in the details view
- Sync selection across details, outliner and 3D view for faster navigation
[CL 27440600 by mikko mononen in ue5-main branch]
- GetSlotEntranceTags was failing because USmartObjectSubsystem::FindEntranceLocationInternal() required valid capsule even if no physics checks were done
- FindSlotEntranceLocation was missing SearchLocation and would always search around 0,0,0
[CL 25889486 by mikko mononen in ue5-main branch]
- replaced 'SmartObjectSubsystem.Claim' by 'MarkSlotAsClaimed' for native code and 'USmartObjectBlueprintFunctionLibrary::MarkSmartObjectSlotAsClaimed' for Blueprints
- replaced 'SmartObjectSubsystem.Use' by 'MarkSlotAsOccupied' for native code and 'USmartObjectBlueprintFunctionLibrary::MarkSmartObjectSlotAsOccupied' for Blueprints
- replaced 'SmartObjectSubsystem.Release' by 'MarkSlotAsFree' for native code and 'USmartObjectBlueprintFunctionLibrary::MarkSmartObjectSlotAsFree' for Blueprints
- deprecated 'UGameplayBehaviorSmartObjectsBlueprintFunctionLibrary::UseGameplayBehaviorSmartObject' in favor of the aync task based versions
- UFUNCTION versions are redirected directly to the new names. Native versions are deprecated.
- updated 'AITask_UseGameplayInteraction' and 'AITask_UseGameplayBehaviorSmartObject' to be as close as possible since they are two similar use cases but for different plugins.
- both tasks now propose blueprint callables to create an "interact on spot" or "move to and interact" tasks:
- 'UseSmartObjectWithGameplayBehavior' and 'MoveToAndUseSmartObjectWithGameplayBehavior'
- 'UseSmartObjectWithGameplayInteraction' and 'MoveToAndUseSmartObjectWithGameplayInteraction'
- 'AITask_UseGameplayBehaviorSmartObject::UseClaimedGameplayBehaviorSmartObject' is redirected to 'MoveToAndUseSmartObjectWithGameplayBehavior' to preserve current behavior
- 'AITask_UseGameplayInteraction::UseClaimedGameplayInteractionSmartObject' is redirected to 'UseSmartObjectWithGameplayInteraction' to preserve current behavior
#jira UE-187209
#rnx
[CL 25871194 by yoan stamant in ue5-main branch]
- Added entrance handle to the data that is passed to the interaction context, exposed to state tree
- Changed entrance tags to a tag container
- Added State Tree task to get entrance tags from an entrance handle
[CL 25813984 by mikko mononen in ue5-main branch]
- Added SmartObjectUserComponent which allows to define validation settings per user actor
- Added option to SO defintion to have preview validation settings or preview user actor (settings pulled from SO user component)
- Move parameters passed to SO annotation CollectDataForGameplayDebugger() into a struct
- Changed USmartObjectSlotValidationFilter to have 2 sets of validation parameters to allow exits to have looser validation
- Changed the API for setting params from Actor in FSmartObjectSlotEntranceLocationRequest (still meh)
#jira UE-174418
#preflight 642173f8a86ae7cbcc25ab0b
[CL 24801238 by mikko mononen in ue5-main branch]
- Renamed some uses of navigation to entrance
- Added priority for entrance selection
- Allow to run the entrance selection only for a specific entrace
- Added instigator as ignored entities when selecting entrances
#jira UE-174418
#preflight 641436f332723d4a20208bd9
[CL 24686648 by mikko mononen in ue5-main branch]
- Changed entry annotation to navigation annotation
- Added option for nav annotations to project location on ground
- Added option and settings for nav annotations to check simple trajectory collisions towards slot location
- Added logic in entry location query to project on ground and check trajectory collisions
- Added physics settings struct that handles common query combinations
- Added USmartObjectSlotValidationFilter to define shareable settings for validation (kinda similar to nav query filter)
- Fixed double rendering of preview actor/mesh in SO editor
- added debug draw for the new features
#jira UE-174418
#preflight 641036e470639dfc943ed981
[CL 24632583 by mikko mononen in ue5-main branch]
- 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 6400614fef1b24bf94f42203
[CL 24478702 by mikko mononen in ue5-main branch]
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
SmartObjects: Added entry annotation selection and validation.
- 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,FORT-572969
#preflight 63ff4702437ce3e7f3f60cf4
[CL 24469441 by nat parkinson in ue5-main branch]
- 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]
- this is useful for state-full usage of this task
#jira
[REVIEW] [at]Mikko.Mononen
[FYI] phil.cole, wojciech.madry, Parker.Linn
#preflight 63ff41b9c63aaf1e13ded11c
[CL 24462148 by luciano ferraro in ue5-main branch]
[REVIEW] [at]aaron.cox
[FYI] [at]yoan.stamant [at]mikko.mononen
#preflight 63f8de272b1a2765f9734c45
[CL 24409801 by fernando coello 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]
* Updated public headers for ~170 engine plugins using iwyu to remove includes not needed. Removed includes are still available behind UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
#preflight 63c08f4a2a6acaf1622bcc73
#rb none
[CL 23674775 by henrik karlsson in ue5-main branch]
* Updated private files with IWYU for all plugins which had 3 or less changes made in ue5 main since last integration to fn
#preflight 63bf8d8b577437afe607dc72
#rb none
[CL 23659643 by henrik karlsson in ue5-main branch]
- added class picker style new node picker with search box and categories
#rb Mieszko.Zielinski
#preflight 63be76206e6e8d4662c637fb
[CL 23643504 by mikko mononen in ue5-main branch]