Commit Graph

392 Commits

Author SHA1 Message Date
aurel cordonnier
e0ad4e25df Merge from Release-Engine-Test @ 16624776 to UE5/Main
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16625248 by aurel cordonnier in ue5-main branch]
2021-06-10 13:13:24 -04:00
Thomas Sarkanen
ceee4ecac6 Added the concept of thread safe Blueprint functions
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]
2021-05-19 04:47:35 -04:00
Thomas Sarkanen
19cfad9ac3 Back out 16367405
[CL 16368980 by Thomas Sarkanen in ue5-main branch]
2021-05-18 12:06:38 -04:00
Thomas Sarkanen
4b80949f13 Added the concept of thread safe Blueprint functions
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]
2021-05-18 10:41:11 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
ben zeigler
ed8b949720 #jira UE-69931 Tweaks to blueprint editor context menu:
Fix bug where it was failing to separate the category from translated description which caused false matches
Fix it to strip the "Class" from category description, this was prioritizing interface functions too high
Change the way the shorter length weight works by giving a bonus for matching short words instead of penalizing for irrelevant long words
Changed all word match bonuses to use the best one so redundant keywords like "add add" don't get prioritized and lower percentage match weight
Bump the description weight if there are no keywords, and minor weight tweaks in general
#rb ben.hoffman

[CL 16256919 by ben zeigler in ue5-main branch]
2021-05-10 18:06:03 -04:00
ben hoffman
b4eac425d5 Fix "ctrl + drag" shortcut on promotable operators with multiple connections
Instead of always breaking the links witha promotable connection at the schema level, only break links if the most recent connection is a different type then before. This stops incorrect breaking of valid connections when there are multiple at a time while keeping a good UX.

#jira UE-109809
#rb phillip.kavan
#rnx
#preflight 6063773d4bf1970001c9b871

#ROBOMERGE-SOURCE: CL 15867103 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15867122 by ben hoffman in ue5-main branch]
2021-03-30 16:00:00 -04:00
Zousar Shaker
0936533c5e Undo //UE5/Main/Engine/Source/... changelist 15738448
[CL 15741080 by Zousar Shaker in ue5-main branch]
2021-03-18 16:13:13 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
Zousar Shaker
d01a4294a1 Undo //UE5/Main/Engine/Source/... changelist 15717347
[CL 15738448 by Zousar Shaker in ue5-main branch]
2021-03-18 11:37:03 -04:00
Tim Smith
a2237e050d LiveCoding Re-instancing
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]
2021-03-18 08:13:59 -04:00
Zousar Shaker
6a5fc5286d Allow object references on the pin defaults of a blueprint graph to be handled as wrapped object pointers to assist in lazy loading in editor.
#rb marc.audy
#preflight 6051497d03c5190001a2f3c6

[CL 15717347 by Zousar Shaker in ue5-main branch]
2021-03-16 21:06:19 -04:00
ben hoffman
e014f2974f Set the source path of the blueprint compiler log when pasting nodes correctly. This stops an ensure within FPackageName::DoesPackageExist when given an empty package name.
#jira UE-110327
#rb michael.noland
#rnx

#ROBOMERGE-SOURCE: CL 15671261 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)

[CL 15671267 by ben hoffman in ue5-main branch]
2021-03-10 19:05:49 -04:00
ben hoffman
4f6a398de3 Give a preference to actions that match the same container type to ensure that they get the right modifier functions like "Add"
#jira UE-109230
#rb justin.hare
#rnx

#ROBOMERGE-SOURCE: CL 15654408 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)

[CL 15654470 by ben hoffman in ue5-main branch]
2021-03-09 11:00:37 -04:00
phillip kavan
4249ae08aa More groundwork for namespaces.
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]
2021-03-01 13:21:24 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
ben hoffman
bca040bfe3 Blueprints: When implementing an overriden function in blueprints automatically map the function entry node inputs to the parent node
#jira UE-106255
#rb phillip.kavan
#rnx

[CL 15072767 by ben hoffman in ue5-main branch]
2021-01-13 17:30:22 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
ben hoffman
19eb7e26aa TypePromotion: Also check for special conversion functions from pimitive types to others, not just for primitive to structs.
#jira none
#rb me
#rnx

[CL 14892440 by ben hoffman in ue5-main branch]
2020-12-09 17:36:55 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
ben hoffman
5b31f2d67f Change UEdGraphSchema_K2::ReplaceOldNodeWithNew to accept UEdGraphNode's instead of UK2Node's to make it useable from other schema's as well
#jira none
#rb marc.audy
#rnx

[CL 14629285 by ben hoffman in ue5-main branch]
2020-11-02 13:07:58 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
ben hoffman
c4aeb7ea7c Blueprints: Add ArePinTypesEquivalent function the schema for a quicker way to determine if two pin types are the same
#jira UE-97901
#rb michael.noland
#rnx
#okfrogithub public

[CL 14358840 by ben hoffman in ue5-main branch]
2020-09-21 15:27:43 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
ben hoffman
239f138d44 Blueprints: Add the first pass of the Promotable Operator node for type promotion. Disabled by default, can be turned on with the CVar "BP.TypePromo.IsEnabled"
#jira UE-94217
#rb marc.audy

[CL 14205265 by ben hoffman in ue5-main branch]
2020-08-27 18:38:23 -04:00