145 Commits

Author SHA1 Message Date
yoan stamant
33348a40b8 [SmartObject] another tweak to the deprecation to replace blueprint compilation errors by warnings.
#rb Arciel.Rekman

[CL 32498906 by yoan stamant in 5.4 branch]
2024-03-26 02:08:16 -04:00
yoan stamant
4ebd904aaa [SmartObject] updated deprecation by restoring previous property as deprecated and moving deprecation code from PostLoad to Serialize to fix issues where result differ when parent is fully loaded first or is loaded by a child.
Added some additional code as a workaround to the fact that Serialize is not called on CDO.
#rb mikko.mononen

[CL 32498269 by yoan stamant in 5.4 branch]
2024-03-26 01:50:29 -04:00
yoan stamant
5a0ef3ba2d [SmartObjects] display options in the GameplayDebugger are now replicated to properly display their status on the client
#rb Aris.Theophanidis

[CL 32480466 by yoan stamant in 5.4 branch]
2024-03-25 15:31:22 -04:00
yoan stamant
5251d1b155 [SmartObject] adding support for SmartObjects on actor instances:
- mass tag, fragments to create/destroy smart objects for entities
- project specific interop component for instanced actors
#rb Mieszko.Zielinski, mikko.mononen

[CL 32478846 by yoan stamant in 5.4 branch]
2024-03-25 14:42:27 -04:00
yoan stamant
a065bb6cc0 [SmartObject] added option "Slot Details" to be able to reduce the amount of replicated data for worlds with large amount of SmartObjects.
- This option is required to display annotations (i.e. turning it off will disable annotations and turning on Annotations will turn this one on)
- When turned off, a single shape will represent the SmartObject in the world
#rb mikko.mononen

[CL 32476738 by yoan stamant in 5.4 branch]
2024-03-25 14:01:29 -04:00
yoan stamant
13d6654f08 [SmartObjects] added option to toggle smart object annotations in GameplayDebugger
#rb Mieszko.Zielinski, mikko.mononen

[CL 32475403 by yoan stamant in 5.4 branch]
2024-03-25 13:32:24 -04:00
yoan stamant
b2d519bbd9 [SmartObject] owner component needs to be set before activating world conditions
#rb Luciano.Ferraro
#tests Juno

[CL 31335253 by yoan stamant in 5.4 branch]
2024-02-09 07:34:22 -05:00
yoan stamant
9563f11f2f [SmartObject]
- allow smart object creation from definition, transform and owner descriptor struct that will use dynamic ids
- moved FSmartObjectHandleFactory to the SmartObjectTypes and added method to get a dynamic id
- replaced registration type `WithCollection` by `BindToExistingInstance` in USmartObjectComponent since it can also be used for objects not tied to a component lifetime created from CreateSmartObject
- allow subsystem component accessor to force hydrate the actor associated to a smart object.
- fixed automation test to use the right property to set a definition asset now that it has been renamed
#rb Mieszko.Zielinski, mikko.mononen
#tests QAGame, unit tests, Juno

[CL 31295548 by yoan stamant in 5.4 branch]
2024-02-08 13:21:26 -05:00
yoan stamant
79e7604b96 [SmartObject] use runtime instance to fetch component for a given handle instead of the smartobject container to not rely on the object path.
#rb mikko.mononen

[CL 31006734 by yoan stamant in 5.4 branch]
2024-01-30 10:11:23 -05:00
mikko mononen
40ff349f2c Smart Object: Added parameters for Smart Object Definition (take 2)
- Added ability to parameterize the SOD using parameters and property copy
- Each Asset stores and shares a variations based parameter hash

#rb Yoan.StAmant

[CL 30966021 by mikko mononen in 5.4 branch]
2024-01-29 07:16:16 -05:00
edwin maynard
483765d326 [Backout] - CL30836941 (backed out due to potential content errors)
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
Smart Object: Added parameters for Smart Object Definition
- Added ability to parameterize the SOD using parameters and property copy
- Each Asset stores and shares a variations based parameter hash

#rb Yoan.StAmant

[CL 30842479 by edwin maynard in ue5-main branch]
2024-01-24 09:54:41 -05:00
mikko mononen
a4f8b85727 Smart Object: Added parameters for Smart Object Definition
- Added ability to parameterize the SOD using parameters and property copy
- Each Asset stores and shares a variations based parameter hash

