Commit Graph

353 Commits

Author SHA1 Message Date
will brown
e3eb3cb0c2 Added a new 'Sealed' plugin concept that can prevent other plugins from depending on a plugin
#rb Eric.Knapik
#preflight 64505989401d328ad9dc87ba

[CL 25344544 by will brown in ue5-main branch]
2023-05-04 18:35:32 -04:00
eric knapik
27ddbbdbde #jira: UE-177511
Make UEFN a modular build
Move UEFNEngine.ini under the UEFN plugin so it correctly is loaded

[REVIEW] [at]Chris.Varnsverry, [at]Henrik.Karlsson, [at]Josh.Adams
#preflight 644aeb72b208f61af8395b09
#preflight 644b517b9c50ddcc0b171ca8

[CL 25309650 by eric knapik in ue5-main branch]
2023-05-02 18:25:37 -04:00
jamie dale
933348f856 Use the FMessageDialog overloads that pass the optional title by-value
#jira
#rb none
#rnx

[CL 25062589 by jamie dale in ue5-main branch]
2023-04-15 19:49:32 -04:00
joe pribele
c0934ad88c code cleanup removed uncessessary declspec on interface functions
https://p4-swarm.epicgames.net/reviews/24920073

#rb zousar.shaker
#preflight 642da16ece01db47accbdbea

[CL 24930644 by joe pribele in ue5-main branch]
2023-04-05 12:41:25 -04:00
joe pribele
3d7a186de2 code cleanup removed PRAGMA_DISABLE_DEPRECATION_WARNINGS
https://p4-swarm.epicgames.net/reviews/24920073

#rb zousar.shaker
#preflight 642ca71bf376ab43d298742c

[CL 24920325 by joe pribele in ue5-main branch]
2023-04-04 18:53:39 -04:00
dave dixon
124480d2c4 Expose finding a plugin via the plugin descritptor. This allows you to find a particular version of a plugin.
#rb mike.beach francis.hurteau joe.pribele
#preflight 640157331d304a5471822b2b

[CL 24495590 by dave dixon in ue5-main branch]
2023-03-03 00:44:20 -05:00
jeff fisher
bb31c00d86 UE-177919 Quick Launch fails when CoTF is enabled due to plugin failing to load modules
-Reverting one part of the change to fix cook on the fly with plugin extensions that add supported target platforms.  The fact that the reference platform list is often empty, and that empty list = all platforms meant this was letting through incorrect plugins in some cases.  Further testing revealed that while the platform extension plugin is rejected here by the previous code it is picked up later on in cook-on-the-fly.
#jira UE-177919
[REVIEW]
#rb christopher.fiala
#preflight 63f7c4f7b879197e73e30c3a

[CL 24389879 by jeff fisher in ue5-main branch]
2023-02-23 16:38:07 -05:00
dave belanger
a492304ada Expose method to recursively search uplugin files under a specified directory (optimized with parallel directory search and with the assumption that once a uplugin file is found in a specific folder, there cannot be anymore in the same folder hierarchy)
#rb Rex.Hill
#preflight skip

[CL 24224974 by dave belanger in ue5-main branch]
2023-02-14 20:26:15 -05:00
jeff fisher
eee97ca799 UE-176366 CookOnTheFly does not apply PluginExtensions.
-First problem: we were filtering out plugins based on the FPlugin, rather than the FPluginReference.  This meant that the platform extension platforms were not in the supported list.  Needed to use the FPluginReference in that one spot.
-Second problem: platform extension .uplugin files were not added to the file list for the NetworkFileServer because we find Plugins separately specifically looking for the basedir of each plugin.  In order to find these files I am caching the basedir of each child plugin in the FPlugin when we merge the children into it.  NetworkFileServer can then find these directores, examine them to see if they are not for the targeted platform, and make them available to the client.
#jira UE-176366 UE-137717
#rb Josh.Adams  Robert.Srinivasah
#preflight 63e2ce87cf24c08f2cb0e080

[CL 24074814 by jeff fisher in ue5-main branch]
2023-02-08 12:13:29 -05:00
joe pribele
f5b4ec5fca changed PluginManager logging to Display for when the same plugin is prioritized over another
#jira https://jira.it.epicgames.com/browse/UE-157144
https://p4-swarm.epicgames.net/reviews/23997521

#rb zousar.shaker
#preflight 63dd7e9b1b44ee7cb184c0ed

[CL 23998269 by joe pribele in ue5-main branch]
2023-02-03 16:55:44 -05:00
jamie dale
8cb2b15380 Don't trigger plugin module loading when querying which plugins have localization data
GetLocalizationPathsForEnabledPlugins will now avoid loading any plugin modules (from its previous call to ConfigureEnabledPlugins), and any plugins that become enabled between GetLocalizationPathsForEnabledPlugins calls will explicitly notify that their localization data is available (as already happens for explicitly loaded plugins).

#preflight 63da96dc7a39a18021762488
#rb Robert.Manuszewski, Rex.Hill
#rnx

