Commit Graph

97 Commits

Author SHA1 Message Date
phillip kavan
01416cf95b [CIS]: SA warning fix.
#rnx
#rb None (trivial)
#preflight None (trivial)

[CL 25407618 by phillip kavan in ue5-main branch]
2023-05-10 12:26:44 -04:00
aditya ravichandran
31830290ab Asset Editors: Deprecate OnClose and RequestClose in favor of similar functions that take in a close reason
Fix a crash in some asset editors when you force deleted an asset with pending changes and hit "cancel" on the save dialog

#jira UE-107248
#preflight 64517c880e33f2d51d6e3adb

[CL 25321878 by aditya ravichandran in ue5-main branch]
2023-05-03 14:45:26 -04:00
phillip kavan
0981928378 Default to enable the workflow option that will minimize what goes into the unsaved asset list after a Blueprint class default value change.
Notes:
- This also moves the option out of the "Experimental" section in Blueprint Editor settings.

#jira UE-179809
#rb None (trivial)
#preflight None (trivial)

[CL 25240078 by phillip kavan in ue5-main branch]
2023-04-28 16:34:04 -04:00
phillip kavan
b718154507 Sanitize non-permitted node types and/or event/function graphs prior to saving Blueprint assets when operating within a restricted editor environment.
Notes:
- The code path is bypassed in an unrestricted environment, so there is no additional overhead cost.

#rb Jordan.Hoffmann
#preflight 64405e53b91c130758c4f6ad

[CL 25127426 by phillip kavan in ue5-main branch]
2023-04-20 10:40:56 -04:00
phillip kavan
fca8176380 Enable non-blocking context menu mode by default in the Blueprint graph editor.
#jira UE-182329
#rb None (Trivial)
#preflight 6436fe7db67b6017ea7ac675

[CL 25026188 by phillip kavan in ue5-main branch]
2023-04-13 11:20:07 -04:00
phillip kavan
8bf96348ae Don't create default UCS graph or event graph nodes for new Blueprint assets when created inside a restricted editor mode context.
Notes:
- The end result is that no Function Entry or Call Site node objects will be instanced, and thus will not be exported by the Blueprint asset package inside of a restricted editor mode context.
- The ubergraph context is still created along with the event graph, but no default nodes are added.
- If the asset is later opened inside an unrestricted editor mode context, the UCS function graph will be added at that point, but at this time, the default event node set will not also be added.

#rb Jordan.Hoffmann
[FYI] Jason.Stasik, Chris.Gagnon
#preflight 6434687341783dc3d0846276

[CL 25002658 by phillip kavan in ue5-main branch]
2023-04-11 23:51:42 -04:00
phillip kavan
1ac704cbaf [Experimental] Option to not mark outer level/OFPA assets as dirty when propagating default value changes to instances that already match the archetype's value.
Notes:
- Applies only to changes propagated from BP editor class default edits.
- Disabled by default. Can be enabled locally via Blueprint editor settings.
- When enabled, instances will still be marked dirty if the default value change results in the instance value becoming realigned with the archetype. This is because subsequent changes will now propagate to the instance, and since the per-instance value may have been delta-serialized, it needs to be re-serialized in order to update the current saved value.

#jira UE-179809
#rb Patrick.Enfedaque, Ben.Zeigler
#preflight 64305b5d4c3ccbbdf1e154d4

[CL 24972477 by phillip kavan in ue5-main branch]
2023-04-07 20:01:53 -04:00
phillip kavan
d71e34d6ee Move CVar to editor config (BP context menu).
#rnx
#jira UE-167392
#rb Jordan.Hoffmann
#preflight 63d1a828be435f17b40d3d68

[CL 23863417 by phillip kavan in ue5-main branch]
2023-01-25 20:42:47 -05:00
phillip kavan
7d29be401f CIS fix.
#rnx
#rb None (Trivial)
#preflight None

[CL 23690505 by phillip kavan in ue5-main branch]
2023-01-13 18:56:54 -05:00
phillip kavan
d6b40ac1c8 Non-blocking Blueprint graph context menu invocation (experimental).
Change summary:
- When enabled, invoking the context menu in a Blueprint graph will not block the UI for long periods waiting for its menu content building to be completed. Instead, it is spread across multiple frames and can be interrupted or restarted at any time. This allows for a better workflow/UX for creators, while we also continue to improve the efficiency of the menu building process.
- Added a progress bar to the context menu UI, visible only when time slicing is active. This will update as the menu is being populated as a visual indicator.
- Added an advanced BP editor setting to allow non-blocking behavior to be enabled (marked as experimental).
- Couple of misc. tweaks to stat reporting and filter adds.

#jira UE-167392
#rb Dan.OConnor, Jordan.Hoffmann
[FYI] Lauren.Barnes
#preflight 63c08f6b1a06fc61059141f2