#rb Yoan.StAmant

[CL 30836942 by mikko mononen in ue5-main branch]
2024-01-24 03:53:02 -05:00
yoan stamant
67c4a8f7ac [SmartObject] added config to clear world preconditions for client builds
#rb mikko.mononen
#rb francis.hurteau

[CL 30410807 by yoan stamant in ue5-main branch]
2023-12-20 08:17:55 -05:00
justin peterson
fe10e8a1ec [Backout] - CL30398852 - CIS Stage Warning
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
[SmartObject] added config to clear world preconditions for client builds
#rb mikko.mononen, francis.hurteau

#virtualized

[CL 30406910 by justin peterson in ue5-main branch]
2023-12-19 19:47:10 -05:00
yoan stamant
649766d866 [SmartObject] added config to clear world preconditions for client builds
#rb mikko.mononen, francis.hurteau

#virtualized

[CL 30398918 by yoan stamant in ue5-main branch]
2023-12-19 12:59:33 -05:00
mikko mononen
e4b5036e07 SmartObject: Added per object definition data
- added definition data for the whole object
- added GetDefinitionData() & GetDefinitionDataPtr() for the SO definition and slot definition
- Renamed FSmartObjectSlotDefinitionDataProxy -> FSmartObjectDefinitionDataProxy (removed slot)
- Renamed FSmartObjectSlotDefinitionData -> FSmartObjectDefinitionData (removed slot)

[CL 30077219 by mikko mononen in ue5-main branch]
2023-12-04 07:36:52 -05:00
mikko mononen
096756af13 SmartObject: Added claim priority which allows higher priority claims to override lower priority claims.
#rb Yoan.StAmant, Mieszko.Zielinski

[CL 30010180 by mikko mononen in ue5-main branch]
2023-11-30 02:26:33 -05:00
yoan stamant
5e375112b9 [SmartObject] added reasons to control the enabled states of smart objects:
- Gameplay tags are used to identify a reason
- Default reason "SmartObject.EnabledReason.Gameplay" is a tag (UE::SmartObject::EnabledReason::Gameplay) provided by the plugin and used by default if no other reason is specified
- Tags are converted to bit masks and stored as disable flags in runtime instance
- External systems can declare new Gameplay Tags for the specific needs. System currently allows 16 different reasons (1 default + 15 custom)
- A Smart Object  instance is considered disabled as soon as at least one reason is set
#rb Luciano.Ferraro, mikko.mononen

[CL 29989734 by yoan stamant in ue5-main branch]
2023-11-29 11:23:11 -05:00
yoan stamant
203a091b6c [SmartObjects] unified the global UE::SmartObject namespace
#rb mikko.mononen

[CL 29934918 by yoan stamant in ue5-main branch]
2023-11-27 10:57:29 -05:00
mikko mononen
cc737f3eef [SmartObject] Added method to update SO transform
- Added UpdateSmartObjectTransform() to allow to update the Smart Object location at runtime
- Change spatial partitioning Add() to take ref to the handle to avoid alloc when readding

#rb Yoan.StAmant

[CL 29884931 by mikko mononen in ue5-main branch]
2023-11-22 04:49:00 -05:00
yoan stamant
a788975f6b Fixed type conversion warnings
#rb mikko.mononen

[CL 27890994 by yoan stamant in ue5-main branch]
2023-09-14 15:23:22 -04:00
ben hoffman
04773d7a0d Add a Find Smart Object from Targeting System request to smart objects. The targeting system is often used for player interactions to determine what the player is "targeting", so being able to find the smart objects that a player is looking at will make using smart objects for player interaction easier!
#jira UE-188874
#rb Yoan.StAmant
#prelight 64f791edf140ae6e397ecdd3

[CL 27611983 by ben hoffman in ue5-main branch]
2023-09-05 16:59:33 -04:00
ben hoffman
8c35dff059 Add Find Smart Object functions that take in AActor's and avoid using the normal QueryBox.
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]
2023-09-05 11:29:58 -04:00
mikko mononen
6c2279e57d SmartObject: Added outliner to asset editor
- 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]
2023-08-29 07:48:32 -04:00
ben hoffman
42fea863f2 - Add a ToString function for FSmartObjectClaimHandle in Blueprints
- 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]
2023-08-23 16:55:48 -04:00