Fix for [Link Removed] sets the RuleAssembly in the Marketplace plugin to ReadOnly. This has prevented the plugin binaries from being compiled.
Change the readonly flag as shown in the following code, UBT can compile the market plugin.
private static RulesAssembly CreateMarketplaceRulesAssembly(IReadOnlyList<PluginInfo> Plugins, bool bSkipCompile, bool bForceCompile, RulesAssembly Parent) { RulesScope MarketplaceScope = new RulesScope("Marketplace", Parent.Scope); // Add all the plugin modules too (don't need to loop over RootDirectories since the plugins come in already found Dictionary<FileReference, ModuleRulesContext> ModuleFileToContext = new Dictionary<FileReference, ModuleRulesContext>(); using (GlobalTracer.Instance.BuildSpan("Finding marketplace plugin modules").StartActive()) { ModuleRulesContext PluginsModuleContext = new ModuleRulesContext(MarketplaceScope, Unreal.EngineDirectory); FindModuleRulesForPlugins(Plugins, PluginsModuleContext, ModuleFileToContext); } // Create the assembly RulesAssembly Result = Parent; if (ModuleFileToContext.Count > 0) { FileReference AssemblyFileName = FileReference.Combine(UnrealBuildTool.WritableEngineDirectory, "Intermediate", "Build", "BuildRules", "MarketplaceRules.dll"); // Result = new RulesAssembly(MarketplaceScope, new List<DirectoryReference> { DirectoryReference.Combine(Unreal.EngineDirectory, "Plugins", "Marketplace") }, Plugins, ModuleFileToContext, new List<FileReference>(), AssemblyFileName, bContainsEngineModules: true, DefaultBuildSettings: BuildSettingsVersion.Latest, bReadOnly: true, bSkipCompile: bSkipCompile, bForceCompile: bForceCompile, Parent: Parent); Result = new RulesAssembly(MarketplaceScope, new List<DirectoryReference> { DirectoryReference.Combine(Unreal.EngineDirectory, "Plugins", "Marketplace") }, Plugins, ModuleFileToContext, new List<FileReference>(), AssemblyFileName, bContainsEngineModules: true, DefaultBuildSettings: BuildSettingsVersion.Latest, bReadOnly: false, bSkipCompile: bSkipCompile, bForceCompile: bForceCompile, Parent: Parent); } return Result; }
Compilation succeeds, but the binary is not compiled and fails to launch the editor.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-152647 in the post.
0 |
Component | UE - Foundation - Cpp Tools - UnrealBuildTool |
---|---|
Affects Versions | 5.0, 5.0.1 |
Target Fix | 5.1 |
Created | May 17, 2022 |
---|---|
Resolved | Jun 8, 2022 |
Updated | Jul 11, 2022 |