Commit Graph

205 Commits

Author SHA1 Message Date
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
mike beach
cd4927795c Removing superflous error popup, which as a modal dialog blocks the editor (was causing issues when reading .uplugin file in the middle of downloading).
#rb Francis.Hurteau

[CL 22344660 by mike beach in ue5-main branch]
2022-10-04 20:59:34 -04:00
steve robb
b307ff8670 Fix for merge error due to changed AllPlugins container type.
#rb none
#jira UE-165449
#preflight 63357795e410691606b0a055

[CL 22260799 by steve robb in ue5-main branch]
2022-09-29 20:32:58 -04:00
elizabeth baumel
5c94e27b3c Add missing LLM tracking tags. Went from >40000 untagged allocations to about 4400 in QA game. Most of the untagged allocations were CVars. The remaining untracked allocations are largely from dynamic initializers and static/const data.
#rb kenzo.terelst
#jira UE-155266
#jira UE-155196
#preflight 6334ab8eee7b13756dcee727

[CL 22240429 by elizabeth baumel in ue5-main branch]
2022-09-28 22:21:04 -04:00
Dave Belanger
453d3b16dd UE::Core::FVersePath added.
New asset tag added for vpaths, displayed in the content browser.

#rb dave.belanger
#preflight 63330acea4769ad714f8ea2d

[CL 22228539 by Dave Belanger in ue5-main branch]
2022-09-28 15:09:48 -04:00
lauren barnes
eee3023cdd Adding https:// conditions to links in the Plugin Browser
#rb Brooke.Hubert, Joe.Barrett
#jira UE-164340

[CL 22224791 by lauren barnes in ue5-main branch]
2022-09-28 12:28:19 -04:00
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
Martin Sevigny
6cd884301a Fix problem with Platform Extensions that are not calling StartupModule on added modules. Problem reported on UDN.
#jira none
#rb David.Harvey
#preflight none

[CL 21516620 by Martin Sevigny in ue5-main branch]
2022-08-23 15:15:36 -04:00
devin doucette
eb55a547d0 Fixed unsafe type casts in a few widely-used modules
#preflight 62f72b49185b21882ac5c366
#rb Steve.Robb
#rnx

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 21404445 via CL 21404453 via CL 21404464
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21407133 by devin doucette in ue5-main branch]
2022-08-16 12:35:53 -04:00
martin sevigny
2126b5cdec [Backout] - CL21321663
#fyi Martin.Sevigny
Original CL Desc
-----------------------------------------------------------------
Fix problem with Platform Extensions that are not calling StartupModule on added modules. Problem reported on UDN.

#jira none
#rb David.Harvey
#preflight 62f3e6d5bc175ec68c4717d7

[CL 21324333 by martin sevigny in ue5-main branch]
2022-08-10 15:41:44 -04:00
Martin Sevigny
2ddf750a2c Fix problem with Platform Extensions that are not calling StartupModule on added modules. Problem reported on UDN.
#jira none
#rb David.Harvey
#preflight 62f3e6d5bc175ec68c4717d7

[CL 21321663 by Martin Sevigny in ue5-main branch]
2022-08-10 13:22:22 -04:00
henrik karlsson
3d2cb1ce91 [Engine Runtime]
PluginManager - Disabled ini file find caching for all windows configs (not only editor).. this should probably be disabled for everything but since I can't test it easily I will leave that to someone else to change.

This saves ~3 seconds of loading in to some Epic games

#rb Josh Adams
#preflight skipped

#ROBOMERGE-AUTHOR: henrik.karlsson
#ROBOMERGE-SOURCE: CL 21277482 via CL 21292916 via CL 21293206 via CL 21293352
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21296402 by henrik karlsson in ue5-main branch]
2022-08-09 15:44:05 -04:00
mike beach
b8e0e2682c Fixing issues with plugins, where calling RefreshPluginsList() could discard previously enabled versions of a plugin (when there are multiple version of the same plugin).
#rb Tim.Smith, Francis.Hurteau
#preflight 62c63458b47aed4cf12ec0c7

#ROBOMERGE-OWNER: david.hibbitts
#ROBOMERGE-AUTHOR: mike.beach
#ROBOMERGE-SOURCE: CL 20985176 via CL 20990831 via CL 20991137
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21002412 by mike beach in ue5-main branch]
2022-07-08 02:51:02 -04:00
marc audy
cd4b7d3c78 Game user settings fix and rollback of 20905839, which was itself a rollback of 20029182
#rb [at]Josh.Adams
#preflight

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: mic.rooney
#ROBOMERGE-SOURCE: CL 20973575 via CL 20978259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 20980862 by marc audy in ue5-main branch]
2022-07-07 01:55:35 -04:00
mike beach
823cfda241 Making some optimizations to plugin discovery in the plugin manager.
Uses the assumption that there shouldn't be other .uplugin files nested under the top level .uplugin directory (no nested .uplugins).

#rb Tim.Smith
[FYI] Matt.Johnson
#preflight 62be4fbf8d5e67875900323e

#ROBOMERGE-OWNER: david.hibbitts
#ROBOMERGE-AUTHOR: mike.beach
#ROBOMERGE-SOURCE: CL 20947488 via CL 20954138 via CL 20954694
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20956964 by mike beach in ue5-main branch]
2022-07-05 22:35:43 -04:00
mic rooney
f5a58f4e71 Temp backout while Josh is out so that we don't break workflows and he can re-backout/unrevert this when he's back in.
* Contains some selected back outs from other cls that included config context dependent changes, though it's limited to only backing out broken parts as much as possible to minimize surface area.

[Backout] - CL20029182
[FYI] josh.adams
Original CL Desc
-----------------------------------------------------------------
- Adding FConfigContext which is used to repalce LoadExternalIniFile, LoadLocalIniFile, etc, as well as have localized data for all configs read on a thread (like the other platform configs loaded in the editor)
- The Load*IniFile functions will create a Context, but eventually those APIs will go away and the Context will be the only way to load ini files
- Simplified some of the ini loading code, like removing the HierarchyCache (it wasn't helping editor load times, and added much complexity, and was not thread-safe, and it shouldn't actually be helpful because all the calls to Load*IniFile should eventually be replaced with either GConfig or FCOnfigCacheIni::ForPlatform(), which won't need to re-read in files
- Ini reading time actually went down due to the simplification, including Cache removal
- Left in old code for now behing a #define (USE_CONTEXT) in case something goes wrong
- Added in VERIFY_CONTEXT mode which I used to run original and Context modes and compare (including preflighting builds) (I also added a Compare function that we may want to keep around to use for future debugging)
- Added a separate set of config layers for plugins which speeds up plugin parsing, but also will fix the issue with BaseEngine.ini vs DefaultEngine.ini in Engine vs Project plugins (this shows how Contexts can bring useful information down into the guts - however a later change will enable it)
- Once this is all seen to be working, I will clean up the non-Context functions, and some globals vs static members, etc
#rb paul.chipchase
#preflight 62716c1c5e6ce673f452005a


#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 20029165 via CL 20029180 via CL 20905839 via CL 20905880
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20908094 by mic rooney in ue5-main branch]
2022-06-30 20:54:32 -04:00
mike beach
f03de94c79 Fixing misconfigured ensure (which was blocking functionality).
[FYI] Votch.Levi

#ROBOMERGE-OWNER: mike.beach
#ROBOMERGE-AUTHOR: mike.beach
#ROBOMERGE-SOURCE: CL 20846649 via CL 20848564 via CL 20848577
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20849663 by mike beach in ue5-main branch]
2022-06-28 03:10:32 -04:00