[CL 23961030 by jamie dale in ue5-main branch]
2023-02-01 19:26:45 -05:00
david hibbitts
bc4371efef Added a function to the PluginManager to get dependencies for a given FPluginReferenceDescriptor
[CL 23922320 by david hibbitts in ue5-main branch]
2023-01-31 00:53:41 -05:00
jamie dale
67270eb0f6 Implemented async loading of localization data, and extended dynamic loading to handle explicitly loaded plugins
This change takes the existing async loading that was added for game localization data in CL# 14661627 and expands it to cover all localization data. Async localization tasks are chained together as dependencies to preserve the existing order of operations (plus going wide doesn't help due to contention on the live-table), and can be waited on at any point (eg, after a loading screen) by calling FTextLocalizationManager::WaitForAsyncTasks (though the engine init flow takes care of waiting for you unless you're loading additional plugin/chunked localization data).

This change takes the existing support for dynamically loading chunked localization data on PAK chunk load, and extends it to support dynamically loading any additional localization data. This is used by the engine to support dynamically loading the localization targets associated with explicitly loaded plugins. These loads are all async, so must be waited on if you need them to block.

Note: BeginInitGameTextLocalization and EndInitGameTextLocalization have been removed as part of this change. You would now just use InitGameTextLocalization (which is async) followed by FTextLocalizationManager::WaitForAsyncTasks.

#preflight 63d28b12a2003ee58af50146
#rb Leon.Huang, Rex.Hill

[CL 23888558 by jamie dale in ue5-main branch]
2023-01-27 14:20:09 -05:00
markus breyer
134c25d0ba New plugin descriptor field "EnableVerseAssetReflection"
#rb andrew.scheidecker
#rnx
#preflight 639b7b1b680483bcb1d7bfe3

[CL 23535308 by markus breyer in ue5-main branch]
2022-12-15 20:49:06 -05:00
jason walter
fdf5a3e46d Add support for environment variables for Virtual Production customers using Unreal in film pipelines.
#rb Joe.Pribele
#jira UE-171212
#preflight 6390b9940d013d47ef28e4c8

#ushell-cherrypick of 23432102 by swarm

[CL 23482994 by jason walter in ue5-main branch]
2022-12-12 16:25:34 -05:00
pj kack
8ac046feca Add trace scopes related to GameFeaturePlugins
#rb carlmagnus.nordin
#rnx
#preflight 637f64be18176c67c2f734da

[CL 23259392 by pj kack in ue5-main branch]
2022-11-24 10:07:58 -05:00
mike beach
fedbefa6b4 Found another place where we're conflating enabled with mounted (for explicitly-loaded plugins, enabled does not equate to mounted).
When refershing the plugins list, we start by clearing unused plugin enteries. This change does this for unmounted (explicitly-loaded) plugins too.

#rb tim.smith
#preflight 6371e1ca232e3d12cb4752c5

[CL 23120194 by mike beach in ue5-main branch]
2022-11-14 12:09:25 -05:00
justin marcus
1dab6a3c2f Fix TArray::CheckAddress() error when removing plugin from array. This was caused by the reference to the plugin shared pointer pointing into the array of plugins.
Fix empty plugin list not being removed from the map.
[REVIEW] [at]Francis.Herteau [at]Mike.Beach
#preflight 636ebee20c74adb48b6e567e

[CL 23108139 by justin marcus in ue5-main branch]
2022-11-11 19:34:38 -05:00
justin marcus
c87ebcbdc7 Fix whitespace
#preflight

[CL 23105238 by justin marcus in ue5-main branch]
2022-11-11 16:19:22 -05:00
mike beach
d0fffd98bb CIS fixes.
[CL 22908405 by mike beach in ue5-main branch]
2022-11-02 06:20:54 -04:00
mike beach
2e98203839 Adding some slow task wrappers around IO tasks which can take a long while (especially when you scale how many plugins your project has).
#rb Francis.Hurteau

[CL 22901597 by mike beach in ue5-main branch]
2022-11-01 23:34:27 -04:00
Josh Adams
bcd85bdef6 Disabled prescanning of ini files for plugins on desktop platforms - it may end up very slowly scanning Saved/Cooked.
#rb tim.smith
#preflight 6356a0029e14ee3c795189e9

[CL 22727242 by Josh Adams in ue5-main branch]
2022-10-24 10:39:09 -04:00
carlmagnus nordin
2b1c25c510 If a plugin contains a shader code library make sure to close it when unmounting the plugin
#preflight 6350ed84b13bfb29eb372a3b
#rb arciel.rekman

[CL 22651680 by carlmagnus nordin in ue5-main branch]
2022-10-20 04:48:12 -04:00
mike beach
3ab01d952f Using 'bEnabled' is not enough to introspect an 'ExplicitlyLoaded' plugin's state. 'ExplicitlyLoaded' plugins can be set enabled in the same (user driven) traditional ways, but not mounted till much later (if ever). Adding an 'IsMounted' state to make the distinction, and fixing a bug preventing 'ExplicitlyLoaded' plugins from being blocked from mounting.
#rb Francis.Hurteau

[CL 22551855 by mike beach in ue5-main branch]
2022-10-16 02:26:01 -04:00
Jerome Delattre
77b2e6e848 Always log an error when a plugin fails to load.
#jira none
#preflight 633f38ecb20780acc1b3da78
#rnx
#rb Mike.Beach

[CL 22383369 by Jerome Delattre in ue5-main branch]
2022-10-06 16:41:34 -04:00