Commit Graph

158 Commits

Author SHA1 Message Date
Mike Beach
a2d0fd7f46 Undoing some questionable plugin manager changes, which encouraged "chicken-and-egg" plugin scenarios (a plugin which could introduce more auto-loaded plugins).
Instead, expanding the explicit mounting behavior, providing alternative signatures to MountExplicitlyLoadedPlugin(), encouraging users to use the already established way of dynamically mounting plugins.

#rb francis.hurteau, tim.smith
#preflight 631947d3ab25bb91f54e9ae6

[CL 21897944 by Mike Beach in ue5-main branch]
2022-09-08 13:58:18 -04:00
dave belanger
0887ee1429 IPlugin::GetVersePath
#rb none
#preflight skip

[CL 21512124 by dave belanger in ue5-main branch]
2022-08-23 13:06:38 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
mike beach
633a592bfd Providing a way for external systems to extend the plugin configuration process.
#rb Tim.Smith
#preflight 62ba031e4209c7c579e14e50

#ROBOMERGE-OWNER: mike.beach
#ROBOMERGE-AUTHOR: mike.beach
#ROBOMERGE-SOURCE: CL 20845730 via CL 20847881 via CL 20847947
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20849238 by mike beach in ue5-main branch]
2022-06-28 02:45:09 -04:00
mike beach
3720eebcf6 Adding the ability to supply multiple versions of a named plugin to UE (defaulting to the latest), along with the ability to reference a specific version.
#rb Francis.Hurteau, Tim.Smith
[FYI] Francis.Hurteau, Tim.Smith, matt.johnson, votch.levi
#preflight 62acf450d35e30c5cf2e0a54

#ROBOMERGE-OWNER: mike.beach
#ROBOMERGE-AUTHOR: mike.beach
#ROBOMERGE-SOURCE: CL 20739405 via CL 20742266 via CL 20762166
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20764079 by mike beach in ue5-main branch]
2022-06-21 15:52:51 -04:00
andrew scheidecker
1218625098 Changed boolean property bVersePublicApi on Build.cs and uplugin files to an enum named VerseScope with three states InternalAPI, PublicAPI and User.
Submitting on behalf of Markus.Breyer.

#rnx
#rb Markus.Breyer, Graeme.Thornton, Eric.Knapik
#preflight 62a74175af7ad033effb81ad

#ROBOMERGE-OWNER: andrew.scheidecker
#ROBOMERGE-AUTHOR: andrew.scheidecker
#ROBOMERGE-SOURCE: CL 20629231 via CL 20629334 via CL 20629474 via CL 20629523
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20636288 by andrew scheidecker in ue5-main branch]
2022-06-13 18:37:53 -04:00
markus breyer
45f42535a5 Added new properties to Build.cs and uplugin files to support Verse public API
- new property bVersePublicApi in Build.cs files that is set to expose the associated Verse code to public users
- new property "VersePublicApi" in uplugin files that is set to expose the associated Verse code to public users

#rb andrew.scheidecker, conan.reis
#rnx
#preflight 628c579c3b67edca7a615f57
#preflight 628fe09bf622d972b5f58a6e

#ROBOMERGE-OWNER: markus.breyer
#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 20386247 via CL 20386248 via CL 20386313 via CL 20386316
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20387729 by markus breyer in ue5-main branch]
2022-05-26 19:24:39 -04:00
dave belanger
ce03b17767 Module name to plugin lookup table in plugin manager
#rb Bob.Tellez
#preflight 6283e3264316db80d19e3b85

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 20261041 via CL 20261054 via CL 20261065 via CL 20261072
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20263090 by dave belanger in ue5-main branch]
2022-05-18 12:58:18 -04:00
dave belanger
c7522dfbad FProjectDescriptor::HasModule to quickly test whether a given module is a project module (editor only)
#rb Bob.Tellez
#preflight 62829370734d06577038e5ee

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 20242585 via CL 20242697 via CL 20242711 via CL 20242726
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20244342 by dave belanger in ue5-main branch]
2022-05-17 11:44:01 -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
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
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
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
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
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
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
michael noland
3fc679217d Fixed some typos in the comment for bHasExplicitPlatforms
#rnx

#ROBOMERGE-SOURCE: CL 16752201 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16752206 by michael noland in ue5-release-engine-test branch]
2021-06-22 20:36:48 -04:00
aurel cordonnier
02c0f425e8 Copy up from Release-Engine-Staging @ 16738359
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719

[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
David Harvey
e581358a11 Add HasExplicitPlatforms property to uplugin definitions, allowing the SupportedTargetPlatforms and WhitelistPlatforms fields to be entirely defined in child plugins. The existing functionality means that an empty platform list implies "all platforms".
#jira UECON-417
#rb ben.marsh

[CL 16531379 by David Harvey in ue5-main branch]
2021-06-02 04:27:26 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
michael noland
57beb168bf Added an event for when plugins are edited and fixed some comments in IPluginManager.h
[CODEREVIEW] lauren.barnes
#jira UE-107640

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

[CL 15871783 by michael noland in ue5-main branch]
2021-03-31 01:35:03 -04:00
michael noland
d8c9dfb121 Plugin editing refactors, game feature UX improvements
- Added a new plugin key BuiltInInitialFeatureState for game feature plugins to replace the three separate booleans (the old bools are still supported if this key is missing)
- Added a link from the game feature data editor to get to the plugin editor for the associated plugin
- Added display of initial plugin state to the game feature data editor
- Added a so-so mechanism to extend the plugin descriptor editor from other plugins
- Used this to allow editing the initial state for game feature plugins

#jira UE-107640
#jira UE-107643

#ROBOMERGE-OWNER: michael.noland
#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 15550116 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
#ROBOMERGE-CONFLICT from-shelf

[CL 15550178 by michael noland in ue5-main branch]
2021-02-27 03:58:53 -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