Commit Graph

163 Commits

Author SHA1 Message Date
anton dunchev
d97c370c0f Fix level visibility check for dormant actor cleanup feature. This allows dormant actors placed in a persistent level to be destroyed on the client and reclaim their memory.
#rb brian.bekich
[FYI] andrew.ladenberger
#tests PIE

[CL 23039167 by anton dunchev in ue5-main branch]
2022-11-08 16:03:05 -05:00
henrik karlsson
80a0aeccfe [Engine]
Removal of includes to reduce transitive includes in high traffic headers to reduce compile times
Highlights
* Skeleton and BonePose not leaked out of commonly used animation headers
* AudioComponent leaking out less
* Brush not leaking Level.h (Brush is included indirectly a lot)
* VertexStreamComponent moved to its own file so Components.h can include that instead of VertexFactory (which would leak out all of RHI and others)

#preflight 6365dd15c53af2f47f8d8c40
#rb none

[CL 23003402 by henrik karlsson in ue5-main branch]
2022-11-05 20:36:27 -04:00
henrik karlsson
4a5e13525d Fixed non-unity non-pch compile errors
#preflight skipped
#rb none

[CL 22788359 by henrik karlsson in ue5-main branch]
2022-10-26 16:22:34 -04:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
Robb Surridge
610c467639 Update vendor links for built-in plugins to use secure protocol.
#jira UE-166823
#rb lauren.barnes
#preflight 6352b20b7261e565c476ec3b

[CL 22690089 by Robb Surridge in ue5-main branch]
2022-10-21 11:04:07 -04:00
ryan gerleve
572b34b4d8 Add a CSV stat to track CPU time impact of multiple replications of the same actor to the same connection in the same frame. Possible in RepGraph when an RPC causes a new channel to open.
Change FReplicationGraphCSVTracker::PostReplicateActor to take enum flags.

#rb LouisPhilippe.Seguin
#preflight 63503b82b13bfb29ebf8671a

[CL 22647222 by ryan gerleve in ue5-main branch]
2022-10-19 21:51:43 -04:00
brian bekich
f5a06b9c44 Handle an actor with an invalid location (NaN) in GetCellInfoForActor
#jira UE-166885
#rb louisphilippe.seguin

[CL 22534390 by brian bekich in ue5-main branch]
2022-10-14 16:57:32 -04:00
ryan gerleve
ba27312428 Replication graph GridSpatialization2D node uses old world bounds values.
The grid is densely stored and risks very high memory usage at large coordinates.

#jira UE-165198
#rb louisphilippe.seguin
#preflight 6334c113691c0168b71c21f7

[CL 22240520 by ryan gerleve in ue5-main branch]
2022-09-28 22:24:09 -04:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
bryan sefcik
0eeac455e0 Pass 3 on cleaning up build.cs files.
#jira
#preflight 631b9c15d31788ea3ab0f27b

[CL 21935601 by bryan sefcik in ue5-main branch]
2022-09-10 00:02:58 -04:00
brian bekich
f9354ffab0 Networking deprecation cleanup
#preflight 631153ed16293be53140b1ad
#rb louisphilippe.seguin

[CL 21760887 by brian bekich in ue5-main branch]
2022-09-02 11:52:54 -04:00
louisphilippe seguin
17a89ba38f Replication:
* Added optional config that will prevent Actors from replicating if they are not BeginPlay yet.
* Enabled via net.ReplicateOnlyBeginPlay
* The only exception is if a RPC is called on an actor before BeginPlay and opens the ActorChannel
    * When opening the channel to send the RPC, we need to serialize the actor to open the channel correctly.
    * Even if the actor is not begin play we will set up his components for replication and serialize him anyway.
    * Note that sending rpcs this early is not recommened if the BeginPlay on the authority sets replicated variables that the client needs in his BeginPlay too.

# Defaults to true in FortniteGame

#jira UE-160463, FORT-499928
#rb Brian.Bekich

[CL 21500389 by louisphilippe seguin in ue5-main branch]
2022-08-22 21:39:03 -04:00
brian bekich
a1b145ac5b Disabling stat scope in test
#rb trivial

[CL 21467796 by brian bekich in ue5-main branch]
2022-08-19 19:21:53 -04:00
jaime cifuentes
7d1eb971be Inclusive Terminology Push
Replaced "master" with "main" at ReplicationGraph.h/.cpp

