ITelemetrySink with the null, log and JSON Lines sinks, FTelemetryEvent and the envelope, TelemetryEvents, UTelemetrySubsystem on the game instance, ASaltyGameMode minting the session id into the replicated ASaltyGameState, bs.TelemetryTest, the git hash in the build string (D-42) and four Salty.Core.Telemetry tests replacing the placeholder. Proved standalone and with a headless server plus client sharing one session id. Also enables the engine's Editor, AutomationTest, GameplayTags, ConfigSettings and LiveCoding MCP toolsets (D-43) so the editor's MCP server exposes more than the skills toolset. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
26 lines
876 B
C#
26 lines
876 B
C#
using UnrealBuildTool;
|
|
|
|
// Rules, data types, tags and the telemetry contract. Knows no AActor and no UWorld; if something here seems to
|
|
// need one, the thing it needs is data (Docs/Spec/Architecture.md, Modules).
|
|
public class SaltyCore : ModuleRules
|
|
{
|
|
public SaltyCore(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
|
|
|
PublicDependencyModuleNames.AddRange(new string[] {
|
|
"Core",
|
|
"CoreUObject",
|
|
"Engine", // UPrimaryDataAsset, FGameplayTag
|
|
"GameplayTags",
|
|
"GameplayAbilities", // FGameplayAttribute in the damage maths
|
|
"Json" // the telemetry payload and the JSON Lines sink
|
|
});
|
|
|
|
PrivateDependencyModuleNames.AddRange(new string[] { });
|
|
|
|
// Includes are rooted at the module: "Tags/NativeTags.h", "Telemetry/TelemetryEvent.h".
|
|
PublicIncludePaths.Add(ModuleDirectory);
|
|
}
|
|
}
|