Commit Graph

1924 Commits

Author SHA1 Message Date
dave jones2
6f6ac30e15 Deprecated bIsFinalFunction.
"final" was an UnrealScript concept that never made it into Blueprints. Currently, it's synonymous with the CallParentFunction node. Instead of using this flag, we can simply check the node type directly.

We still might want to revisit this for Blueprints, but we likely won't use this bool.

#rb ben.hoffman, dan.oconnor

[CL 30770789 by dave jones2 in ue5-main branch]
2024-01-22 09:24:57 -05:00
steve robb
6d5b974842 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30735396 by steve robb in ue5-main branch]
2024-01-19 19:41:56 -05:00
dave jones2
73d6c12907 Deprecated bIsBeadFunction.
This was a really old feature that never took off. It's not needed anymore.

#rb dan.oconnor

[CL 30718919 by dave jones2 in ue5-main branch]
2024-01-19 12:19:18 -05:00
graham matuszewski
7061b1ccc0 Allow for UObject Macro Libraries to use functions that require a world context.
If a UObject MacroLibrary goes to use a function that requires a world context then it will show the input pin for the world context just like it would if it were a blueprint function library.
The input pin for the WorldContext can be manually provided by the user by dragging the right reference and passing that into the Macro, but the Macro will also just auto grab the world from the caller if they have a valid world context. if they do not have a valid world context, then an error will be shown in the called at compile time.

#jira UE-203743 UE-22946
#rb dan.oconnor

[CL 30643242 by graham matuszewski in ue5-main branch]
2024-01-16 15:35:24 -05:00
zhikang shao
81750f0a27 Finding References By Name on event nodes (K2Node_Event) and function call nodes (K2Node_CallFunction) now consistently searches by native name, rather than friendly name in some cases. Additionally, K2Node_CreateDelegate appends metadata so it can be found when searching for the referenced function if it's a class member.
#rb Phillip.Kavan

[CL 30593990 by zhikang shao in ue5-main branch]
2024-01-12 10:56:49 -05:00
steve robb
7da84c1d1b Replaced UE_NODISCARD with [[nodiscard]].
[CL 30593744 by steve robb in ue5-main branch]
2024-01-12 10:47:04 -05:00
zhikang shao
5a4f3dadcf #jira UE-196209
Improves "Find References" in blueprints: now supports function search by [class, function] call-sites and definitions rather than a generic search for function name. Replaces the "Find References" context menu action with a sub-menu for variables and functions in BlueprintEditor, WidgetBlueprintEditor, SubobjectEditor and SubobjectEditor. That context sub-menu has 'By Name' and 'By Class Member' search options and local+global versions of both.

Made changes to Find-in-Blueprints metadata that is generated per blueprint asset to be able to do "specific function of a specific class" type queries; some search types were unsupported with previous metadata. Incremented the EFiBVersion so that the Find-in-Blueprints search window will ask to re-index all blueprints and resave. Added an opt-out editor setting "Allow Index All Blueprints" (default: true) to disable the button, which can be decided per project. Added an action in the Find-in-Blueprints modal when outdated metadata is detected to export the list of affected assets.
#rb Phillip.Kavan

[CL 30316851 by zhikang shao in ue5-main branch]
2023-12-14 06:34:39 -05:00
zhikang shao
15c016080d [Backout] - CL30289707
[FYI] zhikang.shao
Original CL Desc
-----------------------------------------------------------------
#jira UE-196209
Improves "Find References" in blueprints: now supports function search by [class, function] call-sites and definitions rather than a generic search for function name. Replaces the "Find References" context menu action with a sub-menu for variables and functions in BlueprintEditor, WidgetBlueprintEditor, SubobjectEditor and SubobjectEditor. That context sub-menu has 'By Name' and 'By Class Member' search options and local+global versions of both.

Made changes to Find-in-Blueprints metadata that is generated per blueprint asset to be able to do "specific function of a specific class" type queries; some search types were unsupported with previous metadata. Incremented the EFiBVersion so that the Find-in-Blueprints search window will ask to re-index all blueprints and resave. Added an opt-out editor setting "Allow Index All Blueprints" (default: true) to disable the button, which can be decided per project. Added an action in the Find-in-Blueprints modal when outdated metadata is detected to export the list of affected assets.
#rb Phillip.Kavan

