using UnrealBuildTool; public class TheDescent : ModuleRules { public TheDescent(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; // Sources live in feature folders directly under the module (Core/, Debug/, Vehicles/), not in // Public/ and Private/, so includes are written relative to the module root: "Debug/Foo.h". PublicIncludePaths.Add(ModuleDirectory); // ---- Core and harness (all dependencies of DESIGN_UE.md section 1.1 are declared here, up front) ---- PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "AnimationCore", // AnimationCore: SolveTwoBoneIK (the body's jack-in reach) "Json", // state snapshots (Debug/DescentStateRegistry) "ProceduralMeshComponent", // terrain chunks, carrier blockout (plugin enabled in TheDescent.uproject) "PhysicsCore", // collision shapes and queries "Slate", "SlateCore", "UMG", // neumorphic UI, world-space dashboards }); PrivateDependencyModuleNames.AddRange(new string[] { "RenderCore", // shader / async-compile queries before a screenshot "ImageCore", // FImage: reading a screenshot back for Descent.ShotRegion }); // ---- Per-track blocks --------------------------------------------------------------------------------- // Parallel tracks are merged with a three-way file merge. A module a track needs goes into ITS OWN block // below (one name per line), never into the lists above, so two tracks never edit the same lines. // Track: world, terrain and look (M1) PrivateDependencyModuleNames.AddRange(new string[] { "RHI", // draw-call and thread-time counters for the R1 measurements (Debug/Scenarios_M1.cpp) }); // Track: carrier interior and walking player (M2) PrivateDependencyModuleNames.AddRange(new string[] { }); // Track: UI kit and HUD PrivateDependencyModuleNames.AddRange(new string[] { }); // ---- Packaging (Tools/package.ps1) ---------------------------------------------------------------------- // Files the game reads from disk at runtime. A packaged game carries only the .ini files of Config/ by itself, // so each such file is staged here (UFS: inside the .pak, at the same relative path, so FPaths code still works). RuntimeDependencies.Add("$(ProjectDir)/Config/DescentBody.json", StagedFileType.UFS); // Player/Body/DescentBodyProfile.cpp } }