Commit Graph

297 Commits

Author SHA1 Message Date
Josh Adams
2023137e20 - Changed Plugins to use an FConfigContext, uising the FConfigContext::ReadPluginFile() factory, this dramatically reduces the number of files to scan, solves the BaseFoo.ini vs DefaultFoo.ini issue for Engine vs Project plugins
- Moved the IniCacheSet into the FConfigContext, and out of FConfigCacheIni. We could possibly get rid of it now entirely with the reduced number of paths we look for (and the fact that plugin scanning will be multithreaded soon)
- Removed the TRUEENGINE workaround now that Plugins are using a context to load the file, this makes the workaround unnecessary since plugins don't fake the EngineConfigDir
#rb jon.nabozny
#preflight 627959cf242446ce6c637258
#jira UE-151373,UE-151376

[CL 20108089 by Josh Adams in ue5-main branch]
2022-05-09 14:58:59 -04:00
justin marcus
bd2ccb7448 Fix typos and remove check for bExplicitlyLoaded. Its ok to add a plugin to the list that doesn't have bExplicitlyLoaded.
#preflight
[REVIEW] [at]Paul.Chipchase

#ROBOMERGE-AUTHOR: justin.marcus
#ROBOMERGE-SOURCE: CL 19849467 via CL 19850987 via CL 19861218 via CL 19861299
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19870849 by justin marcus in ue5-main branch]
2022-04-22 15:49:30 -04:00
justin marcus
0d3a391ab0 Game Feature Plugins get removed from plugin manager in FGameFeaturePluginState_Unmounting if they had to be added to the plugin manager list by FGameFeaturePluginState_Mounting.
[REVIEW] [at]Bob.Tellez [at]Michael.Noland
#preflight 625f0ce93e0f6f80adbd76bb

#ROBOMERGE-AUTHOR: justin.marcus
#ROBOMERGE-SOURCE: CL 19818572 via CL 19821467 via CL 19822259 via CL 19822532
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19827859 by justin marcus in ue5-main branch]
2022-04-20 08:20:37 -04:00
dave belanger
cb92e5be1e Add IPluginManager::GetBuiltInPluginNames
#rb Rex.Hill
#preflight 625ec2b3804460ab0f0556a8

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 19808196 via CL 19814134 via CL 19818198 via CL 19819296
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19821677 by dave belanger in ue5-main branch]
2022-04-19 19:20:34 -04:00
dave belanger
3f2387f8c2 Add editor-only CachedJson and AdditionalFieldsToWrite to FPluginReferenceDescriptor similar to what we have in FPluginDescriptor
#rb Rex.Hill
#preflight 624ded4d8d1db441a92569f6

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 19655523 via CL 19656850 via CL 19657328 via CL 19657413
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19665916 by dave belanger in ue5-main branch]
2022-04-07 04:38:22 -04:00
rex hill
b3a78942e8 Show dialog and block plugins from overriding specific config ini files.
Config files are marked NoSave when plugin overrides them.
NoSave prevents issues with plugins leaving stale data around in config if turned off later.

#preflight 6238f556ec68595f3b7cac21
#rb dave.belanger

#ROBOMERGE-OWNER: rex.hill
#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 19481929 via CL 19487176 via CL 19497560 via CL 19497573
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)

[CL 19498734 by rex hill in ue5-main branch]
2022-03-24 13:40:43 -04:00
paul chipchase
5f57376867 Allow stand-alone programs to opt out of plugin discoverability
#rb PJ.Kack
#rnx
#preflight 6239f155ca34ffd7bf6c5f8d
#robomerge FNNC

- By setting "UE_DISABLE_PLUGIN_DISCOVERY=1" in its target.cs a stand-alone program can avoid the cost of iterating over all plugins but still load and enable specific plugins that it knows it needs.
- In the future we could make this data driven by allowing a program to supply something similar to the .upluginmanifest file.

[CL 19479783 by paul chipchase in ue5-main branch]
2022-03-23 11:17:34 -04:00
steve robb
87fb605867 TCHAR array init fixes for UTF-8 mode.
#rb devin.doucette
#preflight 6231e536e2541b4ff3af6cd2

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19405353 via CL 19408955 via CL 19419621 via CL 19419706
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19420584 by steve robb in ue5-main branch]
2022-03-17 10:29:53 -04:00
markus breyer
83a1800927 Introduced new property "VersePath" in plugin descriptor and module rules
#rb jonathan.adamczewski, tim.tillotson
#rnx
#preflight 6216ef19104496cff8ae5564

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 19224088 via CL 19227926 via CL 19237742 via CL 19237888 via CL 19238470
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19239355 by markus breyer in ue5-main branch]
2022-03-03 01:26:50 -05:00
steve robb
288f3de432 Fixes for the implicit conversion of ints and chars to TCHARs in UTF-8 mode.
#rb trivial
#preflight 621ed0b4e15c51d8c5e5d081

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 19219816 via CL 19220283 via CL 19220288 via CL 19223679
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19227684 by steve robb in ue5-main branch]
2022-03-02 15:30:50 -05:00
jon nabozny
964ab35c71 Fix editor loadtime regression from scanning for INIs.
This code path was intended primarily for Cooked / Packaged builds, where precaching all the INI files available in cooked files gave a significant reduction in startup times.
However, for editor builds, this actually causes significantly higher startup times (20s longer, or more).

#jira UE-143919
#preflight 62194531f014007cf8c76dee
#rb Josh.Adams
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 19157899 in //UE5/Release-5.0/... via CL 19159862
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19161503 by jon nabozny in ue5-main branch]
2022-02-25 19:48:04 -05:00
charles bloom
fe2422a1b8 Mark up some more ParallelFors with names for Insights
behavior nop

#rb none
#preflight none