[CL 30289794 by zhikang shao in ue5-main branch]
2023-12-13 07:33:50 -05:00
zhikang shao
68c300ecfa #jira UE-196209
Improves "Find References" in blueprints: now supports function search by [class, function] call-sites and definitions rather than a generic search for function name. Replaces the "Find References" context menu action with a sub-menu for variables and functions in BlueprintEditor, WidgetBlueprintEditor, SubobjectEditor and SubobjectEditor. That context sub-menu has 'By Name' and 'By Class Member' search options and local+global versions of both.

Made changes to Find-in-Blueprints metadata that is generated per blueprint asset to be able to do "specific function of a specific class" type queries; some search types were unsupported with previous metadata. Incremented the EFiBVersion so that the Find-in-Blueprints search window will ask to re-index all blueprints and resave. Added an opt-out editor setting "Allow Index All Blueprints" (default: true) to disable the button, which can be decided per project. Added an action in the Find-in-Blueprints modal when outdated metadata is detected to export the list of affected assets.
#rb Phillip.Kavan

[CL 30289718 by zhikang shao in ue5-main branch]
2023-12-13 07:25:05 -05:00
ben humphreys
e9c9ac7a74 Added binding to create a new Custom Event Node. No binding by default. Similar to pressing C to create a new Comment Node.
#jira UE-200930
#rb Phillip.Kavan

[CL 30218170 by ben humphreys in ue5-main branch]
2023-12-08 15:12:30 -05:00
ben zeigler
6e81a09c2a Remove broken blueprint performance tracking code now that Insights works well:
BlueprintCompileAndLoadTimerData has been wrong ever since the compilation manager was added
FScopedCompilerEvent was broken because there are two active compilation logs in many cases
Delete unused stats and replace a few with trace scopes
#rb dan.oconnor

[CL 29996340 by ben zeigler in ue5-main branch]
2023-11-29 14:53:02 -05:00
phillip kavan
79f02343be Fix editor crash after changing the title content on a math expression graph node.
#jira UE-194980
#rb dan.oconnor

[CL 29993459 by phillip kavan in ue5-main branch]
2023-11-29 13:24:00 -05:00
yoan stamant
a204190757 [FScriptSetHelper and FScriptMapHelper iterators]
fixes for potential issues
#rb Steve.Robb

[CL 29965767 by yoan stamant in ue5-main branch]
2023-11-28 14:04:54 -05:00
yoan stamant
2c21477c39 [Backout] - CL29948080
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
[FScriptSetHelper and FScriptMapHelper iterators]
fixes for potential issues
#rb Steve.Robb

[CL 29950600 by yoan stamant in ue5-main branch]
2023-11-27 18:36:36 -05:00
yoan stamant
4927cb9129 [FScriptSetHelper and FScriptMapHelper iterators]
fixes for potential issues
#rb Steve.Robb

[CL 29948175 by yoan stamant in ue5-main branch]
2023-11-27 17:27:42 -05:00
christopher daniel
81d0844367 Crash Prevention: Added null checks to various crashes found when running the editor.
These crashes were surfaced by CL 29712224 which exposed that these values were not being null checked.

#rnx
#rb dan.kaufman, Mic.Rooney
[REVIEW] [at]Dan.Kaufman, [at]Beth.Reid, [at]Anthony.Glueck
[FYI] Jon.Cain

[CL 29870018 by christopher daniel in ue5-main branch]
2023-11-21 13:04:42 -05:00
dave jones2
f636c71244 Removed check in ValidateLinkedPinTypes
Some users are hitting a check where no compiler relevant pin cannot be found during validation. It's unclear if this is an expected scenario. For now, we'll relax this to a soft-fail, and add logging to help track down the issue. If this turns out to be a valid scenario, we can remove the log in a future change.

#rb dan.oconnor

[CL 29602075 by dave jones2 in ue5-main branch]
2023-11-09 13:06:27 -05:00
BenVlodgi
dc8638aa85 [Backout] - CL29362886
[FYI] zhikang.shao
Original CL Desc
-----------------------------------------------------------------
PR #9602 Property meta specifier DeterminesOutputType now works with Soft Object and Soft Class Paths
#jira UE-165025
#rb zhikang.shao

[CL 29424609 by BenVlodgi in ue5-main branch]
2023-11-03 17:49:37 -04:00
BenVlodgi
5f58adcf4f PR #9602 Property meta specifier DeterminesOutputType now works with Soft Object and Soft Class Paths
#jira UE-165025
#rb zhikang.shao

