Commit Graph

99 Commits

Author SHA1 Message Date
ben zeigler
e3b7df8297 Change the blueprint action database to refresh type promotion instead of doing it from the module change callback.
This ensures the type promotion is refreshed right before it is needed and avoids redundant refreshes when multiple modules load at once.
#rb ben.hoffman

[CL 27177959 by ben zeigler in ue5-main branch]
2023-08-17 13:25:12 -04:00
phillip kavan
ec0323fdcb Allow users to control how assets selected in the Content Browser will generate pre-bound actions when invoking the Blueprint graph context menu. This feature is now also turned off by default.
Notes:
- This applies only when the "Context Sensitive" box is checked.
- New options are available in Editor Prefs->Blueprint Editor Settings:
    1) Whether actions pre-bound to selected assets will be included.
    2) Whether consideration will be restricted to single selections only.
    3) Whether selected assets will be loaded before being considered.
- Options 2 and 3 specify Option 1 as an edit condition in the markup.
- Default UX is 1-off, 2-off, 3-on. Customizing these options will affect the local user only.
- Legacy UX can be restored as 1-on, 2-off, 3-on if any licensees were relying on that specifically.

#rb Ben.Hoffman, Ben.Zeigler
#preflight 645d063b2c180971ee0e1540

[CL 25438525 by phillip kavan in ue5-main branch]
2023-05-11 19:32:29 -04:00
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