#jira UE-158584
#review @thomas.sarkanen
#preflight 62cea5eaf30df2b55bed965f

[CL 21069494 by jaime cifuentes in ue5-main branch]
2022-07-13 07:34:15 -04:00
Peter Engstrom
4aae8d3ed0 Iris experimental replication system.
Initial submit, compiled out by default.

#rb Peter.Engstrom,Mattias.Hornlund,Brian.Bekich,Ryan.Gerleve,John.Barrett
#jira UE-158381
#preflight /62cd6fc7ad490b52da0515a3

[CL 21068370 by Peter Engstrom in ue5-main branch]
2022-07-13 03:11:55 -04:00
Robb Surridge
0a5a02c5b2 Coding standard fixes: gender-inclusive language
#jira UE-156429
#preflight 62b32e826a25ba6ae52f94bd
#rb jason.walter

[CL 20795375 by Robb Surridge in ue5-main branch]
2022-06-23 11:14:07 -04:00
Andrew Davidson
8d844cd4a6 Improve support for an extended WORLD_MAX
#rb various, trivial
#preflight 62a1cb46f73a01bd981b9978

[CL 20573655 by Andrew Davidson in ue5-main branch]
2022-06-09 07:03:13 -04:00
VesCodes
3a6673c062 PR #9212: Fix grid cell node doubling child node actors (Contributed by VesCodes)
#rb trivial
#jira UE-153520

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20524521 via CL 20527269 via CL 20527465
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20529871 by VesCodes in ue5-main branch]
2022-06-06 18:58:10 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
alex koumandarakis
16c6915ad8 Including some more comments and a warning around dependent actors in RepGraph
#jira UE-121818
#rb LouisPhilippe.Seguin
#preflight 628fd96c911f194ea73f2eda

[CL 20384321 by alex koumandarakis in ue5-main branch]
2022-05-26 16:03:43 -04:00
louisphilippe seguin
0a220bb418 ReplicationGraph
* Prevent actors outside the destruction radius but inside the current OutOfRange radius check from being added to the OutOfRange list.
* Instead keep actors in the PendingDestructionList until they get inside the send radius or outside the OutOfRange radius.

#rb Brian.Bekich, Jon.Sourbeer

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20229549 via CL 20229567 via CL 20229593 via CL 20229612
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20231614 by louisphilippe seguin in ue5-main branch]
2022-05-16 16:47:35 -04:00
VesCodes
792559369b PR #9167: Export FStreamingLevelActorListCollection to external modules (Contributed by VesCodes)
#jira UE-151475
#rb trivial

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20182670 via CL 20182677 via CL 20182678
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20185350 by VesCodes in ue5-main branch]
2022-05-13 14:24:50 -04:00
alex koumandarakis
3fdbe21547 Have UNetReplicationGraphConnection::PrepareForReplication check if the connection is in the correct world.
Handle emptying the map name if CurrentMapName == DestinationMapName when no transition map is specified, and remove LastCompletedSeamlessTravelCount == SeamlessTravelCount check from APlayerController::HasClientLoadedCurrentWorld to prevent issues when client finishes travel before the server.

#jira UE-96063
#rb Ryan.Gerleve, LouisPhilippe.Seguin

#ROBOMERGE-AUTHOR: alex.koumandarakis
#ROBOMERGE-SOURCE: CL 19903360 via CL 19904489 via CL 19905622
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19907190 by alex koumandarakis in ue5-main branch]
2022-04-25 15:10:06 -04:00
jason adcock
f7b3c50db2 Improve some memory usage in Networking Code
#rb brian.bekich

#ROBOMERGE-AUTHOR: jason.adcock
#ROBOMERGE-SOURCE: CL 19498421 via CL 19504007 via CL 19504150
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)

[CL 19511197 by jason adcock in ue5-main branch]
2022-03-25 09:12:30 -04:00
louisphilippe seguin
11b6e0e5c9 ReplicationGraph
* Added option to manually disable untracked class reporting
# FN Shipping servers using minimal explicit class tracking now disable the untracked class reporting.

#rb Brian.Bekich

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 19384374 via CL 19384381 via CL 19386057 via CL 19397883 via CL 19397986
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19403145 by louisphilippe seguin in ue5-main branch]
2022-03-16 03:28:51 -04:00