Step 1: the Salty project, two modules, tests and the gym

Salty.uproject (UE 5.8) from the Third Person template with class redirects, the SaltyCore and Salty modules,
the three build targets, USaltyAssetManager calling InitGlobalData, Config/Tags with the 23 root namespaces,
Scripts/run-tests.sh, build.sh and Authoring/create_gym.py, L_Gym, Git LFS attributes and the placeholder test.
Template variants kept as reference (D-41). The four Fab packs stay out of the repository for now (~10 GB).
The editor serves the engine MCP plugin on 127.0.0.1:8000 through DefaultEditorPerProjectUserSettings.ini.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Rainer Leit
2026-09-16 20:10:43 +03:00
co-authored by Claude Fable 5.1
parent 0e61a77346
commit 4f2c55cd2a
1434 changed files with 11358 additions and 27 deletions
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
[ContentBrowser]
ContentBrowserTab1.SelectedPaths=/Game/ThirdPersonCPP
; The engine's experimental MCP plugin serves http://127.0.0.1:8000/mcp from inside the editor; .mcp.json points
; Claude Code at it. Without auto-start nothing listens and the client reports a refused connection.
[/Script/ModelContextProtocolEngine.ModelContextProtocolSettings]
bAutoStartServer=True
ServerPortNumber=8000
ServerUrlPath=/mcp
+102
View File
@@ -0,0 +1,102 @@
[/Script/EngineSettings.GameMapsSettings]
GameDefaultMap=/Game/Maps/L_Gym.L_Gym
EditorStartupMap=/Game/Maps/L_Gym.L_Gym
GlobalDefaultGameMode=/Game/ThirdPerson/Blueprints/BP_ThirdPersonGameMode.BP_ThirdPersonGameMode_C
bOffsetPlayerGamepadIds=False
[/Script/Engine.RendererSettings]
r.ReflectionMethod=1
r.GenerateMeshDistanceFields=True
r.DynamicGlobalIlluminationMethod=1
r.Lumen.TraceMeshSDFs=0
r.Shadow.Virtual.Enable=1
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=true
r.AllowStaticLighting=False
r.SkinCache.CompileShaders=True
r.RayTracing=True
r.RayTracing.RayTracingProxies.ProjectEnabled=True
r.Substrate=True
r.Substrate.ProjectGBufferFormat=0
r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8
r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
-D3D12TargetedShaderFormats=PCD3D_SM5
+D3D12TargetedShaderFormats=PCD3D_SM6
-D3D11TargetedShaderFormats=PCD3D_SM5
+D3D11TargetedShaderFormats=PCD3D_SM5
Compiler=Default
AudioSampleRate=48000
AudioCallbackBufferFrameSize=1024
AudioNumBuffersToEnqueue=1
AudioMaxChannels=0
AudioNumSourceWorkers=4
SpatializationPlugin=
SourceDataOverridePlugin=
ReverbPlugin=
OcclusionPlugin=
CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0)
CacheSizeKB=65536
MaxChunkSizeOverrideKB=0
bResampleForDevice=False
MaxSampleRate=48000.000000
HighSampleRate=32000.000000
MedSampleRate=24000.000000
LowSampleRate=12000.000000
MinSampleRate=8000.000000
CompressionQualityModifier=1.000000
AutoStreamingThreshold=0.000000
SoundCueCookQualityIndex=-1
[/Script/LinuxTargetPlatform.LinuxTargetSettings]
-TargetedRHIs=SF_VULKAN_SM5
+TargetedRHIs=SF_VULKAN_SM6
[/Script/MacTargetPlatform.MacTargetSettings]
-TargetedRHIs=SF_METAL_SM5
+TargetedRHIs=SF_METAL_SM6
[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Maximum
AppliedDefaultGraphicsPerformance=Maximum
[/Script/Engine.Engine]
AssetManagerClassName=/Script/Salty.SaltyAssetManager
; Template redirects, chained: the template's TP_ThirdPerson names became ProjectSomething, which became Salty.
+ActiveGameNameRedirects=(OldGameName="TP_ThirdPerson",NewGameName="/Script/Salty")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_ThirdPerson",NewGameName="/Script/Salty")
+ActiveGameNameRedirects=(OldGameName="ProjectSomething",NewGameName="/Script/Salty")
+ActiveGameNameRedirects=(OldGameName="/Script/ProjectSomething",NewGameName="/Script/Salty")
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonPlayerController",NewClassName="TemplatePlayerController")
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonGameMode",NewClassName="TemplateGameMode")
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonCharacter",NewClassName="TemplateCharacter")
+ActiveClassRedirects=(OldClassName="ProjectSomethingPlayerController",NewClassName="TemplatePlayerController")
+ActiveClassRedirects=(OldClassName="ProjectSomethingGameMode",NewClassName="TemplateGameMode")
+ActiveClassRedirects=(OldClassName="ProjectSomethingCharacter",NewClassName="TemplateCharacter")
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
SecurityToken=497A87974CF0126F6E4A59B18C9309B8
bIncludeInShipping=False
bAllowExternalStartInShipping=False
bCompileAFSProject=False
bUseCompression=False
bLogFiles=False
bReportStats=False
ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=
+13
View File
@@ -0,0 +1,13 @@
[/Script/EngineSettings.GeneralProjectSettings]
ProjectID=68D4595C46A43E9D6CFD028658D9F9E9
ProjectName=Salty
[ConsoleVariables]
CommonUI.CheckKeyboardFocusAndParentage=1
CommonUI.DisallowUserFocusedWidgetForPendingFocusRecipient=1
CommonUI.FallbackToDesiredOnAutoRestoreFailure=1
[/Script/GameplayAbilities.AbilitySystemGlobals]
; Gameplay cue notifies live with the feature that owns them; scanning all of /Game would walk the asset packs.
+GameplayCueNotifyPaths=/Game/Combat
+GameplayCueNotifyPaths=/Game/Stats
+10
View File
@@ -0,0 +1,10 @@
[/Script/GameplayTags.GameplayTagsSettings]
ImportTagsFromConfig=True
WarnOnInvalidTags=True
ClearInvalidTags=False
AllowEditorTagUnloading=True
AllowGameTagUnloading=False
FastReplication=False
InvalidTagCharacters="\"\',"
NumBitsForContainerSize=6
NetIndexFirstBitSegment=16
+86
View File
@@ -0,0 +1,86 @@
[/Script/Engine.InputSettings]
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
bAltEnterTogglesFullscreen=True
bF11TogglesFullscreen=True
bUseMouseForTouch=False
bEnableMouseSmoothing=True
bEnableFOVScaling=True
bCaptureMouseOnLaunch=True
bEnableLegacyInputScales=True
bEnableMotionControls=True
bFilterInputByPlatformUser=False
bShouldFlushPressedKeysOnViewportFocusLost=True
bAlwaysShowTouchInterface=False
bShowConsoleOnFourFingerTap=True
bEnableGestureRecognizer=False
bUseAutocorrect=False
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
DefaultViewportMouseLockMode=LockOnCapture
FOVScale=0.011110
DoubleClickTime=0.200000
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
DefaultTouchInterface=None
-ConsoleKeys=Tilde
+ConsoleKeys=Tilde
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Ability.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Ability",DevComment="Asset tags on abilities: Ability.Melee, Ability.Dodge, Ability.Signature (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Activity.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Activity",DevComment="Heat, Strike, Assemble (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Class.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Class",DevComment="Player kits: Warrior, Ranger, Mage, Cleric, Rogue (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Cooldown.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Cooldown",DevComment="Granted by cooldown effects, one per ability (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Damage.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Damage",DevComment="Damage.Type.* and Damage.Source.* (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Data.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Data",DevComment="SetByCaller keys: Data.Damage, Data.Heal, Data.Impulse (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Domain.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Domain",DevComment="Forge, Wood, Enchant: what gates the work, never the worker (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Event.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Event",DevComment="Gameplay events between animation and abilities: Event.Montage.* (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Fault.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Fault",DevComment="Activity faults (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the GameplayCue.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="GameplayCue",DevComment="Presentation only: hit impacts, hit stop, outlines (Combat.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Immune.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Immune",DevComment="The counters a body carries: Immune.Status.*, Immune.Damage.* (Stats.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Input.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Input",DevComment="Input actions bound by tag: Input.Move, Input.Jump, Input.Sprint, Input.Interact ... (Movement.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Interact.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Interact",DevComment="Interact.Reason.* (why a verb is unavailable), Interact.Verb.* (Interaction.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Item.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Item",DevComment="Item.Family.*, Item.Part.*, Item.PieceType.*, Item.Substance.*, Item.Enchant.*, Item.Weapon.* (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Mark.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Mark",DevComment="Activity marks (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Piece.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Piece",DevComment="Piece.Layer.*: Characteristic, Substance, Enchantment (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the State.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="State",DevComment="What a body IS: Downed, Dead, Invulnerable, Sprinting, Carrying (Architecture.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Station.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Station",DevComment="Station.State.*, Station.Type.* (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Status.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Status",DevComment="An outside influence on a body: Status.Buff.*, Status.Debuff.* (Stats.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Substance.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Substance",DevComment="Substance.Class.*, Substance.Rarity.*, Substance.State.* (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Surface.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Surface",DevComment="On physical materials, applied by the ground trace: Mud, Ice, Hot (Stats.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the Theme.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="Theme",DevComment="Synergy vocabulary shared by characteristics and enchantments (Crafting.md)")
+4
View File
@@ -0,0 +1,4 @@
; Source of truth for the UI.* namespace. Reviewed like code. Tags that C++ references are also declared
; natively in Source/SaltyCore/Tags/NativeTags.h so a typo fails at compile time.
[/Script/GameplayTags.GameplayTagsList]
+GameplayTagList=(Tag="UI",DevComment="Theme roles (UI.md)")