[CL 29362899 by BenVlodgi in ue5-main branch]
2023-11-02 09:40:23 -04:00
BenVlodgi
820acbb7d5 [Backout] - CL29362360
[FYI] zhikang.shao
Original CL Desc
-----------------------------------------------------------------
PR #9602 Property meta specifier DeterminesOutputType now works with Soft Object and Soft Class Paths
#jira UE-165025
#rb zhikang.shao

[CL 29362650 by BenVlodgi in ue5-main branch]
2023-11-02 09:32:35 -04:00
BenVlodgi
2f41e3afba PR #9602 Property meta specifier DeterminesOutputType now works with Soft Object and Soft Class Paths
#jira UE-165025
#rb zhikang.shao

[CL 29362381 by BenVlodgi in ue5-main branch]
2023-11-02 09:24:52 -04:00
dan oconnor
038a1afa71 Avoid propagating pin type change, when no pin has changed type
#jira UE-196147
#rb ben.hoffman

[CL 28865698 by dan oconnor in ue5-main branch]
2023-10-17 21:24:16 -04:00
phillip kavan
987ce8762c Backout CL 28342847 (to revisit on the slate side later).
#rb none (trivial)
#jira UE-194980

[CL 28767293 by phillip kavan in ue5-main branch]
2023-10-13 15:40:01 -04:00
thomas sarkanen
f14bd09b5b AnimNext: Scheduler, Component and Parameter Improvements
Scheduler

Added schedule asset
Schedule builds a simple bytecode when edited/loaded/saved
Bytecode describes what tasks to run in order with what dependencies
Scheduler acts as an interface to the schedule world subssystem (so schedules can be run against specific worlds)
Schedule entry ultimately owns all the memory for a running schedule, mostly via the FScheduleInstanceData
Schedule is run via a graph of tick functions that are created on handle registration, held on the schedule entry

Component

Bare-bones component, still a few features to add (e.g. stopping starting ticking etc.)
Holds a handle to a parameterized schedule
Can update parameters by pushing them to named scopes in the schedule

Parameter Improvements

UI/UX

Changed parameter block workflow to be closer to how it works under the hood:
- Parameters are local state
- Graphs operate by writing local state (and reading local/global state)
- This means that parameters and graphs are created independently. Still TODO: setting defaults for parameters.
Added custom widget for selecting parameters (on pins at present - details panel still TODO)
Parameter picker can now create new parameters in-line.
Double-clicking a graph now opens it

Runtime

Patched up parameter blocks to work with the last set of RigVM refactors.
Rebased param block node, graph and schema to RigVM.
Re-duplicated compilation logic for parameter blocks. This should be subject to a later refactor to move the compilation our of URigVMBlueprint.
Switched property bag to create object ptr properties rather than raw object properties
Added support for attaching param stacks to anim BP execution, propagated from a schedule instance.
Consolidated specific layer memory ownership into stack layer storage types: FUObjectLayer and FInstancedPropertyBagLayer. Raw data layers are also still available.
Param stacks now have 'parent' stacks that they will differ to if values are not found in queries. This is used for task-level scopes. Tasks are assigned param stacks to run (and the graph of parent scopes is built) via the schedule instance data.
Param stack results API expanded so we can get ricer info from queries
Moved FParamStackLayer out of FParamStack
Added TLayerBuilder to allow raw data layers to be built out-of-line
Updated tests

#rb Nicholas.Frechette,Jaime.Cifuentes

[CL 28372599 by thomas sarkanen in ue5-main branch]
2023-10-02 07:31:20 -04:00
ionut matasaru
26a85e72d1 Fixed usage of CpuProfiler trace in BlueprintActionFilter (when ENABLE_BLUEPRINT_ACTION_FILTER_PROFILING is enabled). FCpuProfilerTrace::OutputEventType and FCpuProfilerTrace::OutputBeginDynamicEvent needs to be called only if CpuChannel is enabled, otherwise the "spec" trace event is not emitted, so it will result in <unknown> cpu timers. Also fixed code that matches OutputBeginEvent with OutputEndEvent.
#jira UE-196204
#rb catalin.dragoiu
[FYI] jordan.hoffmann

[CL 28370956 by ionut matasaru in ue5-main branch]
2023-10-02 03:54:26 -04:00