[CL 18997443 by charles bloom in ue5-main branch]
2022-02-15 11:40:35 -05:00
markus breyer
1bd46f673d Do not write the CanContainVerse property for plugin descriptors when it is false
#jira UE-142055
#rb none
#rnx
#preflight none

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 18948778 via CL 18949187 via CL 18949188 via CL 18949190 via CL 18952897 via CL 18953142
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18953161 by markus breyer in ue5-main branch]
2022-02-11 11:15:33 -05:00
robb surridge
04588085d2 Fix broken links to documentation in header and source files.
#jira none
#rb trivial
#preflight 61f0445dff453b751b38959f

#ROBOMERGE-AUTHOR: robb.surridge
#ROBOMERGE-SOURCE: CL 18726086 in //UE5/Release-5.0/... via CL 18726097 via CL 18726340
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18726365 by robb surridge in ue5-main branch]
2022-01-25 14:22:58 -05:00
marc audy
6553e6cd0a Remove as much C++ deprecation as possible up to 4.17 (along with a few scattered removals from beyond)
#preflight 61eefc77ba69a4fdb220bf23

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18713191 by marc audy in ue5-main branch]
2022-01-24 15:07:48 -05:00
sebastian thomeczek
d1988ad35d Added additional verbose logging for diagnosing plugin detection and asset registry scanning at runtime
- Added expected parameters to console command hints for asset registry

#rb Matt.Peters
#jira none
#preflight 61dd9e454035ec38f8bab679

#ROBOMERGE-AUTHOR: sebastian.thomeczek
#ROBOMERGE-SOURCE: CL 18572335 in //UE5/Release-5.0/... via CL 18572349
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18572365 by sebastian thomeczek in ue5-release-engine-test branch]
2022-01-11 10:44:13 -05:00
markus breyer
552c60dbed New "CanContainVerse" plugin descriptor property
- allows to specifically filter plugins at runtime
- added checks in UBT that point out the incorrect presence/absence of the property

#rb ben.marsh
#rnx
#preflight 61d4cb0a1a3fd09dcbca448b

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 18522294 via CL 18524374 via CL 18524427 via CL 18524451 via CL 18524982 via CL 18525003
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18525031 by markus breyer in ue5-release-engine-test branch]
2022-01-05 16:56:50 -05:00
markus breyer
49486fa877 Fixed crash during cook on a relative path
#rb rex.hill
#rnx
#preflight 61d4cb62af44b43628fd359b

#ROBOMERGE-OWNER: markus.breyer
#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 18519873 via CL 18521661 via CL 18522201 via CL 18522209 via CL 18522686 via CL 18522729
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18522773 by markus breyer in ue5-release-engine-test branch]
2022-01-05 14:18:23 -05:00
dave belanger
e59338fcbb Add PluginUtils::FindLoadedPlugin
PluginUtils::LoadPlugin improvements and API cleanup:
- Add SynchronousAssetsScan and OutAlreadyLoaded params
- Make all loading options false by default (caller opts-in on whatever it wants instead of opting out on some)
- Put OutFailReason in the loading param struct
- Deprecate MountPlugin API and rename it LoadPlugin to mirror UnloadPlugin terminology
#rb Rex.Hill
#preflight 61a8fc58e8314ee7b598f55d

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 18358835 via CL 18364441 via CL 18364493 via CL 18364530 via CL 18434167 via CL 18435484
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18436249 by dave belanger in ue5-release-engine-test branch]
2021-12-10 18:33:00 -05:00
guillaume abadie
0991e33a50 Works arround 3min long iteration time regression on -run=CookGlobalShaders -platform=Windows -stage -SkipAssetScan
Change 17815600 causes to skan the project's asset directory early at launch of the editor

#rb none
#lockdown Andrew.Firth
#preflight 616ad7a46320900001ead891
[FYI] Jon.Nabozny, Jeff.Farris, Josh.Adams, Andrew.Firth

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 17838403 via CL 18003457 via CL 18369460 via CL 18369543
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18369592 by guillaume abadie in ue5-release-engine-test branch]
2021-12-03 12:53:54 -05:00
jon nabozny
592f856ae7 Precache a list of all available INI files for the project when mounting plugins.
This reduces the number of system calls to determine if INI files exist, which significantly reduces mounting time for plugins.

[at]Jeff.Farris [at]Josh.Adams [at]Andrew.Firth
#changelist validated
#lockdown Andrew.Firth
#preflight 616706112faeee0001473067

#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 17815600 via CL 18002064 via CL 18368473 via CL 18368562
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18368613 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 10:24:09 -05:00
dave belanger
6e78472a95 Don't change the plugin search path when mouting a plugin with an explicit uplugin file name (unless it's requested to update the search path of the project)
This removes a costly RefreshPluginList call and prevents poluting the plugin manager with plugins we want to forget about once they are unloaded
#rb Rex.Hill
#preflight 61a544252e4ffe1898215b2a

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 18320157 via CL 18322152 via CL 18323414 via CL 18323506 via CL 18323895 via CL 18323955
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18323983 by dave belanger in ue5-release-engine-test branch]
2021-11-30 09:00:22 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
ben zeigler
47ae005a33 Fix game feature issue with previous checkin, the game feature code was still looking for the old plugin location so it would end up writing out a corrupted partial ini to the saved folder
Remove code that was stripping Base and Engine as it could have other similar side effects in out of date config code
This code might need further updates for UE5, the only reason it worked before was because it was depending on the fact that Find would create a nonsaveable config file when passed a bad key
[CODEREVIEW] michael.noland
#rb none

#ROBOMERGE-SOURCE: CL 16962667 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16962687 by ben zeigler in ue5-release-engine-test branch]
2021-07-26 19:32:35 -04:00