[CL 23690497 by phillip kavan in ue5-main branch]
2023-01-13 18:56:46 -05:00
ben hoffman
857ecc1ab5 Check for if Pins are compatible, not if they are equal, when determining available promotable operator functions.
#jira UE-162876
#preflight 631f982b065c4ac9ce651d54
#rnx
#rb ben.zeigler

[CL 21984744 by ben hoffman in ue5-main branch]
2022-09-13 12:13:34 -04:00
ben hoffman
644a34d274 [Backout] - CL21965589
[FYI] ben.hoffman
Original CL Desc
-----------------------------------------------------------------
Check for if Pins are compatible, not if they are equal, when determining available promotable operator functions.

#jira UE-162876
#preflight 631b7b30d135b61bc56d31d3
#rnx
#rb ben.zeigler

[CL 21973950 by ben hoffman in ue5-main branch]
2022-09-12 18:12:18 -04:00
ben hoffman
b7b538c3b0 Check for if Pins are compatible, not if they are equal, when determining available promotable operator functions.
#jira UE-162876
#preflight 631b7b30d135b61bc56d31d3
#rnx
#rb ben.zeigler

[CL 21973942 by ben hoffman in ue5-main branch]
2022-09-12 18:12:00 -04:00
Robert Millar
d2a8b279ca FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for blueprints in editor.

#jira UE-161932
#rb ben.zeigler
#preflight 631820e4d135b61bc59b9981

[CL 21841686 by Robert Millar in ue5-main branch]
2022-09-07 01:06:47 -04:00
bryan sefcik
925161d3e2 Another IWYU pass on Engine/Source/Editor/...
#jira

[CL 21716486 by bryan sefcik in ue5-main branch]
2022-08-30 23:04:40 -04:00
bryan sefcik
0837230669 Ran IWYU again on half of the Engine/Source/Editor/... source files.
#jira

[CL 21716414 by bryan sefcik in ue5-main branch]
2022-08-30 23:03:03 -04:00
nate strohmyer
65b46b73ae Combo Input Triggers now return the correct supported trigger events.
Adding a config variable for Unsupported triggers warnings.

#Jira UE-159656
#rb ben.hoffman
#preflight 62feb880f7404b55a3071be0

[CL 21572648 by nate strohmyer in ue5-main branch]
2022-08-25 17:07:11 -04:00
phillip kavan
adf5db9c12 Blueprint namespace editor features are now enabled by default.
Change summary:
- Moved Blueprint namespace editor settings out of the experimental category.
- Modified the editor settings details customization to allow the options to appear as adjacent rows, since the feature flag is also an edit condition.

#jira UE-159089
#rb Ben.Hoffman
#preflight 62ffa0307d17941e9f8a7cda

[CL 21525377 by phillip kavan in ue5-main branch]
2022-08-23 19:29:21 -04:00
thomas sarkanen
930c912205 Added BP action DB filtering
Applies optional filtering to the BP context menu and related UIs.

Primarily this is implemented at the BlueprintActionDatabase/Registrar level as permissions are mostly static. One additional filter has been added to BlueprintActionFilter to handle filtering out items from assets that cannot be referenced from *this* blueprint.

Added type filtering to the variable type tree to prevent creating disallowed variable types. This piggybacks on the already-existing FImportedPinTypeSelectorFilter.

Also added some auditing console commands: bp.AuditThreadSafeFunctions and bp.AuditFunctionCallsForBlueprint
Corrected FBlueprintEditorUtils::HasFunctionBlueprintThreadSafeMetaData to not track FUNC_BlueprintEvent flags for native functions.

#jira UE-156715
#rb Phillip.Kavan,Jason.Stasik
#preflight 62b9bedae77151e5996dd658

#ROBOMERGE-OWNER: thomas.sarkanen
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 20890474 via CL 20891658 via CL 20892543 via CL 20892549
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20896198 by thomas sarkanen in ue5-main branch]
2022-06-30 11:25:52 -04:00
marc audy
8ca5f6a8be [Backout] - CL20807495
[FYI] Thomas.Sarkanen
Original CL Desc
-----------------------------------------------------------------
Added BP action DB filtering

Applies optional filtering to the BP context menu and related UIs.

Primarily this is implemented at the BlueprintActionDatabase/Registrar level as permissions are mostly static. One additional filter has been added to BlueprintActionFilter to handle filtering out items from assets that cannot be referenced from *this* blueprint.

Added type filtering to the variable type tree to prevent creating disallowed variable types.

Also added some auditing console commands: bp.AuditThreadSafeFunctions and bp.AuditFunctionCallsForBlueprint
Corrected FBlueprintEditorUtils::HasFunctionBlueprintThreadSafeMetaData to not track FUNC_BlueprintEvent flags for native functions.

