- Also got rid of the loaded class cache in favor of a cached state for just opened BP editors that gets invalidated when settings are edited or the BP is (directly) reparented
#jira UE-81056
#rb marc.audy
#preflight 61e0aa1b6e49801093696899
#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 18609404 in //UE5/Release-5.0/... via CL 18609465 via CL 18609499
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)
[CL 18609551 by michael noland in ue5-main branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
Change summary:
- Reverted FEdGraphPinReference back to using TWeakObjectPtr (fixes the regression by restoring previous behavior).
- Added FBlueprintWatchedPin as a new type intended for FBlueprintEditorSettings config data; this internally uses TSoftObjectPtr to match the existing behavior that was being used to export pin objects as soft rather than weak. It also matches how breakpoints are being stored, and allows for future extensions to watched pin context without affecting the underlying pin reference type used by the rest of the engine code.
- Modified the FKismetDebugUtilities APIs for watched pins to utilize the new type in place of FEdGraphPinReference.
#jira UE-122163, UE-122339
#rb Ben.Hoffman
#preflight 61314857d031a400010a709a
#ROBOMERGE-AUTHOR: phillip.kavan
#ROBOMERGE-SOURCE: CL 17443581 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17443598 by phillip kavan in ue5-release-engine-test branch]
The option will be visible only if namespace filtering features are turned on (currently via CVar).
Also revised filter behavior to route through the shared import set and apply to actions that pass the non-target member test (i.e. global fields).
#jira UE-108316
#rb Ben.Hoffman
#preflight 610d98d7cf0cdd000136401a
#ROBOMERGE-SOURCE: CL 17088653 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)
[CL 17089023 by phillip kavan in ue5-release-engine-test branch]
Description: Make it so breakpoints are saved in the EditorPerProjectUserSettings ini rather than blueprint uasset files so that they can be excluded from version control and be unique to the user
#jira UE-119540
#rb Ben.Zeigler
#ROBOMERGE-SOURCE: CL 16959614 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16959625 by jordan hoffmann in ue5-release-engine-test branch]
[FYI] jordan.hoffmann
Original CL Desc
-----------------------------------------------------------------
Feature: Move breakpoint storage out of the uasset file
Description: Make it so breakpoints are saved in the EditorPerProjectUserSettings ini rather than blueprint uasset files so that they can be excluded from version control and be unique to the user
#jira UE-119540
#preflight 60fa0407224826000161cd31
#ROBOMERGE-SOURCE: CL 16934737 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16934748 by jordan hoffmann in ue5-release-engine-test branch]
Description: Make it so breakpoints are saved in the EditorPerProjectUserSettings ini rather than blueprint uasset files so that they can be excluded from version control and be unique to the user
#jira UE-119540
#preflight 60fa0407224826000161cd31
#ROBOMERGE-SOURCE: CL 16933419 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16933421 by jordan hoffmann in ue5-release-engine-test branch]
[FYI] jordan.hoffmann
Original CL Desc
-----------------------------------------------------------------
Feature: Move breakpoint storage out of the uasset file
Description: Make it so breakpoints are saved in the EditorPerProjectUserSettings ini rather than blueprint uasset files so that they can be excluded from version control and be unique to the user
#jira UE-119540
#ROBOMERGE-SOURCE: CL 16929845 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16929852 by jordan hoffmann in ue5-release-engine-test branch]
Description: Make it so breakpoints are saved in the EditorPerProjectUserSettings ini rather than blueprint uasset files so that they can be excluded from version control and be unique to the user
#jira UE-119540
#ROBOMERGE-SOURCE: CL 16915099 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16915117 by jordan hoffmann in ue5-release-engine-test branch]
Either enabling the 'thread safe' checkbox for a function or overriding an already thread safe (either native or BP) function will enable compile-time checking for thread safety.
Checks are based around the complied statement list rather than the bytecode itself.
#rb Phillip.Kavan,Jurre.deBaare
[CL 16382389 by Thomas Sarkanen in ue5-main branch]
Either enabling the 'thread safe' checkbox for a function or overriding an already thread safe (either native or BP) function will enable compile-time checking for thread safety.
Checks are based around the complied statement list rather than the bytecode itself.
#rb Phillip.Kavan,Jurre.deBaare
[CL 16367405 by Thomas Sarkanen in ue5-main branch]
LIMITATIONS:
1) Re-instancing will only update UClass instance data.
2) Adding and removing properties should only be done towards the end of a class or structure and can not be followed by complex data types.
3) Adding and removing properties from a base class should not be done if a derived class contains complex data types.
KNOWN ISSUES:
1) Changes to enumerations and structures will not be reflected in existing blueprints. However, adding new nodes to the blueprint will show the updated enumeration or structure.
2) If a class contains an enumeration or structure as a member, the class will not be re-instanced if enumeration or structure is changed.
CHANGES:
1) LiveCodingServer
1a) Modified to always execute certain static instances during load.
1b) Modified to exclude the _Statics static structures to avoid patching to old copies.
2) Added support for LiveCoding reinstancing
2a) Refactored deferred registration system for UClass, UEnum, and UScriptStruct to use a common system that works for normal game, hot reload and live coding.
2b) Type specific version check data is possible (i.e. enum doesn't have a size)
2c) Single registration static for UClass
2d) Single registration class for all types that is just a blind forward to API.
2e) Static and dynamic registrations use different API entry points to avoid having overloaded argument lists that just apply to one or the other.
2f) Shims for older API
3) New common "Reload" system to avoid using HotReload code.
3a) Support common delegates regardless of who is reloading/reinstancing.
3b) Re-instancing code moved from HotReload to Kismet2 (where the bulk of the re-instance code already existed).
3c) Modified PyWrapper to use new helper class instead of depending on HotRelaod
3d) Added WITH_RELOAD which is defined if HotReload or LiveCoding is enabled.
3e) Modifed existing code to use new #define and delegates.
Robert did the review on the changes covered by Part 2. Remaining changes are all straightforward.
#rb robert.manuszewski
#jira UE-74493
[CL 15736777 by Tim Smith in ue5-main branch]
Change summary:
- Consolidated transient setting flags into UBlueprintEditorSettings; no longer dependent on UEditorExperimentalSettings. These continue to mirror the CVars for now. Also restored the sink function so that changing options will refresh the UI.
- Compiling a Blueprint will now inject the namespace into the class metadata if it is set on the UBlueprint asset.
- Added IsImportedType()/IsImportedObject() helper methods to FBlueprintNamepaceHelper.
- Added a CVar to provide a way to test the inclusion of parent class namespaces when checking scope; disabled by default for now to preserve current behavior.
#jira UE-108316
#ROBOMERGE-SOURCE: CL 15558978 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15558982 by phillip kavan in ue5-main branch]
Experimental - disabled by default; features are currently exposed via CVar only.
#jira None
#[fyi] Michael.Noland
#ROBOMERGE-SOURCE: CL 15317743 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15317753 by phillip kavan in ue5-main branch]
Change from using a CVar to a BP editor preferences setting for a better user experience now that it is feature complete with no known bugs.
#jira UE-102405
#rnx
#rb phillip.kavan
#fyi mason.seay
[CL 15132643 by ben hoffman in ue5-main branch]
Adds shortcut of double-click to navigate up. Disabled by default for now - see the BlueprintEditor settings to enable & send feedback
#jira UE-105149
#rb thomas.sarkanen,phillip.kavan
[CL 15082887 by danny chapman in ue5-main branch]