This is more friendly to the UE Gameplay Framework and lets you pass in specific actor's that you case about. If you had to use a spatial query, then you may get results from objects that you don't explictly want if they are overlapping objects.
Add a function to check if the subsystem is running on the server or not to make doing some future replication checks easier
#jira UE-180500
#rb mikko.mononen
[CL 27597760 by ben hoffman in ue5-main branch]
- Fixed recursive include from view model
- fixed checkf() in property helpers
- added GameplayTags as depedency for editor
[CL 27446829 by mikko mononen in ue5-main branch]
- 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]
- Add a static accessor to an invalid FSmartObjectClaimHandle in blueprints so that you can easily set default values and compare handles to check validitiy.
#rb Yoan.StAmant
#rnx
[CL 27319965 by ben hoffman in ue5-main branch]
Mark the handle and SO definiton as replicated on the base Smart object Component class. For now, this won't do anything. Going forward we will create an "Online Smart object Component" that actually stores the additional replication data as to not add a bunch of unused data on existing uses of the component.
#jira UE-188873
#jira UE-180500
#rb Yoan.StAmant
[CL 27274296 by ben hoffman in ue5-main branch]
- Fixed internal flag not properly set to false when using error reporting flow.
- Fixed combined validation results that was always using EDataValidationResult::Valid even when errors were reported.
#jira UE-192738
#rb mieszko.zielinski
#lockdown julien.marchand
[CL 27147839 by yoan stamant in ue5-main branch]
- Added Object enabled/disabled events to Smart Object lifetime to make it easier to react to the Smart Object enabled status
- Changed FSmartObjectSlotEntranceLocationRequest to be a BP type
- Changed FSmartObjectSlotEntranceLocationRequest.UserCapsule optional to invalid default value to make it easier to interface with BP
- Added FSmartObjectSlotEntranceLocationResult.bIsValid to be able to return results where the validation fails
- Added USmartObjectSubsystem.QueryAllValidatedEntranceLocations() which allows to validate SO definition, but does not require a registered Smart Object (can be used e.g. got object placement UI feedback)
- Added some helpers to allow to reuse validation between multiple methods in USmartObjectSubsystem
[CL 26987173 by mikko mononen in ue5-main branch]
- BP functions for checking if slot handles are equal or not
- to string functions for slots and handles
- is valid functions for slot handles
#rb Yoan.StAmant
[CL 26642750 by ben hoffman 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]
- removed hacks for handling collisions against geom collection
- Removed unimplemented FSmartObjectSlotValidationParams::bTestUserOverlapOnEntrance
[CL 25866639 by mikko mononen in ue5-main branch]