#jira UE-156715
#rb Phillip.Kavan,Jason.Stasik
#preflight 62b572f1970a8db33765bf83

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 20813981 via CL 20863344 via CL 20871119 via CL 20871207
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20876885 by marc audy in ue5-main branch]
2022-06-29 12:27:43 -04:00
phillip kavan
198fbe8f64 Added BP action DB filtering
Applies optional filtering to the BP context menu and related UIs.

Primarily this is implemented at the BlueprintActionDatabase/Registrar level as permissions are mostly static. One additional filter has been added to BlueprintActionFilter to handle filtering out items from assets that cannot be referenced from *this* blueprint.

Added type filtering to the variable type tree to prevent creating disallowed variable types.

Also added some auditing console commands: bp.AuditThreadSafeFunctions and bp.AuditFunctionCallsForBlueprint
Corrected FBlueprintEditorUtils::HasFunctionBlueprintThreadSafeMetaData to not track FUNC_BlueprintEvent flags for native functions.

#jira UE-156715
#rb Phillip.Kavan,Jason.Stasik
#preflight 62b572f1970a8db33765bf83

#ROBOMERGE-OWNER: phillip.kavan
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 20807495 via CL 20815974 via CL 20816610 via CL 20816624
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20818683 by phillip kavan in ue5-main branch]
2022-06-24 18:53:46 -04:00
ben hoffman
a5087e8000 Fix type promotion to correctly exclude UEdGraphSchema_K2::PC_SoftClass, not the PC_SoftObject.
#jira UE-146282
#rb phillip.kavan
#preflight 6279a232057d42a0e414f6ae

#ROBOMERGE-AUTHOR: ben.hoffman
#ROBOMERGE-SOURCE: CL 20128580 in //UE5/Release-5.0/... via CL 20129423
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20132121 by ben hoffman in ue5-main branch]
2022-05-10 19:40:14 -04:00
ben hoffman
a7bbad4535 Make Soft object references not supported by Type Promotion because it doesnt work correctly. This will make it so that the old options show up in the context menu by default, which is the correct behavior.
#jira UE-146282
#rb phillip.kavan
#preflight 626857711638ac249e912831

#ROBOMERGE-AUTHOR: ben.hoffman
#ROBOMERGE-SOURCE: CL 19931082 in //UE5/Release-5.0/... via CL 19932342
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19933337 by ben hoffman in ue5-main branch]
2022-04-26 20:53:22 -04:00
Phillip Kavan
38e6b760c3 Customized Blueprint editor and project settings for global namespace imports entry.
Change summary:
- Moved base "managed list" customization out into its own class so that it can be shared with editor/project settings customization.
- Refactored Blueprint global options (i.e. Class Settings) details customization to utilize the new "managed list" base class.
- Removed filter text as a customizable managed list display option and redefined it to be more consistent with property editor nodes.
- Fixed the "Imports" display in Class Settings to no longer list global imports in the non-default section.
- Added a new details customization for UBlueprintEditorSettings.
- Added a customized editor for the 'NamespacesToAlwaysInclude' property for both local user settings and shared project settings.
- Moved the "Add" button for imports and interfaces to be on the same line as the header row (eliminates some wasted space in the details view).
- Fixed up global import property display names and tooltips to be more descriptive.
- Fixed an issue that prevented reselection of the previous namespace setting in the Blueprint namespace entry combo box after clearing it.
- Fixed the incorrect vertical alignment of import/interface item rows.

#jira UE-143552, UE-133369, UE-136904, UE-142557
#rb Ben.Hoffman
#preflight 622ba26c46679d56c31dddda

[CL 19365260 by Phillip Kavan in ue5-main branch]
2022-03-11 19:47:16 -05:00
Phillip Kavan
b5863c2b95 Some minor refactoring to assist with handling removal/reassignment of Blueprint namespaces.
Change summary:
- Added a code path for removing a namespace from the BP editor context.
- Consolidated namespace helper instances into a single BP editor context.
- Extended the FBlueprintEditor::ImportNamespace() API to accept additional options and a post-import callback.
- Refactored the auto-import code path to fix issues with reassignment to/from an imported namespace.
- Decoupled SSubobjectBlueprintEditor from a namespace-aware callback in favor of a generalized "add" callback.
- Linked the CVar for inheriting parent BP imports to a transient BP setting (experimental/not user-facing).
- Consolidated code to gather global/default imports into a utility API so that namespace sets are consistent.
- Modified "Imports" view to include a "default imports" section (similar to inherited interfaces) - these are not removable.
- Moved "Inherited Interfaces" section to be sorted above the "Implemented Interfaces" section for consistency.
- Fixed SBlueprintNamespaceEntry to query for the current text rather than only setting it at construction time.

#jira UE-133288
#rb Ben.Hoffman
#preflight 621ff4b337049be51738bafe

[CL 19236263 by Phillip Kavan in ue5-main branch]
2022-03-02 20:48:04 -05:00