- 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]
- RemoveComponentFromSimulation is now properly unbinding the component
- Unbinding a component from the simulation won't invalidate the registered handle anymore; this is handled by the FSmartObjectContainer.
- Removed obsolete RuntimeCreatedEntries that was replaced by the registration type.
- Added IsBoundToSimulation to the SmartObjectComponent to differentiate a registered component (valid Handle) from a registered component bound to the simulation (linked to its runtime instance)
- DebugUnregisterAllSmartObjects will no longer cause an ensure when calling EndPlay with the previous fixes.
- Added unit tests for IsBoundToSimulation and RemoveComponentFromSimulation+UnregisterSmartObject sequence to simulate the EndPlay issue.
#tests PIE, rebuild collection, WorldPartition levels, used cheats multiple times
#rb mieszko.zielinski
#preflight 64709c8a893dadf035e51c75
[CL 25647084 by yoan stamant in ue5-main branch]
This allows your assets to warn on top of erroring out.
#jira UE-183475
#preflight 644ae7701c2846595cbe0e21
[CL 25224515 by jodon karlik in ue5-main branch]
Deprecate the pure version of FindSmartObjects and add a new non-pure BP wrapper that allows proper iteration of the returned array, both versions are identical when called from C++.
Change TSubclassOf parameters to use values instead of const references, this enables the class picker on those pins.
#jira UE-180500
#preflight skip
#rb yoan.stamant
[CL 25153289 by ben zeigler in ue5-main branch]
- unregisters collections before resetting them to update subsystem internal container and the runtime data. Collection are then registered back as empty collection ready to be populated.
- minor comments improvements
- force debug draw update when registering new objects
- fixed some reported warning regarding failed component unregistration
#rb mieszko.zielinski
#preflight 643e8699bf10538466518715
[CL 25085246 by yoan stamant 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]
- this can be used when we want to forcibly pick a SO
- huge workflow improvement for testing SO interactions in PIE
Fixed a bug with UpdateEntranceLocation testing and potentially returning different entry locations if we are asking for a single one
Fixed a bug with the EntranceHandle not being set when finding entry locations
Added an equality operator to the entrance handle
[REVIEW] [at]Mikko.Mononen
[FYI] phil.cole, wojciech.madry, Parker.Linn, Loic.Devaux
#preflight 641ad870691c5ebc1533656a
[CL 24745942 by luciano ferraro in ue5-main branch]
- Changed default value for entrance annotation ground check to true
- Exposed common function to return preview validation filter
- Added user capsule parameters for into the validation filter (can be optionally tied to nav params)
- Display priority on the entrance slot if other than normal
- Added option to FindEntranceLocationForSlot() to validate slot and entrance location using physics overlap check
#jira UE-174418
#rb Yoan.StAmant
#preflight 64197ec937382f6bf589eecf
[CL 24730129 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]