Appendix B. Settings reference
Generated from the plugin's developer settings classes. 151 settings classes with 4465 properties. Open Project Settings, then the category and section shown in each heading. Defaults are the values the class holds when the export ran. Restart marks a setting that needs an editor restart.
Editor: RPG Saga Engine Configurator
Class URSEConfiguratorSettings (module RSEEditor), Project Settings, Project, Editor. Options of the RSE Configurator editor window (D-035).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Test Maps (TestMaps) | TArray<FRSEConfiguratorTestMap> | (3 entries) | Test | Maps listed in the Test bar, each with Open and Play buttons. | |
Groups (Groups) | TArray<FRSEConfiguratorGroup> | (46 entries) | Tree | Domain groups of the tree, in display order. Settings classes not listed in any group go to "Other". Empty groups are hidden. | |
Validate Data Assets by Default (bValidateDataAssetsByDefault) | bool | False | Validation | The validation panel also loads and validates every RSE data asset (URSEPrimaryDataAsset) by default. Slower on big projects. | |
Validate on Open (bValidateOnOpen) | bool | True | Validation | Run the validation when the configurator opens. |
Plugins: RPG Saga Studio
Class URSEStudioUserSettings (module RSEEditor), Project Settings, Editor, Plugins. Per-user Studio preferences (Editor Preferences -> RPG Saga Studio, saved per project for this user): the explanation level, opening the Studio at startup, the full menus, the character sheet on double click and the recent assets.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Character Sheet Advanced (bCharacterSheetAdvanced) | bool | False | Character Sheet | The character sheet opens in Advanced mode (every field). | |
Open Character Sheet on Double Click (bOpenCharacterSheetOnDoubleClick) | bool | True | Character Sheet | Double-clicking a Character asset opens its character sheet (off = the generic asset editor). | |
Open Sheets on Double Click (bOpenSheetsOnDoubleClick) | bool | True | Character Sheet | Double-clicking an ability, item or archetype opens its sheet (off = the generic asset editor). | |
First Steps Hidden (bFirstStepsHidden) | bool | False | First Steps | First steps: hidden from the Studio's start page ("Hide this list"). | |
First Steps Seen (bFirstStepsSeen) | bool | False | First Steps | First steps (D-177): the checklist opened by itself at the first startup in this project (so it opens once per project and user). | |
First Steps Done (FirstStepsDone) | TArray<FName> | (0 entries) | First Steps | First steps that leave nothing in the project to detect (Play the slice, Read Getting Started), remembered here. | |
Show Advanced Tools Everywhere (bShowAdvancedToolsEverywhere) | bool | False | Menus | Show every RPG Saga Engine tool everywhere, as before the Studio: the full main menu, the toolbar buttons and the context tools even when nothing they apply to is selected. Off = a short menu (Studio, Configurator, Validation, Help, Advanced tools) and tools that appear where they apply. | |
Open Studio at Startup (bOpenStudioAtStartup) | bool | True | Studio | Open the Studio when the editor starts (the Studio's "Don't show at startup" box turns it off). | |
Detail Level (DetailLevel) | ERSEStudioDetailLevel | Beginner | Studio | How much the Studio explains: Beginner (explanations always visible), Normal (tooltips) or Expert (nothing). | |
Recent Assets (RecentAssets) | TArray<FSoftObjectPath> | (0 entries) | Studio | Recently created or edited RPG Saga assets, newest first ("Continue where you left off"). | |
Startup Bring to Front Delays (StartupBringToFrontDelays) | TArray<float> | (2 entries) | Studio | After opening at startup, the Studio's window is brought to the front again at these times (seconds), so windows the editor restores later (the Plugins window after Restart Now) do not hide it (D-136). Empty = never. |
RPG Saga Engine: AI
Class URSEAISettings (module RSECore), Project Settings, Project, RPG Saga Engine. Global utility AI tuning.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Charge Interrupt Weight (ChargeInterruptWeight) | float | 15.000000 | ATB | ATB: value for hitting a unit that is charging an ability, at intelligence 1 (interrupt its big move). | |
Charge Time Penalty Per Second (ChargeTimePenaltyPerSecond) | float | 3.000000 | ATB | ATB: value lost per second of an ability's charge time (slow moves risk being wasted). | |
Debug History (DebugHistory) | int32 | 20 | Debug | Decisions remembered per battle for the debugger. | |
Debug Top Options (DebugTopOptions) | int32 | 5 | Debug | Options kept per decision for the debugger and the log dump. | |
End Turn Bias (EndTurnBias) | float | 1.000000 | Decision | Small value added to ending the turn, so the AI does not wander for negligible gains. | |
Revive Value (ReviveValue) | float | 80.000000 | Decision | Value of bringing a fallen ally back (before the profile's HealWeight), on top of the HP it returns with. | |
Danger Awareness at Min Intelligence (DangerAwarenessAtMinIntelligence) | float | 0.300000 | Intelligence | Share of danger awareness at intelligence 0 (it scales linearly to 1 at intelligence 1). | |
Enemy VIPMultiplier (EnemyVIPMultiplier) | float | 1.500000 | Intelligence | Damage value multiplier against the enemy team's VIP at intelligence 1. | |
Focus Fire Weight (FocusFireWeight) | float | 10.000000 | Intelligence | Value for focusing already-hurt targets at intelligence 1 (coordination / focus fire). | |
Noise Top Options (NoiseTopOptions) | int32 | 3 | Intelligence | At low intelligence the AI picks among this many best options (plausible mistakes, not random ones). | |
Temperature at Max Intelligence (TemperatureAtMaxIntelligence) | float | 0.000000 | Intelligence | ||
Temperature at Min Intelligence (TemperatureAtMinIntelligence) | float | 12.000000 | Intelligence | Softmax temperature (in score points) at intelligence 0 and 1. Higher = more varied choices. | |
Item Use Penalty (ItemUsePenalty) | float | 4.000000 | Items | Value lost for using up a consumable (items are a limited resource; abilities are preferred when equal). | |
Last Item Penalty (LastItemPenalty) | float | 6.000000 | Items | Extra value lost for the team's last one of an item, at intelligence 1 (resource management). | |
Full Resonance Target Multiplier (FullResonanceTargetMultiplier) | float | 1.500000 | Pacts | Damage value multiplier against a unit with a full Resonance bar, at intelligence 1 (stop the summon). | |
Summon Damage Weight (SummonDamageWeight) | float | 0.600000 | Pacts | Extra value per point of damage the summon is expected to deal over its stay (times the profile's DamageWeight). Without it a strong attack always beats the flat SummonValue and the AI never summons. | |
Summon Target Multiplier (SummonTargetMultiplier) | float | 1.500000 | Pacts | Damage value multiplier against a summon, at intelligence 1 (defeating it early causes backlash). | |
Summon Value (SummonValue) | float | 60.000000 | Pacts | Value of calling a Pact summon onto the field (D-013). | |
Max Move Candidates (MaxMoveCandidates) | int32 | 40 | Performance | Most movement tiles evaluated per decision (closest to the action first). Bounds AI cost per turn. | |
Kill Threat Weight (KillThreatWeight) | float | 0.000000 | Statuses | Value per point of damage a defeated enemy would have dealt over the threat horizon, times the chance to defeat it. A defeat is worth the larger of this and the profile's flat Kill Bonus: finishing a dangerous enemy stays ahead of buffs at any level, while low-level battles keep the bonus. 0 (default) = off: the flat Kill Bonus only (the shipped content is balanced on it); raise it for an AI that hunts the most dangerous units. | |
Measured Status Stats (MeasuredStatusStats) | TArray<FGameplayTag> | (0 entries) | Statuses | Stats whose status modifiers the AI measures through the damage estimate. Modifiers on other stats (Speed, Action Points, custom stats), granted tags and affinities get the profile's flat Status Weight instead. Empty = the combat formulas' offense and defense stats, plus Stat.Accuracy and Stat.Evasion. | |
Protection Urgency Floor (ProtectionUrgencyFloor) | float | 1.000000 | Statuses | Share of the value of HP saved on an ally (damage prevented, regeneration, shields) when it is in no danger. It rises to 1 as the damage the ally expects over the threat horizon reaches its current HP: buffing a unit nobody can hurt is worth little. 1 (default) = off: the measured relevance and the shields' cap already follow the threat; lower it for an AI that saves its protection for the units in danger. | |
Status Full Value HPShare (StatusFullValueHPShare) | float | 0.200000 | Statuses | A status earns the profile's full Status Weight when what it changes over the threat horizon (damage prevented or added, HP restored or lost) reaches this share of its bearer's max HP; less earns proportionally less, and nothing (already there, nobody in reach, the wrong damage kind) earns nothing. A status never earns more than one Status Weight, so measured statuses keep the scale the profiles were tuned on. | |
Threat Horizon Rounds (ThreatHorizonRounds) | int32 | 3 | Statuses | Own turns the AI looks ahead when it measures threats: a status or a shield (the damage it would prevent or add against the units that can reach the bearer in that time) and a defeat (the damage the fallen unit will not deal). A status re-applied while it still covers these turns adds nothing. | |
Threat Round Discount (ThreatRoundDiscount) | float | 0.700000 | Statuses | Weight of each later turn of the threat horizon, relative to the turn before (later turns are less certain). | |
Combos (Combos) | TArray<FRSEAICombo> | (1 entries) | Team | Combos every AI team knows (setup status, then payoff element). Content tags: set them in the project's config. | |
Support Threat Decay (SupportThreatDecay) | float | 0.500000 | Team | How much of the remembered threat to a Support-role unit is kept at each own turn of that unit's team (0 = forget at once, 1 = never forget). The threat (per 10% of the Support's max HP lost) feeds the profiles' PunishThreatBonus. |
RPG Saga Engine: AI Debugger
Class URSEAIDebuggerSettings (module RSE), Project Settings, Project, RPG Saga Engine. The in-game AI debugger (D-056): for the unit that just decided, its best options with their score breakdown (a panel in every mode, labels on the grid tiles in Tactics).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Chosen Color (ChosenColor) | FLinearColor | (R=1.000000,G=0.850000,B=0.250000,A=1.000000) | Colors | ||
Forced Color (ForcedColor) | FLinearColor | (R=1.000000,G=0.450000,B=0.350000,A=1.000000) | Colors | ||
Option Color (OptionColor) | FLinearColor | (R=0.850000,G=0.900000,B=1.000000,A=1.000000) | Colors | ||
Term Color (TermColor) | FLinearColor | (R=0.600000,G=0.680000,B=0.800000,A=1.000000) | Colors | ||
Enabled (bEnabled) | bool | True | Debugger | Creates the debugger in game worlds (Development and Debug builds only). | |
Show Toggle Button (bShowToggleButton) | bool | True | Debugger | Shows the small "AI" toggle button during battles (otherwise only RSE.AI.Debug turns it on). | |
Widget Class (WidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Debugger | AI debugger panel (D-052). Empty = the built-in screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEAIDebugViewModel (docs/product/custom-ui.md). | |
Panel Anchor (PanelAnchor) | FVector2D | (X=1.000000,Y=0.360000) | Layout | Where the options panel sits (normalized screen point). | |
Panel Width (PanelWidth) | float | 470.000000 | Layout | ||
Terms Per Option (TermsPerOption) | int32 | 4 | Layout | Score terms shown per option in the panel (largest first). | |
Toggle Anchor (ToggleAnchor) | FVector2D | (X=1.000000,Y=0.300000) | Layout | Where the toggle button sits (normalized screen point, its alignment follows). | |
ZOrder (ZOrder) | int32 | 15 | Layout | Viewport Z order (above the battle HUDs). | |
Tile Labels (bTileLabels) | bool | True | Tactics | Tactics: labels on the tiles of the shown options. | |
Tile Label Height (TileLabelHeight) | float | 40.000000 | Tactics | Tactics: label height above the tile. |
RPG Saga Engine: Ability Info
Class URSEAbilityInfoSettings (module RSECore), Project Settings, Project, RPG Saga Engine. How abilities are described and grouped in menus (D-147, docs/design/battle-menus.md): the role rules and their labels, and the groups the battle menus use when their config has none.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Collapse Tier Families (bCollapseTierFamilies) | bool | True | Menu Groups | Tier families show as one entry that opens its tiers. Off: every tier is an entry of its own. | |
Default Groupings (DefaultGroupings) | TArray<FRSEBattleMenuGrouping> | (2 entries) | Menu Groups | Groups of the battle menus whose config has none (spells by element, skills by role). | |
Add Derived to Own Roles (bAddDerivedToOwnRoles) | bool | False | Roles | Derived roles also join the ability's own role tags (off: own tags replace them). | |
Derive Roles (bDeriveRoles) | bool | True | Roles | Abilities without role tags of their own get the roles of the rules below (from their effects). | |
Max Shown Roles (MaxShownRoles) | int32 | 2 | Roles | Most role tags a tooltip lists. | |
Role Labels (RoleLabels) | TMap<FGameplayTag,FText> | (14 entries) | Roles | The short text of each role tag in menus ("Single-target damage"). A tag without a label shows its last part. | |
Role Rules (RoleRules) | TArray<FRSEAbilityRoleRule> | (18 entries) | Roles | Trait rules, in order: each matching rule adds its role. |
RPG Saga Engine: Ability Test
Class URSEAbilityTestSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Ability Test settings (D-167): who the Test ability button uses by default and the target presets it offers.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Caster Team (CasterTeam) | FGameplayTag | (TagName="Team.Player") | Ability Test | Teams of the caster's side and the other side in the mini battles. | |
Default Caster (DefaultCaster) | TSoftObjectPtr<URSEPrimaryDataAsset> | /RPGSagaEngine/Data/Characters/DA_Char_Kaela.DA_Char_Kaela | Ability Test | Who uses the ability when the test names nobody (a character or an archetype). | |
Default Level (DefaultLevel) | int32 | 10 | Ability Test | ||
Default Preset (DefaultPreset) | FName | OneEnemy | Ability Test | The preset used when the test names none (its Id). Empty = the first. | |
Default Runs (DefaultRuns) | int32 | 50 | Ability Test | ||
Grid Size (GridSize) | int32 | 13 | Ability Test | Size of the flat grid of the grid and live tests (tiles per side). | |
Max Runs (MaxRuns) | int32 | 1000 | Ability Test | Upper bound on runs per test (keeps the editor responsive). | |
Other Team (OtherTeam) | FGameplayTag | (TagName="Team.Enemy") | Ability Test | ||
Presets (Presets) | TArray<FRSEAbilityTestPreset> | (5 entries) | Ability Test | Target sets the test offers, in order. |
RPG Saga Engine: Ability Toolkit
Class URSEAbilityToolkitSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Rules of the Ability Toolkit v2 (D-055, docs/design/abilities-v2.md): reactions, taunts, leaps, zones, objects, captures.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Max Bonus Action Points (MaxBonusActionPoints) | int32 | 4 | Action Points | Most Action Points an effect can raise a unit to, above its turn-start amount. | |
AIAction Point Value (AIActionPointValue) | float | 4.000000 | AI | Value per Action Point given to an ally or taken from an enemy. | |
AICapture Value (AICaptureValue) | float | 30.000000 | AI | Value of capturing an enemy (times the chance). | |
AICounter Risk Weight (AICounterRiskWeight) | float | 1.000000 | AI | Weight of the counterattack an attack would provoke (times the profile's danger awareness). | |
AIDispel Value (AIDispelValue) | float | 8.000000 | AI | Value per buff removed from an enemy, or debuff removed from an ally. | |
AIDisplacement Value (AIDisplacementValue) | float | 1.000000 | AI | Value per tile an enemy is moved (knockback, pull, swap) besides the damage it causes. | |
AIResource Value (AIResourceValue) | float | 0.500000 | AI | Value per point of a resource other than HP taken from an enemy or given to an ally (MP, Rage...). | |
AIShield Weight (AIShieldWeight) | float | 0.800000 | AI | Value per point of shield given to an ally (times the profile's Heal weight). | |
AISteal Value (AIStealValue) | float | 8.000000 | AI | Value of stealing from an enemy (times the chance). | |
AITaunt Value (AITauntValue) | float | 10.000000 | AI | Value of taunting an enemy (times the chance). | |
AITurn Shift Value (AITurnShiftValue) | float | 20.000000 | AI | Value of a whole turn gained by an ally or taken from an enemy (turn manipulation). | |
AIZone Turns (AIZoneTurns) | float | 2.000000 | AI | Turns a unit is expected to stay in a zone (zone damage or healing per turn is multiplied by this). | |
Capture Needs Victory (bCaptureNeedsVictory) | bool | True | Capture | Captured units join only when the player's side wins (off: also after fleeing). | |
Can Target Objects (bCanTargetObjects) | bool | True | Field | Abilities aimed at enemies may target a tile holding a destructible object (barrels, walls). | |
One Zone Per Tile (bOneZonePerTile) | bool | True | Field | A new zone replaces older zones on the tiles it covers (off: zones stack and all trigger). | |
Max Chain Explosions (MaxChainExplosions) | int32 | 32 | Field | Guard against endless chain reactions: most objects that can explode from one hit. | |
Enemies Pay Item Costs (bEnemiesPayItemCosts) | bool | False | Item Costs | Units of teams other than the player's pay the Item Costs of their abilities (ammunition) from their team's items. Off (default): enemies use such abilities freely, since encounters rarely give them a pouch. | |
Max Leap Chain (MaxLeapChain) | int32 | 8 | Movement Effects | Upper bound on the hops of any leap chain (content asks for fewer). | |
Max Slide Tiles (MaxSlideTiles) | int32 | 3 | Movement Effects | A knocked-back unit that lands on a slippery tile keeps sliding up to this many extra tiles (per slippery tile entered). | |
Reactions in Classic Modes (bReactionsInClassicModes) | bool | True | Reactions | Reactions also work in ATB and turn-based battles (overwatch never does: nobody moves there). | |
Max Reaction Depth (MaxReactionDepth) | int32 | 1 | Reactions | How deep reactions may chain: 1 = a reaction never triggers another one (a counter is not countered). 0 = no reactions at all. | |
Taunt Forces Target (bTauntForcesTarget) | bool | False | Taunt | AI units under a taunt must aim at the taunter whenever one of their actions can reach it (off: they strongly prefer it). | |
Taunt Target Multiplier (TauntTargetMultiplier) | float | 3.000000 | Taunt | Score multiplier of AI options that hit the taunter (when the taunt does not force). |
RPG Saga Engine: Action AI
Class URSEActionAIRules (module RSECore), Project Settings, Project, RPG Saga Engine. Real-time AI of action battles (A2, D-171; docs/design/action-battle.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Stamina Reserve (StaminaReserve) | float | 25.000000 | Options | Stamina a unit keeps for dodging and guarding (scaled by the profile's Resource Management): attacks that dig into it score less. | |
Stamina Reserve Penalty (StaminaReservePenalty) | float | 10.000000 | Options | Score lost by an option that would dig into the stamina reserve (scaled by Resource Management). | |
Tank Intercept Weight (TankInterceptWeight) | float | 4.000000 | Options | Tank role: bonus (x the profile's Tank Interpose weight) for attacking an enemy whose attack is aimed at a fragile ally. | |
Travel Penalty Per Second (TravelPenaltyPerSecond) | float | 4.000000 | Options | Score lost per second of walking an option needs before it reaches its target. | |
Windup Penalty Per Second (WindupPenaltyPerSecond) | float | 3.000000 | Options | Score lost per second of windup (slow moves can be dodged, interrupted or wasted). | |
Default Party Order (DefaultPartyOrder) | ERSEActionPartyOrder | Free | Party | The order of party members the AI drives until a player orders otherwise (Options can change it per player). | |
Defend Radius (DefendRadius) | float | 4.000000 | Party | Defend Me: distance kept from the leader. | |
Follow Distance (FollowDistance) | float | 3.000000 | Party | Follow: distance kept from the leader. | |
Follow Engage Radius (FollowEngageRadius) | float | 8.000000 | Party | Follow: only enemies this close to the leader are fought. | |
Free Leash Distance (FreeLeashDistance) | float | 20.000000 | Party | Free: party members never wander farther than this from the leader (meters; 0 = no leash). | |
Hold Radius (HoldRadius) | float | 1.000000 | Party | Hold Position: how far from its spot the member may step. | |
Order Distance Weight (OrderDistanceWeight) | float | 8.000000 | Party | Score lost per meter a spot is beyond where the order wants the member (leader distance, hold spot). | |
Order Target Bonus (OrderTargetBonus) | float | 40.000000 | Party | Attack My Target / Defend Me: bonus for the target the order names (others lose half of it). | |
Party Intelligence (PartyIntelligence) | float | 0.700000 | Party | Intelligence of party members the AI drives when the driver gives none (0-1). | |
Approach Scale (ApproachScale) | float | 0.100000 | Positioning | Ranged units with an Approach weight close in: their wanted distance is divided by 1 + Approach Scale x the profile's Approach weight. | |
Area Margin (AreaMargin) | float | 2.000000 | Positioning | Bounded battles: spots closer than this to the edge of the combat area start losing score. | |
Area Penalty (AreaPenalty) | float | 20.000000 | Positioning | Score lost per meter inside the margin or outside the area. | |
Cover Weight (CoverWeight) | float | 3.000000 | Positioning | Cover-lite: bonus (x awareness) per ranged enemy whose line to the spot an obstacle blocks. | |
Crowding Weight (CrowdingWeight) | float | 3.000000 | Positioning | Score lost per meter of an ally inside the personal space. | |
Danger Scale (DangerScale) | float | 0.150000 | Positioning | Danger of a spot: score lost per point of the damage the enemies that reach it could deal (x the profile's Danger weight and awareness). | |
Flank Scale (FlankScale) | float | 0.500000 | Positioning | Flanking: bonus (x the profile's Flank weight and awareness) for a melee spot behind the target (full value straight behind). | |
Interpose Scale (InterposeScale) | float | 3.000000 | Positioning | Tank role: bonus (x the profile's Tank Interpose weight) for a spot on the line between a fragile ally and the enemy nearest it (fades out two tiles off the line). | |
Kite Tolerance (KiteTolerance) | float | 1.500000 | Positioning | Ranged units closer than their wanted distance minus this walk away first, and shoot once there (or cornered). | |
Melee Range Fraction (MeleeRangeFraction) | float | 0.750000 | Positioning | Melee units want to stand at this fraction of their reach. | |
Move Cost Weight (MoveCostWeight) | float | 0.400000 | Positioning | Score lost per meter walked (keeps units from dancing around between equal spots). | |
No Line Of Sight Penalty (NoLineOfSightPenalty) | float | 15.000000 | Positioning | A ranged unit loses this much at a spot with no line of sight to its target. | |
Personal Space (PersonalSpace) | float | 1.000000 | Positioning | Room allies want between each other (meters, edge to edge). | |
Position Directions (PositionDirections) | int32 | 12 | Positioning | Directions sampled around the unit when it picks where to stand (on each ring). | |
Position Rings (PositionRings) | int32 | 2 | Positioning | Rings of samples (at Reposition Distance divided evenly). | |
Ranged Range Fraction (RangedRangeFraction) | float | 0.600000 | Positioning | Ranged units (reach above Ranged Reach) want to stand at this fraction of their reach, unless the profile prefers a distance. | |
Ranged Reach (RangedReach) | float | 4.000000 | Positioning | An attack reaching farther than this is ranged (meters). | |
Range Weight (RangeWeight) | float | 3.000000 | Positioning | Score lost per meter between a spot's distance to the target and the distance the unit wants to fight at. | |
Reach Margin (ReachMargin) | float | 0.150000 | Positioning | Safety margin taken off every reach (meters): "in reach" then means inside the hitbox, not on its edge. | |
Reposition Before Attack (RepositionBeforeAttack) | float | 1.000000 | Positioning | Melee units already in reach still walk to their spot first (a flank, the Tank's line) when it is farther than this and keeps them in reach. | |
Reposition Distance (RepositionDistance) | float | 4.000000 | Positioning | Farthest sampled spot from the unit (meters). | |
Retreat Scale (RetreatScale) | float | 0.500000 | Positioning | Retreating (HP under the profile's Retreat HP Percent): bonus per meter from the nearest enemy (x the profile's Retreat weight). | |
Stop Distance (StopDistance) | float | 0.400000 | Positioning | The unit stops walking within this distance of the spot it picked. | |
Walk First Max Seconds (WalkFirstMaxSeconds) | float | 1.000000 | Positioning | Seconds a unit in reach may spend walking to a better spot (backing off, flanking) before it attacks from where it is. | |
Guard Hold Seconds (GuardHoldSeconds) | float | 0.150000 | Reactions | A guard raised against a telegraph is held this long after the attack's active time. | |
Parry Min Intelligence (ParryMinIntelligence) | float | 0.600000 | Reactions | Parries are tried only from this intelligence up (melee attacks, when the rules and the weapon allow it). | |
Parry Preference (ParryPreference) | float | 0.500000 | Reactions | Chance (x intelligence) to answer a parryable attack with a parry instead of a dodge or a block. | |
Projectile Horizon (ProjectileHorizon) | float | 1.000000 | Reactions | Projectiles arriving within this many seconds are answered. | |
React Chance at Max Intelligence (ReactChanceAtMaxIntelligence) | float | 0.900000 | Reactions | Chance to answer a telegraph at awareness 1. | |
React Chance at Min Intelligence (ReactChanceAtMinIntelligence) | float | 0.050000 | Reactions | Chance to answer a telegraph aimed at the unit at awareness 0 (the profile's Danger Awareness, which follows intelligence). | |
Reaction Jitter (ReactionJitter) | float | 0.080000 | Reactions | Random extra reaction time (up to this many seconds). | |
Reaction Time at Max Intelligence (ReactionTimeAtMaxIntelligence) | float | 0.100000 | Reactions | Seconds from seeing a telegraph to being able to answer it, at intelligence 1. | |
Reaction Time at Min Intelligence (ReactionTimeAtMinIntelligence) | float | 0.550000 | Reactions | Seconds from seeing a telegraph to being able to answer it, at intelligence 0. | |
Threat Slack (ThreatSlack) | float | 1.000000 | Reactions | Telegraphs this far beyond the attack's reach are still answered (meters; the attacker may step in). | |
Timing Error at Max Intelligence (TimingErrorAtMaxIntelligence) | float | 0.030000 | Reactions | Largest timing mistake at intelligence 1. | |
Timing Error at Min Intelligence (TimingErrorAtMinIntelligence) | float | 0.300000 | Reactions | Largest timing mistake of a dodge or parry at intelligence 0 (seconds early or late). | |
Safe Reload Distance (SafeReloadDistance) | float | 6.000000 | Resources | ||
Tactical Reload Below (TacticalReloadBelow) | float | 0.300000 | Resources | Reload when the magazine is below this fraction and no enemy is within Safe Reload Distance (smart units only: Resource Management above one half). | |
Consider Range (ConsiderRange) | float | 40.000000 | Thinking | Units farther than this are not considered as targets (meters, edge to edge). | |
Think Interval at Max Intelligence (ThinkIntervalAtMaxIntelligence) | float | 0.250000 | Thinking | Seconds between two decisions of a unit at intelligence 1. | |
Think Interval at Min Intelligence (ThinkIntervalAtMinIntelligence) | float | 0.600000 | Thinking | Seconds between two decisions of a unit at intelligence 0 (the slowest). Decisions are staggered across units. | |
Think Stagger Slots (ThinkStaggerSlots) | int32 | 5 | Thinking | Units are spread over this many offsets of the think interval, so a crowd never thinks on the same step. |
RPG Saga Engine: Action Battle
Class URSEActionRules (module RSECore), Project Settings, Project, RPG Saga Engine. Real-time action battles (D-171, docs/design/action-battle.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Default Weapon (DefaultWeapon) | TSoftObjectPtr<URSEActionWeaponData> | None | Combo | The weapon of units without one with action data (empty = the unit's basic attack with derived rules). | |
Input Buffer Seconds (InputBufferSeconds) | float | 0.150000 | Combo | An attack pressed this long before a combo window opens is kept and runs when it opens. | |
Active Time (ActiveTime) | float | 0.150000 | Derived Ability Rules | ||
Attack Stamina Cost (AttackStaminaCost) | float | 8.000000 | Derived Ability Rules | Stamina of a basic attack (Ability.Type.Attack). | |
Charge Time to Windup (ChargeTimeToWindup) | float | 0.500000 | Derived Ability Rules | Extra windup per second of the ability's ATB charge time. | |
Cooldown Base (CooldownBase) | float | 3.000000 | Derived Ability Rules | ||
Cooldown Per Cost (CooldownPerCost) | float | 0.150000 | Derived Ability Rules | Extra cooldown per point of resource cost (MP...). | |
Melee Arc Angle (MeleeArcAngle) | float | 120.000000 | Derived Ability Rules | ||
Melee Max Tiles (MeleeMaxTiles) | int32 | 1 | Derived Ability Rules | Hostile abilities with a Tactics range up to this many tiles are melee. | |
Melee Range (MeleeRange) | float | 2.200000 | Derived Ability Rules | ||
Poise Damage (PoiseDamage) | float | 20.000000 | Derived Ability Rules | ||
Projectile Speed (ProjectileSpeed) | float | 22.000000 | Derived Ability Rules | ||
Recovery (Recovery) | float | 0.450000 | Derived Ability Rules | ||
Tile Meters (TileMeters) | float | 1.500000 | Derived Ability Rules | Meters per Tactics tile when converting ranges and areas. | |
Windup (Windup) | float | 0.350000 | Derived Ability Rules | ||
Dodge Distance (DodgeDistance) | float | 4.000000 | Dodge | Distance covered by a dodge when the battle moves the units itself (headless; the presentation uses root motion). | |
Dodge Duration (DodgeDuration) | float | 0.500000 | Dodge | Length of the dodge (roll, dash, step). | |
Dodge Invulnerable Start (DodgeInvulnerableStart) | float | 0.030000 | Dodge | Seconds into the dodge when invulnerability (i-frames) starts. | |
Dodge Invulnerable Time (DodgeInvulnerableTime) | float | 0.300000 | Dodge | Seconds of invulnerability: hits in this window are dodged. | |
Dodge Stamina Cost (DodgeStaminaCost) | float | 25.000000 | Dodge | --- Dodge --- | |
Bounded Area Radius (BoundedAreaRadius) | float | 25.000000 | Framing | Bounded: radius of the combat area around its center (0 = no area). | |
Disengage Distance (DisengageDistance) | float | 30.000000 | Framing | Open: the party is this far from every enemy... | |
Disengage Seconds (DisengageSeconds) | float | 5.000000 | Framing | Open: ...for this long: the fight ends (fled). | |
Framing (Framing) | ERSEActionFraming | Bounded | Framing | Bounded (area, banner, results) or Open (no results screen; the fight fades out when the party gets away). | |
Leave Area Seconds (LeaveAreaSeconds) | float | 3.000000 | Framing | Bounded: seconds every party member must stay out of the area before it counts as fleeing (when fleeing is allowed). | |
Guard Enabled (bGuardEnabled) | bool | True | Guard | Units may block (hold guard). Weapons may also forbid it. | |
Block Angle (BlockAngle) | float | 140.000000 | Guard | Full angle in front of the unit that its guard covers (hits from behind go through). | |
Block Damage Multiplier (BlockDamageMultiplier) | float | 0.250000 | Guard | Damage taken through a block (multiplier; poise damage too). | |
Block Move Multiplier (BlockMoveMultiplier) | float | 0.500000 | Guard | Movement speed while guarding (multiplier). | |
Block Regen Multiplier (BlockRegenMultiplier) | float | 0.300000 | Guard | Stamina regeneration while guarding (multiplier). | |
Block Stamina Per Hit (BlockStaminaPerHit) | float | 10.000000 | Guard | Stamina each blocked hit drains. | |
Block Stamina Per Poise (BlockStaminaPerPoise) | float | 0.500000 | Guard | Extra stamina drained per point of the hit's poise damage. | |
Guard Break Stagger Seconds (GuardBreakStaggerSeconds) | float | 1.200000 | Guard | Stagger when a block runs out of stamina (the hit then lands in full). | |
Item Cooldown (ItemCooldown) | float | 1.000000 | Items | Seconds before the same unit can use another item. | |
Item Use Recovery (ItemUseRecovery) | float | 0.300000 | Items | ||
Item Use Windup (ItemUseWindup) | float | 0.600000 | Items | --- Items and party --- | |
Switch Character Cooldown (SwitchControlCooldown) | float | 1.000000 | Items | Seconds before the same player can switch character again. | |
Body Collision (bBodyCollision) | bool | True | Movement | Bodies do not overlap when the battle moves units itself (headless runs, the simulator): they push each other apart. | |
Default Unit Radius (DefaultUnitRadius) | float | 0.400000 | Movement | Radius of a unit without one (meters). | |
Move Speed (MoveSpeed) | float | 5.000000 | Movement | Walking speed when the battle moves units itself (headless runs, the simulator); the presentation moves pawns itself. | |
Move Speed Per Speed (MoveSpeedPerSpeed) | float | 0.000000 | Movement | Extra meters per second per point of Speed above Move Speed Reference Speed (0 = everyone walks alike). | |
Move Speed Reference Speed (MoveSpeedReferenceSpeed) | float | 10.000000 | Movement | ||
Claim Burst (ClaimBurst) | float | 16.000000 | Network | Anti-abuse (A6): claims a unit may make at once above the rate (a shotgun blast, a sweep through a crowd). | |
Hit Claim Angle Tolerance (HitClaimAngleTolerance) | float | 20.000000 | Network | A melee claim may be this many degrees outside the swing's arc (A6; boxes: Hit Claim Range Tolerance on the width). | |
Hit Claim Range Tolerance (HitClaimRangeTolerance) | float | 1.000000 | Network | A hit claim may be this much farther than the attack reaches. | |
Hit Claim Time Tolerance (HitClaimTimeTolerance) | float | 0.250000 | Network | A hit claim may be this many seconds outside the attack's active time (latency). | |
Impossible Reach Margin (ImpossibleReachMargin) | float | 4.000000 | Network | Anti-abuse (A6): a claim farther than the reach + Hit Claim Range Tolerance + this, at every rewound place, is impossible, not a latency miss; it is refused as Impossible Reach and logged. | |
Max Claims Per Second (MaxClaimsPerSecond) | float | 30.000000 | Network | Anti-abuse (A6): hit claims each unit may make per second (a token bucket; shotgun pellets count one each). | |
Max Rewind Seconds (MaxRewindSeconds) | float | 0.400000 | Network | A claim is checked against the places at its time, at most this far back (A6): an older claim is checked at Now minus this (high latency gets less help, never a free hit from long ago). Also limited by Position History Seconds. | |
Mirror Rate Hz (MirrorRateHz) | float | 15.000000 | Network | How often the host sends the battle's mirror (A6: a delta from the last state each guest acknowledged). | |
Position History Seconds (PositionHistorySeconds) | float | 0.500000 | Network | Seconds of position history the host keeps to check claims (lag compensation, A6): every unit's place at every step. | |
Predicted Dodge Confirm Seconds (PredictedDodgeConfirmSeconds) | float | 1.000000 | Network | Predicted dodge (A6): a guest's dodge the host has neither started nor refused after this long is undone. | |
Predicted Dodge Distance Tolerance (PredictedDodgeDistanceTolerance) | float | 0.750000 | Network | Predicted dodge (A6): how much farther than Dodge Distance (plus walking) a guest's dodge may go before the host corrects it. | |
Predicted Dodge Grace Seconds (PredictedDodgeGraceSeconds) | float | 0.250000 | Network | Predicted dodge (A6): the host takes the guest's own movement for the dodge's duration plus this much (latency), then checks how far it went (Dodge Distance + Predicted Dodge Distance Tolerance + walking). | |
Rewind Time Tolerance (RewindTimeTolerance) | float | 0.100000 | Network | The victim's places this much before and after the claim's time are tried too (interpolation delay and jitter, A6). | |
Ability Pacing (AbilityPacing) | ERSEActionAbilityPacing | Cooldown | Pacing | What pays for abilities: their cooldowns, a gauge filled by hits, or only their resource costs. | |
Gauge Max (GaugeMax) | float | 100.000000 | Pacing | ||
Gauge Per Hit Dealt (GaugePerHitDealt) | float | 8.000000 | Pacing | ||
Gauge Per Hit Taken (GaugePerHitTaken) | float | 4.000000 | Pacing | ||
Gauge Per Parry (GaugePerParry) | float | 15.000000 | Pacing | ||
Gauge Segments (GaugeSegments) | int32 | 4 | Pacing | Segments of the gauge (an ability's Gauge Cost counts segments). | |
Parry Enabled (bParryEnabled) | bool | True | Parry | Units may parry (a timed guard that staggers a melee attacker). Weapons may also forbid it. | |
Parry Angle (ParryAngle) | float | 120.000000 | Parry | Full angle in front of the unit that a parry covers. | |
Parry Recovery (ParryRecovery) | float | 0.400000 | Parry | Seconds after the window during which the unit cannot act (a missed parry is punishable). | |
Parry Stagger Seconds (ParryStaggerSeconds) | float | 1.500000 | Parry | Stagger of an attacker whose melee hit was parried. | |
Parry Stamina Cost (ParryStaminaCost) | float | 10.000000 | Parry | ||
Parry Window (ParryWindow) | float | 0.200000 | Parry | Seconds the parry window stays open. | |
Poise Max (PoiseMax) | float | 100.000000 | Poise | Poise of every unit: hits remove their poise damage; at 0 the unit staggers. | |
Poise Regen Delay (PoiseRegenDelay) | float | 1.500000 | Poise | Seconds after a hit before poise refills. | |
Poise Regen Per Second (PoiseRegenPerSecond) | float | 25.000000 | Poise | ||
Stagger Seconds (StaggerSeconds) | float | 1.000000 | Poise | Length of a poise-break stagger (poise refills at its end). | |
Sim Arena Radius (SimArenaRadius) | float | 18.000000 | Simulator | Radius of the simulated arena around the middle of the two lines (a Bounded combat area: the AI stays inside it, so nobody kites forever). 0 = the Bounded Area Radius. | |
Sim Cover Count (SimCoverCount) | int32 | 0 | Simulator | Round obstacles scattered between the two lines of a simulated battle (cover for shooters; 0 = an open field). | |
Sim Cover Radius (SimCoverRadius) | float | 0.800000 | Simulator | Radius of each simulated obstacle. | |
Sim Start Separation (SimStartSeparation) | float | 10.000000 | Simulator | Distance between the two sides at the start of a simulated battle. | |
Sim Unit Spacing (SimUnitSpacing) | float | 2.000000 | Simulator | Distance between units of the same side at the start. | |
Stamina Max (StaminaMax) | float | 100.000000 | Stamina | --- Stamina --- | |
Stamina Regen Delay (StaminaRegenDelay) | float | 0.800000 | Stamina | Seconds after spending stamina before it refills. | |
Stamina Regen Per Second (StaminaRegenPerSecond) | float | 35.000000 | Stamina | ||
Aim Assist Angle (AimAssistAngle) | float | 10.000000 | Targeting | Presentation: aim assist cone (full angle). | |
Aim Assist Strength (AimAssistStrength) | float | 0.300000 | Targeting | Presentation: how strongly the aim is pulled toward targets (0 = none, 1 = snaps). | |
Friendly Fire (bFriendlyFire) | bool | False | Targeting | Hostile hits also hurt the user's allies (never the user). | |
Lock on Range (LockOnRange) | float | 20.000000 | Targeting | Farthest a lock-on target may be. | |
Seconds Per Turn (SecondsPerTurn) | float | 5.000000 | Time | One "turn" of a unit in seconds: status durations, periodic damage, summon durations and per-turn regeneration count on this clock. | |
Step Seconds (StepSeconds) | float | 0.033333 | Time | Fixed simulation step: the battle always advances in steps of this length, so a seed replays exactly. |
RPG Saga Engine: Action Battle (Presentation)
Class URSEActionPresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. The presentation of real-time action battles (D-171, package A3; docs/design/action-battle.md "Presentation"): how an encounter starts in place from exploration, the camera, the controls, the hits from animations, traces and projectile actors, the combat feel (hit-stop, shake, afterimages), the HUD....
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Aim Camera (AimCamera) | FRSEActionCameraProfile | (Distance=250.000000,PivotOffset=(X=0.000000,Y=0.000000,Z=160.000000),ShoulderOffset=75.000000,FieldOfView=70.000000,LagSpeed=25.000000) | Camera | Over the shoulder while aiming. | |
Action Camera (bActionCamera) | bool | True | Camera | The action camera follows the controlled character (off: the pawn's own camera stays, e.g. a project's own rig). | |
Camera Blend Seconds (CameraBlendSeconds) | float | 0.450000 | Camera | Seconds of the blend into the action camera and back. | |
Collision Radius (CollisionRadius) | float | 14.000000 | Camera | The camera stays this far from walls (sphere probe radius, cm). | |
Combat Camera (CombatCamera) | FRSEActionCameraProfile | (Distance=420.000000,PivotOffset=(X=0.000000,Y=0.000000,Z=150.000000),FieldOfView=85.000000,LagSpeed=12.000000) | Camera | ||
Gamepad Look Speed (GamepadLookSpeed) | float | 200.000000 | Camera | Gamepad look at full stick (degrees per second). | |
Lock on Camera (LockOnCamera) | FRSEActionCameraProfile | (Distance=470.000000,PivotOffset=(X=0.000000,Y=0.000000,Z=165.000000),ShoulderOffset=35.000000,FieldOfView=80.000000,LagSpeed=10.000000) | Camera | While locked on a target. | |
Lock on Turn Speed (LockOnTurnSpeed) | float | 7.000000 | Camera | How fast the view turns to a hard-locked target. | |
Mouse Look Speed (MouseLookSpeed) | float | 0.180000 | Camera | Mouse look (degrees per mouse unit). | |
Pitch Max (PitchMax) | float | 40.000000 | Camera | ||
Pitch Min (PitchMin) | float | -60.000000 | Camera | ||
Profile Blend Speed (ProfileBlendSpeed) | float | 9.000000 | Camera | How fast a profile change blends (per second). | |
Start Pitch (StartPitch) | float | -15.000000 | Camera | Starting pitch of the action camera (negative = looking down). | |
Afterimage Count (AfterimageCount) | int32 | 3 | Feel | ||
Afterimage Fade Seconds (AfterimageFadeSeconds) | float | 0.300000 | Feel | ||
Afterimage Interval (AfterimageInterval) | float | 0.060000 | Feel | ||
Afterimage Material (AfterimageMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Visual/Feel/M_RSE_FXGlow.M_RSE_FXGlow | Feel | Translucent material of the afterimages (empty = none). | |
Dodge Afterimages (bDodgeAfterimages) | bool | True | Feel | Afterimages behind a dodging character (needs Afterimage Material). | |
Finishers (bFinishers) | bool | True | Feel | A finisher may play on a kill by this machine's player (Paired Animations, Options -> Finishers; D-172). | |
Block Burst (BlockBurst) | TSoftObjectPtr<UNiagaraSystem> | None | Feel | ||
Dodge Reconcile Max Error (DodgeReconcileMaxError) | float | 150.000000 | Feel | Co-op (A6): corrections larger than this snap at once (cm; a teleport is not smoothed). | |
Dodge Reconcile Min Error (DodgeReconcileMinError) | float | 8.000000 | Feel | Co-op (A6): corrections smaller than this are ordinary movement noise (cm). | |
Dodge Reconcile Seconds (DodgeReconcileSeconds) | float | 0.150000 | Feel | Co-op (A6): after a guest's predicted dodge, a correction of its character's place by the host is hidden: the mesh keeps its place and slides to the corrected one over this many seconds (0 = snap). | |
Dodge Reconcile Watch Seconds (DodgeReconcileWatchSeconds) | float | 0.600000 | Feel | Co-op (A6): how long after a predicted dodge ends corrections are still smoothed (seconds). | |
Heavy Hit Poise (HeavyHitPoise) | float | 30.000000 | Feel | A hit that removes at least this much poise counts as heavy (longer hit-stop, stronger shake). | |
Heavy Hit Stop Seconds (HeavyHitStopSeconds) | float | 0.120000 | Feel | Hit-stop of a heavy hit (a heavy combo step, a stagger, a parry). | |
Hit Burst (HitBurst) | TSoftObjectPtr<UNiagaraSystem> | None | Feel | Bursts at the hit location (optional, tinted by "User.Color"). | |
Hit Camera Shake (HitCameraShake) | TSoftClassPtr<UCameraShakeBase> | None | Feel | A camera shake asset played with the procedural one (optional; scaled by the trauma). | |
Hit Stop Dilation (HitStopDilation) | float | 0.030000 | Feel | How slow the two actors run during the hit-stop (their time dilation). | |
Hit Stop Seconds (HitStopSeconds) | float | 0.060000 | Feel | Hit-stop: both actors of a landed hit freeze briefly (their own time only, never the world's: co-op safe, D-134). | |
Muzzle Flash (MuzzleFlash) | TSoftObjectPtr<UNiagaraSystem> | /RPGSagaEngine/Visual/Weapons/NS_RSE_MuzzleFlash.NS_RSE_MuzzleFlash | Feel | Muzzle flash of shooters whose weapon presentation has none (D-184). | |
Parry Burst (ParryBurst) | TSoftObjectPtr<UNiagaraSystem> | None | Feel | ||
Shake Amplitude (ShakeAmplitude) | float | 7.000000 | Feel | Largest shake offset at full trauma (cm). | |
Shake Decay (ShakeDecay) | float | 1.800000 | Feel | Trauma lost per second. | |
Shake Frequency (ShakeFrequency) | float | 22.000000 | Feel | ||
Shake on Heavy (ShakeOnHeavy) | float | 0.600000 | Feel | ...on a heavy hit, a stagger or a guard break near the local player. | |
Shake on Hit Dealt (ShakeOnHitDealt) | float | 0.220000 | Feel | Camera shake (0..1 trauma) when the local player's hit lands. | |
Shake on Hit Taken (ShakeOnHitTaken) | float | 0.450000 | Feel | ...when the local player's character is hit. | |
Shake Rotation (ShakeRotation) | float | 1.400000 | Feel | Largest shake rotation at full trauma (degrees). | |
Shot Color (ShotColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.054299,Chroma=0.801492,Hue=12.070757,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Feel | Color of tracers, projectiles and flashes without their own. | |
Area Ring Spread Seconds (AreaRingSpreadSeconds) | float | 0.700000 | Flow | Seconds the ring takes to spread to the area's edge. | |
Banner Seconds (BannerSeconds) | float | 1.600000 | Flow | ||
Banner Text (BannerText) | FText | NSLOCTEXT("RSEActionPresentationSettings", "Banner", "{Name}") | Flow | The banner when a Bounded battle starts ({Name} = the encounter's name; empty = no banner). | |
Bounded Results Screen (bBoundedResultsScreen) | bool | True | Flow | Bounded battles end on the results screen (off: the reward feed, as Open battles). | |
Open Loot Toasts (bOpenLootToasts) | bool | True | Flow | Open battles: the spoils as toasts of the reward feed (D-128). | |
Show Area Ring (bShowAreaRing) | bool | True | Flow | Bounded battles: the combat area's ring on the ground. | |
Director Class (DirectorClass) | TSoftClassPtr<ARSEActionBattleDirector> | None | Flow | The presenter spawned for each battle (a Blueprint child may add its own reactions). Empty = ARSEActionBattleDirector. | |
Enemy Spawn Distance (EnemySpawnDistance) | float | 900.000000 | Flow | Enemies without a world actor appear this far in front of the leader (cm). | |
Enemy Spawn Spread (EnemySpawnSpread) | float | 250.000000 | Flow | ...spread around that point (cm). | |
Entry Sound (EntrySound) | TSoftObjectPtr<USoundBase> | None | Flow | ||
Escape Text (EscapeText) | FText | NSLOCTEXT("RSEActionPresentationSettings", "Escape", "You got away.") | Flow | Shown when the party got away (empty = nothing). | |
Party Join Radius (PartyJoinRadius) | float | 2000.000000 | Flow | Party members within this distance of the leader fight from where they stand (cm). | |
Aim Height (AimHeight) | float | 100.000000 | Hits | The AI aims at this height above its target's feet (cm). | |
Melee Height Reach (MeleeHeightReach) | float | 220.000000 | Hits | Melee: units within this height of the attacker's feet can be hit (cm). | |
Projectile Class (ProjectileClass) | TSoftClassPtr<ARSEActionProjectileActor> | None | Hits | The projectile actor (a Blueprint child may add its own mesh, trail and impact). Empty = ARSEActionProjectileActor. | |
Projectile Material (ProjectileMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Visual/Feel/M_RSE_FXGlow.M_RSE_FXGlow | Hits | ||
Projectile Mesh (ProjectileMesh) | TSoftObjectPtr<UStaticMesh> | /RPGSagaEngine/Visual/Weapons/SM_RSE_ProjectileCore.SM_RSE_ProjectileCore | Hits | ||
Projectile Visual Size (ProjectileVisualSize) | float | 24.000000 | Hits | Size of the default projectile's ball (cm, diameter; the collision is the ability's radius). | |
Shot Height (ShotHeight) | float | 130.000000 | Hits | Shots of characters without a muzzle socket start this high above their feet (cm). | |
Weapon Visuals (WeaponVisuals) | TArray<FRSEActionWeaponVisual> | (3 entries) | Hits | How weapons look in the hand (each action weapon may have one). | |
World Trace Channel (WorldTraceChannel) | TEnumAsByte<ECollisionChannel> | ECC_Visibility | Hits | Channel of the hitscan and projectile traces that stop on the world (walls, props). | |
Crosshair Only While Aiming (bCrosshairOnlyWhileAiming) | bool | False | HUD | The crosshair shows only while aiming (off: always for weapons that shoot). | |
Damage Numbers (bDamageNumbers) | bool | True | HUD | Floating damage numbers over the units. | |
Crosshair Color (CrosshairColor) | FRSEUIColor | (Token="Text",Alpha=0.900000,Lightness=0.006294,Chroma=0.000012,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | HUD | ||
Crosshair Size (CrosshairSize) | float | 30.000000 | HUD | Size of the crosshair (layout units). | |
Gauge Color (GaugeColor) | FRSEUIColor | (Token="Charge",Alpha=1.000000,Lightness=-0.075148,Chroma=1.599149,Hue=95.683128,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | HUD | ||
Gauge Width (GaugeWidth) | float | 300.000000 | HUD | Width of the main gauges of the controlled character (layout units). | |
HUDClass (HUDClass) | TSoftClassPtr<URSEActionHUDWidget> | None | HUD | The action HUD (a C++ or Blueprint child of RSE Action HUD Widget). Empty = URSEActionHUDWidget. | |
Layout (Layout) | ERSEActionHUDLayoutChoice | Auto | HUD | ||
Lock Marker Color (LockMarkerColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.020204,Chroma=1.123482,Hue=0.300643,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | HUD | ||
Lock Marker Size (LockMarkerSize) | float | 44.000000 | HUD | Size of the lock-on marker (layout units). | |
Poise Color (PoiseColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.035043,Chroma=0.961372,Hue=10.526348,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | HUD | ||
Stamina Color (StaminaColor) | FRSEUIColor | (Token="Positive",Alpha=1.000000,Lightness=-0.033025,Chroma=0.865333,Hue=-11.323245,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | HUD | ||
Ability Keys (AbilityKeys) | TArray<FKey> | (2 entries) | Input | Use the selected ability. | |
Aim Keys (AimKeys) | TArray<FKey> | (2 entries) | Input | Hold: over the shoulder (weapons that shoot), guard (melee weapons). | |
Dodge Keys (DodgeKeys) | TArray<FKey> | (2 entries) | Input | ||
Fire Mode Keys (FireModeKeys) | TArray<FKey> | (2 entries) | Input | Next fire mode. | |
Guard Keys (GuardKeys) | TArray<FKey> | (2 entries) | Input | Hold to guard. | |
Heavy Attack Keys (HeavyAttackKeys) | TArray<FKey> | (2 entries) | Input | ||
Input Priority (InputPriority) | int32 | 6 | Input | Priority of the action context: above exploration, so its keys win for the battle (the exploration context stays for walking and its other keys wait). | |
Item Keys (ItemKeys) | TArray<FKey> | (2 entries) | Input | Use the first healing item the party carries. | |
Light Attack Keys (LightAttackKeys) | TArray<FKey> | (2 entries) | Input | ||
Lock on Keys (LockOnKeys) | TArray<FKey> | (2 entries) | Input | Hard lock on / off. | |
Look Keys (LookKeys) | TArray<FKey> | (2 entries) | Input | The view (2D axis keys: the mouse, the right stick). | |
Mapping Context (MappingContext) | TSoftObjectPtr<UInputMappingContext> | None | Input | A mapping context asset of your own (its actions are named in the fields below by the keys' order); empty = built from the keys. | |
Next Ability Keys (NextAbilityKeys) | TArray<FKey> | (2 entries) | Input | Select the next ability. | |
Next Target Keys (NextTargetKeys) | TArray<FKey> | (2 entries) | Input | Next target (an axis key's sign picks the side: the mouse wheel). | |
Parry Keys (ParryKeys) | TArray<FKey> | (2 entries) | Input | ||
Previous Target Keys (PreviousTargetKeys) | TArray<FKey> | (2 entries) | Input | ||
Reload Keys (ReloadKeys) | TArray<FKey> | (2 entries) | Input | ||
Stick Deadzone (StickDeadzone) | float | 0.200000 | Input | Gamepad stick deadzone of the look and target switch. | |
Switch Character Keys (SwitchCharacterKeys) | TArray<FKey> | (2 entries) | Input | Take command of the next party member. | |
Party Order Bindings (PartyOrderBindings) | TArray<FRSEActionPartyOrderBinding> | (5 entries) | Input|Party Orders | Direct party orders: each binding's keys give the whole party its order (one input action per binding, listed in the Controls page). | |
Party Order Cycle (PartyOrderCycle) | TArray<ERSEActionPartyOrder> | (5 entries) | Input|Party Orders | The orders Party Order Keys cycles through, in this order (empty = every order). | |
Party Order Keys (PartyOrderKeys) | TArray<FKey> | (2 entries) | Input|Party Orders | Party orders (A2): gives the whole party the next order of Party Order Cycle (the members the AI drives). | |
Aim Trace Range (AimTraceRange) | float | 8000.000000 | Targeting | Farthest an aimed shot looks for what it hits (cm). | |
Aim Turn Speed (AimTurnSpeed) | float | 900.000000 | Targeting | The character turns to the view while aiming (degrees per second). | |
Soft Lock Angle (SoftLockAngle) | float | 55.000000 | Targeting | Soft lock: attacks without a hard lock turn toward the enemy nearest the view within this angle. | |
Soft Lock Range (SoftLockRange) | float | 0.000000 | Targeting | Soft lock reach (cm; 0 = the rules' Lock On Range). | |
Switch Target Cooldown (SwitchTargetCooldown) | float | 0.250000 | Targeting | Seconds between two target switches. |
RPG Saga Engine: Action Commands
Class URSEActionCommandSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Global rules of action commands.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Defense Enabled (bDefenseEnabled) | bool | True | Defense | Player units may block instant enemy attacks with a timed press (damage reduction). | |
Block Good Damage Multiplier (BlockGoodDamageMultiplier) | float | 0.750000 | Defense | ||
Block Miss Damage Multiplier (BlockMissDamageMultiplier) | float | 1.000000 | Defense | Damage taken multiplier per block grade. | |
Block Perfect Damage Multiplier (BlockPerfectDamageMultiplier) | float | 0.500000 | Defense | ||
Block Required Tag (BlockRequiredTag) | FGameplayTag | (TagName="Equip.Type.Shield") | Defense | Only units with this granted tag can block (prompt and damage reduction). Worn equipment grants its Equip.Type tag, so the default Equip.Type.Shield means "a shield is equipped"; a trait tag works too. Empty = anyone. | |
Block Window Max Seconds (BlockWindowMaxSeconds) | float | 1.000000 | Defense | The block window never lasts longer than this (real seconds, from the prompt to the end of its Good tolerance). The battle does not stop meanwhile: the attack plays on in slow motion (Battle Presentation). | |
Default Defense Grade (DefaultDefenseGrade) | ERSEExecutionQuality | Unset | Defense | Grade used when nobody blocks (AI defenders, headless). Unset = no block. | |
Defense Input (DefenseInput) | ERSEActionCommandInput | Block | Defense | The input that blocks (D-066: Block, a key and button of its own, so Enter / A never go to a block prompt while the player is in the command menu). Confirm / Cancel / Any share the menu's keys (the old behavior). | |
Defense Window (DefenseWindow) | FRSEActionCommandWindow | (Time=0.550000,GoodTolerance=0.120000,PerfectTolerance=0.040000) | Defense | ||
Enabled (bEnabled) | bool | True | Offense | Off: no prompts are shown; every command uses DefaultGrade (accessibility option). | |
Default Grade (DefaultGrade) | ERSEExecutionQuality | Good | Offense | Grade used without a player's press: AI, auto-play, headless simulations, commands turned off. | |
Default Window (DefaultWindow) | FRSEActionCommandWindow | (Time=0.600000,GoodTolerance=0.120000,PerfectTolerance=0.040000) | Offense | Window of abilities with a command but no windows of their own. | |
Good Bonus (GoodBonus) | FRSEExecutionBonus | (DamageMultiplier=1.000000,HealMultiplier=1.000000) | Offense | ||
Miss Bonus (MissBonus) | FRSEExecutionBonus | (DamageMultiplier=0.750000,HealMultiplier=0.750000) | Offense | ||
Perfect Bonus (PerfectBonus) | FRSEExecutionBonus | (DamageMultiplier=1.300000,HealMultiplier=1.250000) | Offense | ||
Default Player Mode (DefaultPlayerMode) | ERSEActionCommandPlayerMode | All | Player Option | Player option used until the player picks one (Options menu / RSE.ActionCommand.PlayerMode). |
RPG Saga Engine: Animation & FX Library
Class URSEAnimLibrarySettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Animation & FX Library settings (D-087): Project Settings -> RPG Saga Engine -> Animation & FX Library.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Default Impact Fraction (DefaultImpactFraction) | float | 0.450000 | Dress My Abilities | ||
Impact Notifies (ImpactNotifies) | TArray<FRSEPackNamePattern> | (1 entries) | Dress My Abilities | Montages built for dressed abilities: notifies that mark the hit frame (else Default Impact Fraction). | |
Max Attack Combo (MaxAttackCombo) | int32 | 3 | Dress My Abilities | Clips of a style's attack combo given to a character's Attack Presentations. | |
Library Asset Name (LibraryAssetName) | FString | DA_AnimLibrary | Output | Name of the library asset in the Library Folder. | |
Library Folder (LibraryFolder) | FDirectoryPath | (set per project) | Output | Project folder of the library asset, the styles, the retargeted clips and the dressed looks. Project content only. | |
Borrowed Clips in Place (bBorrowedClipsInPlace) | bool | True | Retargeting | Retargeted clips play in place (root locked): battle presentations do the travelling. | |
Strip Borrowed Effect Notifies (bStripBorrowedEffectNotifies) | bool | True | Retargeting | Retargeted clips lose their particle and trail notifies (effects of another pack's look). Sounds stay. | |
FXTaxonomy (FXTaxonomy) | TSoftObjectPtr<URSEFXTaxonomy> | /RPGSagaEngine/Data/AnimLibrary/DA_FXTaxonomy_Default.DA_FXTaxonomy_Default | Taxonomy | How effects and sounds are classified, and the Dress My Abilities rules. | |
Taxonomy (Taxonomy) | TSoftObjectPtr<URSEAnimTaxonomy> | /RPGSagaEngine/Data/AnimLibrary/DA_AnimTaxonomy_Default.DA_AnimTaxonomy_Default | Taxonomy | How animations are classified (categories, words, slots). The plugin's generic taxonomy fits most packs. | |
Thumbnail Pool Size (ThumbnailPoolSize) | int32 | 128 | Window | Rows of the library window loaded with thumbnails at once (0 = no thumbnails). | |
Thumbnail Size (ThumbnailSize) | int32 | 48 | Window | Thumbnail size in the library window (pixels). |
RPG Saga Engine: Attributes
Class URSEAttributeSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Which attribute registry a game uses (D-054, docs/design/attributes.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Registry (Registry) | TSoftObjectPtr<URSEAttributeRegistry> | None | Attributes | Attribute and resource definitions. Empty = the framework's built-in definitions (HP, MP, Resonance and the standard stats), which reproduce the default rules exactly. |
RPG Saga Engine: Audio
Class URSEAudioSettings (module RSE), Project Settings, Project, RPG Saga Engine. Audio (D-036, docs/design/audio.md): music per context and map, the sound catalog and the mixer.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Channels (Channels) | TMap<ERSEAudioChannel,FRSEAudioChannelSetup> | (5 entries) | Mixer | Engine route and default volume of each channel. Channels without a route get their volume as a gain on the sounds RSE plays. | |
Volume Change Fade Time (VolumeChangeFadeTime) | float | 0.100000 | Mixer | Fade of sound class volume changes. | |
Volume Mix (VolumeMix) | TSoftObjectPtr<USoundMix> | None | Mixer | Sound mix pushed at startup; the channels' sound classes get their volumes through it. Needed only for sound class routes. | |
Area Music Check Interval (AreaMusicCheckInterval) | float | 0.500000 | Music | How often the explorer's area is checked for area-volume music (only on maps that have such volumes). | |
Music Plays when Paused (bMusicPlaysWhenPaused) | bool | True | Music | Music keeps playing while the game is paused (menus). | |
Resume Covered Music (bResumeCoveredMusic) | bool | True | Music | A track that comes back after being covered (area music after a battle) continues where it was, if its length is known. | |
Context Music (ContextMusic) | TMap<ERSEMusicContext,FRSEMusicTrack> | (5 entries) | Music | Default track of each context. A context without a track plays silence (Dialog: dialogs keep the current music). | |
Default Fade In (DefaultFadeIn) | float | 1.000000 | Music | Fade-in of tracks that do not set their own. | |
Default Fade Out (DefaultFadeOut) | float | 1.000000 | Music | Fade-out of the replaced music when the incoming track does not set its own. | |
Map Music (MapMusic) | TMap<TSoftObjectPtr<UWorld> ,FRSEMusicTrack> | (0 entries) | Music | Exploration music of a map, used outside area volumes with music. Maps not listed use ContextMusic[Exploration]. | |
Preload Catalog (bPreloadCatalog) | bool | True | Sound Effects | Loads every catalog sound when the game starts (no delay on the first play). Off: each sound loads on first use. | |
Min Retrigger Time (MinRetriggerTime) | float | 0.040000 | Sound Effects | The same tag does not play again within this time (a menu rebuilt twice in a frame, a hit on many targets). | |
Sound Catalog (SoundCatalog) | TSoftObjectPtr<URSESoundCatalog> | None | Sound Effects | The sound library: GameplayTag -> sound (Audio.UI., Audio.Battle., Audio.World.*). Empty = silent. | |
Battle Event Sounds (BattleEventSounds) | TMap<ERSEBattleEventType,FGameplayTag> | (6 entries) | Sound Effects|Battle | Sound of each presented battle event type. | |
Battle Event Sounds (bBattleEventSounds) | bool | True | Sound Effects|Battle | Presented battle events play catalog sounds (hit, miss, heal, KO, summon). Off when presentation assets play their own. | |
Block Sound (BlockSound) | FGameplayTag | (TagName="Audio.Battle.Block") | Sound Effects|Battle | A defensive command that was not a Miss. | |
Critical Hit Sound (CriticalHitSound) | FGameplayTag | (TagName="Audio.Battle.Crit") | Sound Effects|Battle | Played instead of the DamageDealt sound for critical hits. | |
Perfect Sound (PerfectSound) | FGameplayTag | (TagName="Audio.Battle.Perfect") | Sound Effects|Battle | A Perfect action command grade. |
RPG Saga Engine: Balance
Class URSEBalanceSettings (module RSECore), Project Settings, Project, RPG Saga Engine. "Balance My Campaign" (D-077, docs/product/balance-tool.md): the target bands per kind of battle, the party levels the scenarios use, the knobs the proposals may turn and how long the search runs.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Check Ability Cliffs (bCheckAbilityCliffs) | bool | True | Bands | Flag enemy abilities that unlock strictly inside a zone's level range (a difficulty cliff, D-068). | |
Check One Shots (bCheckOneShots) | bool | True | Bands | Check the D-066 rule: no enemy takes a full-HP party member down with one normal hit. | |
Boss Win Rate (%) (BossWinRate) | FRSEProgressionBand | (Min=30.000000,Max=60.000000) | Bands | ||
Use Campaign Turn Bands (bUseCampaignTurnBands) | bool | False | Bands | Party turns per battle from the campaign's targets (TurnsPerBattle for normal / elite, KeyBattleTurns for the others). Off by default: those are zone medians over every mode, and a Tactics battle counts many more unit turns than an ATB one. | |
Class Swing Threshold (ClassSwingThreshold) | float | 20.000000 | Bands | A class is an outlier when parties with it win this many points more or less than parties without it. | |
Elite Win Rate (%) (EliteWinRate) | FRSEProgressionBand | (Min=55.000000,Max=80.000000) | Bands | ||
Key Turns (KeyTurns) | FRSEProgressionBand | (Min=8.000000,Max=96.000000) | Bands | Party turns of key, boss and ultra battles (~24 rounds of a party of four). | |
Key Battle Win Rate (%) (KeyWinRate) | FRSEProgressionBand | (Min=60.000000,Max=85.000000) | Bands | ||
Max Timeout Rate (MaxTimeoutRate) | float | 5.000000 | Bands | Highest acceptable share of battles stopped by the simulator's guard (percent). | |
Normal Win Rate (%) (NormalWinRate) | FRSEProgressionBand | (Min=75.000000,Max=95.000000) | Bands | --- Win-rate bands (percent of battles won by the standard party) --- | |
Regular Turns (RegularTurns) | FRSEProgressionBand | (Min=4.000000,Max=48.000000) | Bands | Party turns (every party unit's turns together) of normal and elite battles. The default allows ~12 rounds of a party of four. | |
Ultra Boss Win Rate (%) (UltraWinRate) | FRSEProgressionBand | (Min=30.000000,Max=60.000000) | Bands | ||
Tune Enemy Count (bTuneEnemyCount) | bool | True | Knobs | Try one enemy more or less. | |
Class Growth Steps (ClassGrowthSteps) | TArray<float> | (3 entries) | Knobs | Class growth steps (percent on the PerLevel of the Progression Designer's vitality and power stats). | |
Class Probe Scenarios (ClassProbeScenarios) | int32 | 6 | Knobs | Alternative-party scenarios a class candidate is measured on. | |
Enemy Count Cost (EnemyCountCost) | float | 3.000000 | Knobs | ||
Enemy Stat Cost (EnemyStatCost) | float | 2.000000 | Knobs | ||
Enemy Stat Steps (EnemyStatSteps) | TArray<float> | (3 entries) | Knobs | Enemy family steps (percent on the enemy's HP and offense), when no encounter knob lands in the band. | |
Intelligence Cost (IntelligenceCost) | float | 1.500000 | Knobs | ||
Intelligence Steps (IntelligenceSteps) | TArray<float> | (2 entries) | Knobs | Intelligence floors (harder) / caps (easier) tried, as steps from the encounter's current bounds. | |
Level Cost (LevelCost) | float | 1.000000 | Knobs | Cost of a change when choosing between candidates that land in the band (per level, per step, per enemy, per 10%). | |
Max Level Step (MaxLevelStep) | int32 | 3 | Knobs | Largest level step tried on an encounter (offset or fixed level). | |
Min Improvement (MinImprovement) | float | 0.400000 | Knobs | A candidate that does not land in the band is kept only if it removes at least this share of the score. | |
One Shot Steps (OneShotSteps) | TArray<float> | (4 entries) | Knobs | Offense steps (percent) tried against a one-shot. | |
Turn Weight (TurnWeight) | float | 2.000000 | Knobs | Score points per party turn outside the turn band (win-rate points count 1 each). | |
Alternative Party Kinds (AlternativePartyKinds) | TArray<ERSEEncounterBalanceRole> | (1 entries) | Party Levels | Alternative parties play these kinds of battle (their other flags would repeat the standard party's). | |
Boss Level (BossLevel) | FRSEBalanceLevelRule | (Fraction=1.000000) | Party Levels | Bosses: the zone's exit level. | |
Elite Level (EliteLevel) | FRSEBalanceLevelRule | (Fraction=0.500000) | Party Levels | ||
Key Level (KeyLevel) | FRSEBalanceLevelRule | (Fraction=0.500000,Rounding=Up) | Party Levels | Key battles: halfway through the zone, rounded up. | |
Normal Level (NormalLevel) | FRSEBalanceLevelRule | (Fraction=0.500000) | Party Levels | Normal battles: halfway through the zone's target levels, rounded down (the D-068 scenarios). | |
Ultra Level (UltraLevel) | FRSEBalanceLevelRule | (Source=OptionalTarget,Fraction=1.000000) | Party Levels | Ultra bosses: the recommended level of the campaign's optional content. | |
Report Folder (ReportFolder) | FString | Balance | Report | Reports go to <Project>/Saved/<ReportFolder>/<timestamp>_<campaign>/ (report.md, report.json). | |
Max Iterations (MaxIterations) | int32 | 3 | Simulation | ||
Runs (Runs) | int32 | 40 | Simulation | Battles per scenario (seeds Seed .. Seed + Runs - 1). | |
Runs Per Slice (RunsPerSlice) | int32 | 5 | Simulation | Battles per time slice (the editor window stays responsive between slices). | |
Search Runs (SearchRuns) | int32 | 20 | Simulation | Battles per candidate while searching (the first seeds of the scenario); accepted changes are re-measured with Runs. | |
Slice Milliseconds (SliceMilliseconds) | float | 40.000000 | Simulation | Time the editor window gives the job per frame. | |
Time Budget Seconds (TimeBudgetSeconds) | float | 900.000000 | Simulation |
RPG Saga Engine: Barks
Class URSEBarkSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Project Settings -> RPG Saga Engine -> Barks (D-157): the pools every NPC falls back on and how often NPCs talk.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Decision Window Seconds (DecisionWindowSeconds) | float | 0.250000 | Budget | Requests made within this time are decided together: the speaker with the highest priority, then the nearest to the player (the most relevant) wins. 0 = decided at once, first come first served. | |
Global Cooldown Seconds (GlobalCooldownSeconds) | float | 2.500000 | Budget | Least time between two automatic lines starting anywhere (a crowd never talks in chorus). | |
Max Concurrent Lines (MaxConcurrentLines) | int32 | 1 | Budget | Most lines said at once over NPCs' heads (automatic ones: greetings, small talk, proximity barks). 0 = no automatic lines. | |
Quiet After Screen Seconds (QuietAfterScreenSeconds) | float | 2.000000 | Budget | No automatic lines while a dialog, a document or any modal screen is open, and this long after it closed. | |
Approach Kind (ApproachKind) | FGameplayTag | (TagName="Bark.Kind.Greeting") | Choice | The kind asked for when the party comes near (Bark.Kind.Greeting); lines of other kinds are used when it has none. | |
Talk Falls Back to Lines (bTalkFallsBackToLines) | bool | True | Choice | Talking to an NPC with no dialog and no interaction gets one of its lines (off: no prompt for it). | |
Fallback Lines (FallbackLines) | TArray<FText> | (3 entries) | Choice | What an NPC says when it is talked to and none of its lines passes now (all conditional, none fits the hour or the weather) or its interaction / dialog had nothing to run: Talk is never silent. One is picked at random. | |
Repeat Memory (RepeatMemory) | int32 | 3 | Choice | How many of an NPC's last lines it avoids repeating while it has others to say. | |
Default Pools (DefaultPools) | TArray<TSoftObjectPtr<URSEBarkPoolData> > | (1 entries) | Pools | Used by NPCs without pools of their own or of their NPC Type: nobody is mute. | |
Global Pools (GlobalPools) | TArray<TSoftObjectPtr<URSEBarkPoolData> > | (3 entries) | Pools | Shared by every NPC on top of its own (weather talk, the region's rumours). | |
Ambient Interval (AmbientInterval) | FVector2D | (X=12.000000,Y=24.000000) | Timing | Seconds between an NPC's small talk while the party stays near (random between the two; 0 = only on approach). | |
Max Seconds (MaxSeconds) | float | 6.000000 | Timing | ||
Min Seconds (MinSeconds) | float | 2.500000 | Timing | ||
Seconds Per Character (SecondsPerCharacter) | float | 0.060000 | Timing | How long a line stays over the speaker (seconds per character, with a minimum and a maximum). |
RPG Saga Engine: Battle
Class URSEBattleSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Global battle rules.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
ATBBack Row Physical Multiplier (ATBBackRowPhysicalMultiplier) | float | 0.500000 | ATB | Physical damage multiplier when the attacker or the target stands in the back row (each applies). | |
ATBFill Per Speed (ATBFillPerSpeed) | float | 2.000000 | ATB | Gauge filled per second per point of Speed. | |
ATBGauge Max (ATBGaugeMax) | float | 100.000000 | ATB | A unit gets a command when its gauge reaches this value. | |
ATBInitial Gauge Per Speed (ATBInitialGaugePerSpeed) | float | 3.000000 | ATB | Gauge at battle start per point of Speed (never a full gauge). | |
ATBParty Size (ATBPartySize) | int32 | 4 | ATB | Characters in an ATB party. | |
ATBStep Seconds (ATBStepSeconds) | float | 0.033333 | ATB | Fixed simulation step, in seconds. Smaller = finer timing, more work. | |
Default ATBTime Mode (DefaultATBTimeMode) | ERSEATBTimeMode | Wait | ATB | Default time mode, used until the player picks one in the options (D-022, D-038). | |
Busy Commands (BusyCommands) | ERSEATBBusyCommands | Queue | ATB|Commands | A command given while an action is still being shown: queued (runs right after it) or refused. | |
Flee Base Chance (FleeBaseChance) | float | 40.000000 | ATB|Flee | Flee chance in percent: base, plus per point of (party average Speed - enemy average Speed). | |
Flee Chance Per Speed (FleeChancePerSpeed) | float | 3.000000 | ATB|Flee | ||
Flee Max Chance (FleeMaxChance) | float | 95.000000 | ATB|Flee | ||
Flee Min Chance (FleeMinChance) | float | 5.000000 | ATB|Flee | ||
Active Menu Time Scale (ActiveMenuTimeScale) | float | 1.000000 | ATB|Time | Active mode: time scale while the player is in a sub-list or picks a target (1 = full speed, the classic Active; 0.5 = half speed while choosing). The first command list always runs at full speed. | |
Wait Pauses Enemies (bWaitPausesEnemies) | bool | True | ATB|Time | Wait mode: while time stands still, ready enemies wait too (no new enemy action starts; the one being shown finishes). | |
Wait Pause (WaitPause) | ERSEATBWaitPause | AnyMenu | ATB|Time | Wait mode: which open command menus stop ATB time (D-065). | |
Base Critical Chance (BaseCriticalChance) | float | 5.000000 | Damage | Base critical chance in percent. | |
Critical Multiplier (CriticalMultiplier) | float | 1.500000 | Damage | ||
Defense Constant (DefenseConstant) | float | 100.000000 | Damage | Defense reduces damage by DefenseConstant / (DefenseConstant + Defense): diminishing returns, never immune. | |
Max Hit Chance (MaxHitChance) | float | 100.000000 | Damage | ||
Min Damage (MinDamage) | int32 | 1 | Damage | Smallest damage of a hit that is not nullified by affinity. | |
Min Hit Chance (MinHitChance) | float | 5.000000 | Damage | Hit chance bounds in percent, after Accuracy - Evasion and positional bonuses. | |
Variance Max (VarianceMax) | float | 1.100000 | Damage | ||
Variance Min (VarianceMin) | float | 0.900000 | Damage | Random damage spread: each hit is multiplied by a value in [VarianceMin, VarianceMax]. | |
Affinity Multipliers (AffinityMultipliers) | TMap<ERSEElementAffinity,float> | (5 entries) | Elements | Damage multiplier per affinity. Negative values heal (absorb). | |
Default Encounter Mode (DefaultEncounterMode) | FGameplayTag | () | Encounters | The mode new battles start with when the wizards and the Studio make an encounter (Battle.Mode.Tactics, ATB, Turn, Action; D-171 A7). Empty = Project Settings -> Wizards -> Default Battle Mode. A game that is mostly real-time sets Action; each encounter still decides its own mode. | |
Jump Down Bonus (JumpDownBonus) | int32 | 1 | Tactics|Movement | Height steps a unit may drop beyond its Jump stat. | |
Back Damage Multiplier (BackDamageMultiplier) | float | 1.500000 | Tactics|Positioning | ||
Back Hit Bonus (BackHitBonus) | float | 25.000000 | Tactics|Positioning | ||
Height Damage Max (HeightDamageMax) | float | 1.500000 | Tactics|Positioning | ||
Height Damage Min (HeightDamageMin) | float | 0.700000 | Tactics|Positioning | ||
Height Damage Per Step (HeightDamagePerStep) | float | 0.100000 | Tactics|Positioning | Damage change per height step the attacker stands above (or below) the target. | |
Line Of Sight Eye Height (LineOfSightEyeHeight) | float | 2.000000 | Tactics|Positioning | Eye height above a tile surface for line of sight, in height steps. | |
Side Damage Multiplier (SideDamageMultiplier) | float | 1.250000 | Tactics|Positioning | Damage multiplier when hitting a target from the side / from behind. | |
Side Hit Bonus (SideHitBonus) | float | 10.000000 | Tactics|Positioning | Extra hit chance (percent points) when attacking from the side / from behind. | |
CTThreshold (CTThreshold) | int32 | 100 | Tactics|Turn Order | A unit takes its turn when its CT reaches this value. | |
KOCountdown Turns (KOCountdownTurns) | int32 | 3 | Tactics|Turn Order | Tactics: own turns a fallen unit can wait to be revived before it leaves the battle. 0 = no countdown. | |
Turn CTCost Full (TurnCTCostFull) | int32 | 100 | Tactics|Turn Order | CT spent by a turn in which all Action Points were used. Partial use interpolates. | |
Turn CTCost Idle (TurnCTCostIdle) | int32 | 60 | Tactics|Turn Order | CT spent by a turn in which no Action Points were used. |
RPG Saga Engine: Battle Feel
Class URSEBattleFeelSettings (module RSE), Project Settings, Project, RPG Saga Engine. The feel of battles (D-115, docs/product/free-tactics.md "Battle feel"): how a live battle starts (a ring spreading from the contact point, the enemies turning with a bark, the HUD fading in), the pace of every action (wind-up or cast, hit-stop, the target's reaction, recovery), the juice (element-c...
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Alert Bark Chance (AlertBarkChance) | float | 0.600000 | Entry | Chance of each enemy after the first to bark (the first always does). | |
Alert Barks (AlertBarks) | TArray<FText> | (4 entries) | Entry | Lines the enemies shout as they turn ("!", "There!"). A character's Battle Barks -> Alert replaces them. | |
Alert Bark Stagger (AlertBarkStagger) | float | 0.180000 | Entry | Seconds between two barks (they come one after another). | |
Bark Seconds (BarkSeconds) | float | 1.400000 | Entry | Seconds a bark stays over the unit. | |
Enemies Face Party (bEnemiesFaceParty) | bool | True | Entry | Enemies that noticed the party turn toward it at the start (not when the party surprised them). Their facing is the battle's. | |
Entry Sequence (bEntrySequence) | bool | True | Entry | A live battle starts with its entry sequence: the ring, the enemies turning, the barks, the HUD fading in. Off: at once. | |
Entry Min Seconds (EntryMinSeconds) | float | 1.000000 | Entry | The first turn waits until the entry has played this long (real seconds; at least the ring's spread). | |
Entry Turn Seconds (EntryTurnSeconds) | float | 0.400000 | Entry | Real seconds the enemies take to turn (and a unit nudged to a free spot takes to slide there). | |
HUDFade Delay (HUDFadeDelay) | float | 0.350000 | Entry | The battle HUD fades in after this many real seconds, over HUD Fade Seconds. | |
HUDFade Seconds (HUDFadeSeconds) | float | 0.500000 | Entry | ||
Max Alert Barks (MaxAlertBarks) | int32 | 3 | Entry | At most this many enemies bark at the start. | |
Ring Color (RingColor) | FLinearColor | (R=1.000000,G=0.620000,B=0.250000,A=0.900000) | Entry | ||
Ring Fade Seconds (RingFadeSeconds) | float | 0.600000 | Entry | ||
Ring Hold Seconds (RingHoldSeconds) | float | 0.300000 | Entry | The ring stays this long at its radius, then fades over Ring Fade Seconds. | |
Ring Material (RingMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Battle/M_RSE_BattleRing.M_RSE_BattleRing | Entry | Deferred decal of the ring, the magic circles and the telegraphs (M_RSE_BattleRing: Color, Ring, Fill, Runes, Opacity). | |
Ring Radius (RingRadius) | float | 10.000000 | Entry | Radius the ring spreads to (meters). 0 = half the captured battle area. | |
Ring Spread Seconds (RingSpreadSeconds) | float | 0.800000 | Entry | Seconds (real time) the battle ring takes to spread from the contact point to its radius. | |
Ring Width (RingWidth) | float | 40.000000 | Entry | Width of the ring's line on the ground (cm). | |
Show Intent (bShowIntent) | bool | True | Intent | On an enemy's turn, its intent shows over it briefly (icon and bark) before it acts. | |
Callout Height (CalloutHeight) | float | 230.000000 | Intent | Height of barks and intents above a unit's feet (cm). | |
Intent Bark Chance (IntentBarkChance) | float | 0.500000 | Intent | Chance that the enemy also shouts a line with its intent. | |
Intent Display Seconds (IntentDisplaySeconds) | float | 1.500000 | Intent | Seconds the intent stays on screen. | |
Intent Icon Material (IntentIconMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/UI/M_RSE_IntentIcon.M_RSE_IntentIcon | Intent | UI material of the built-in icons (M_RSE_IntentIcon: Shape, Color). | |
Intent Icon Size (IntentIconSize) | float | 36.000000 | Intent | Icon size on screen (pixels at 1080p). | |
Intent Lookahead (IntentLookahead) | int32 | 4 | Intent | An enemy that walks first decides the rest of its turn this many steps ahead (spread over frames), so its intent shows what the walk is for (walk up and strike = Attack). 0 = a walk shows Move. | |
Intents (Intents) | TMap<ERSEBattleIntent,FRSEIntentLook> | (9 entries) | Intent | Each intent's icon, color and lines. | |
Intent Seconds (IntentSeconds) | float | 0.750000 | Intent | Seconds the enemy waits with its intent shown before acting (game seconds, follows the battle speed). | |
Cast Circle (bCastCircle) | bool | True | Juice | Spells and supports draw a magic circle under the caster while they charge. | |
Impact Flash (bImpactFlash) | bool | True | Juice | Element-colored flash at each hit target at the impact. | |
Impact Shake (bImpactShake) | bool | False | Juice | A small camera shake at impacts (stronger on criticals). Off by default (D-113: the live camera never jolts); Free Tactics (Presentation) -> Action Camera Shake also turns it on. | |
Projectiles (bProjectiles) | bool | True | Juice | Spells at a distance fly to their target (a glowing core with the element's trail) instead of landing at once. | |
Telegraph (bTelegraph) | bool | True | Juice | Where a spell will land is marked on the ground while it charges (its area, or the target's footprint). | |
Weapon Trails (bWeaponTrails) | bool | True | Juice | Melee strikes leave a ribbon trail on the weapon during the swing (a presentation may turn it on or off). | |
Cast Circle Radius (CastCircleRadius) | float | 120.000000 | Juice | ||
Critical Scale (CriticalScale) | float | 1.600000 | Juice | Criticals: larger flash, stronger shake, bigger number. | |
Elements (Elements) | TMap<FGameplayTag,FRSEElementLook> | (8 entries) | Juice | Per element (Element.*): color and default effects. Abilities without an element use Neutral Look. | |
Glow Material (GlowMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Visual/Feel/M_RSE_FXGlow.M_RSE_FXGlow | Juice | ||
Glow Mesh (GlowMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Sphere.Sphere | Juice | Mesh and additive material of flashes and projectile cores (a sphere, M_RSE_FXGlow: Color, Intensity, Opacity). | |
Impact Flash Intensity (ImpactFlashIntensity) | float | 5.000000 | Juice | ||
Impact Flash Seconds (ImpactFlashSeconds) | float | 0.240000 | Juice | ||
Impact Flash Size (ImpactFlashSize) | float | 90.000000 | Juice | Size of the impact flash (cm, its widest). Criticals are Critical Scale larger. | |
Impact Shake Amplitude (ImpactShakeAmplitude) | float | 4.000000 | Juice | ||
Impact Shake Seconds (ImpactShakeSeconds) | float | 0.160000 | Juice | ||
Neutral Look (NeutralLook) | FRSEElementLook | (Color=(R=1.000000,G=0.930000,B=0.800000,A=1.000000),CastEffect="/RPGSagaEngine/Visual/Feel/NS_RSE_Cast_Neutral.NS_RSE_Cast_Neutral",ImpactEffect="/RPGSagaEngin... | Juice | ||
Projectile Arc (ProjectileArc) | float | 60.000000 | Juice | Height of the projectile's arc at its middle (cm). | |
Projectile Min Distance (ProjectileMinDistance) | float | 250.000000 | Juice | Targets closer than this (cm) get no projectile. | |
Projectile Size (ProjectileSize) | float | 30.000000 | Juice | ||
Support Look (SupportLook) | FRSEElementLook | (Color=(R=0.450000,G=1.000000,B=0.600000,A=1.000000),CastEffect="/RPGSagaEngine/Visual/Feel/NS_RSE_Cast_Support.NS_RSE_Cast_Support",ImpactEffect="/RPGSagaEngin... | Juice | Color of heals and buffs (flashes, circles, telegraphs of support actions). | |
Telegraph Fill (TelegraphFill) | float | 0.100000 | Juice | Opacity of the telegraph's fill (its outline is opaque). | |
Telegraph Min Radius (TelegraphMinRadius) | float | 75.000000 | Juice | Smallest telegraph radius (cm): a single target's mark. | |
Trail Anchor (TrailAnchor) | FGameplayTag | (TagName="Appearance.Anchor.WeaponTip") | Juice | Where the trail is attached (Appearance.Anchor.*: the weapon tip, else the hand). | |
Trail Linger (TrailLinger) | float | 0.120000 | Juice | The trail keeps emitting this long after the impact. | |
Weapon Trail (WeaponTrail) | TSoftObjectPtr<UNiagaraSystem> | /RPGSagaEngine/Visual/Feel/NS_RSE_WeaponTrail.NS_RSE_WeaponTrail | Juice | The trail (a ribbon Niagara system that follows its emitter, NS_RSE_WeaponTrail). | |
Free Tactics Pacing (FreeTacticsPacing) | FRSEActionPacingDefaults | (bEnabled=True,Melee=(bOverride=True,WindUp=0.280000,ImpactHold=0.090000,HitStopDilation=0.030000,HitSlide=22.000000,Recovery=0.400000,ProjectileSpeed=1600.0000... | Pacing | The pace of each kind of action in Free Tactics and the floors no override goes under (D-115). | |
Turn Reframe Dead Zone (TurnReframeDeadZone) | float | 3.000000 | Pacing | At a new turn the camera glides to the active unit when it is farther than this from the view's center (meters). | |
Turn Reframe Seconds (TurnReframeSeconds) | float | 0.550000 | Pacing | Real seconds of that glide (eased in and out, at the current zoom: no close-ups). 0 = the camera's own interpolation. | |
Wind Up Draw Back (WindUpDrawBack) | float | 14.000000 | Pacing | Melee and ranged wind-up: the actor draws back this far (cm) before the strike. | |
Status Effects (bStatusEffects) | bool | True | Statuses | Status effects on units while statuses last (their Loop Effect, else the visual for their tag below). | |
Max Status Effects Per Unit (MaxStatusEffectsPerUnit) | int32 | 2 | Statuses | At most this many status effects on one unit at a time (the newest win). | |
Status Visuals (StatusVisuals) | TMap<FGameplayTag,FRSEStatusVisual> | (21 entries) | Statuses | Fallback looks by status tag (Status.*; a parent tag covers its children). |
RPG Saga Engine: Battle Flow UI
Class URSEBattleFlowUISettings (module RSE), Project Settings, Project, RPG Saga Engine. What happens on screen after a battle (D-030, D-031): the victory results screen and the game over screen.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Game Over Delay (GameOverDelay) | float | 1.500000 | Flow | Pause after the defeat banner before the game over screen opens. | |
Results Delay (ResultsDelay) | float | 1.200000 | Flow | Pause after the victory banner before the results screen opens. | |
Results Presentation (ResultsPresentation) | ERSEResultsPresentation | Screen | Flow | D-128: how a won Tactics or ATB battle shows its rewards: the classic results screen (default), or the reward feed (floating texts and toasts over the world, Project Settings -> Reward Feed). Free Tactics battles choose with Free Tactics -> Results Mode. | |
Screen ZOrder (ScreenZOrder) | int32 | 20 | Flow | Viewport Z order of both screens (above the battle HUDs). | |
Game Over Background Color (GameOverBackgroundColor) | FRSEUIColor | (Token="Black",Alpha=0.750000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Layout | Covers the screen behind the game over menu. | |
Game Over Menu Width (GameOverMenuWidth) | float | 380.000000 | Layout | ||
Results Width (ResultsWidth) | float | 520.000000 | Layout | Width of the rewards column of the results screen. | |
Statistics Number Column Width (StatisticsNumberColumnWidth) | float | 76.000000 | Layout | Width of each number column of the statistics table (dealt, taken, KOs). | |
Statistics Width (StatisticsWidth) | float | 420.000000 | Layout | Width of the battle statistics column of the results screen (0 = no statistics column). | |
Experience Bar Color (ExperienceBarColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=-0.035760,Chroma=1.293677,Hue=13.383118,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Layout|Results | Experience bar: the part the member had before the battle. | |
Experience Bar Height (ExperienceBarHeight) | float | 7.000000 | Layout|Results | ||
Experience Gain Color (ExperienceGainColor) | FRSEUIColor | (Token="Rare",Alpha=1.000000,Lightness=-0.007420,Chroma=0.969650,Hue=-2.652298,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Layout|Results | Experience bar: the part gained in this battle (the whole bar after a level up). | |
Item Columns (ItemColumns) | int32 | 2 | Layout|Results | Items gained are laid out in this many columns. | |
Member Card Width (MemberCardWidth) | float | 230.000000 | Layout|Results | Width of one member card (name, level, experience bar, level up, new abilities). | |
Portrait Size (PortraitSize) | float | 52.000000 | Layout|Results | Portrait slot of a member card (the speaker portrait of the character; the initial when it has none). 0 = no portrait. | |
Rare Item Color (RareItemColor) | FRSEUIColor | (Token="Rare",Alpha=1.000000,Lightness=-0.061545,Chroma=0.675865,Hue=-151.382233,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Layout|Results | ||
Rare Item Min Buy Price (RareItemMinBuyPrice) | int32 | 300 | Layout|Results | An item worth at least this much (buy price) is a rare drop: highlighted with RareItemColor and RareBadge. 0 = none. | |
Game Over Widget Class (GameOverWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | Game over screen (D-052). Empty = built-in. A Widget Blueprint derived from RSEScreenWidget receives a RSEGameOverViewModel. | |
Results Widget Class (ResultsWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | Results screen (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEResultsViewModel (docs/product/custom-ui.md). | |
Game Over Hint (GameOverHint) | FText | NSLOCTEXT("RSEBattleFlowUI", "GameOverHint", "Up / Down: select Select: choose") | Texts|Game Over | ||
Game Over Title (GameOverTitle) | FText | NSLOCTEXT("RSEBattleFlowUI", "GameOverTitle", "Game Over") | Texts|Game Over | --- Game over texts --- | |
Load Label (LoadLabel) | FText | NSLOCTEXT("RSEBattleFlowUI", "Load", "Load last save") | Texts|Game Over | ||
Load Unavailable Detail (LoadUnavailableDetail) | FText | NSLOCTEXT("RSEBattleFlowUI", "LoadUnavailable", "No saved games") | Texts|Game Over | Detail next to Load when there is no save. | |
Main Menu Label (MainMenuLabel) | FText | NSLOCTEXT("RSEBattleFlowUI", "MainMenu", "Return to main menu") | Texts|Game Over | ||
Retry Label (RetryLabel) | FText | NSLOCTEXT("RSEBattleFlowUI", "Retry", "Retry battle") | Texts|Game Over | ||
Unavailable Detail (UnavailableDetail) | FText | NSLOCTEXT("RSEBattleFlowUI", "Unavailable", "Not available") | Texts|Game Over | Detail next to an option that cannot be used for another reason (no main menu map, nothing to retry). | |
Card Level Format (CardLevelFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "CardLevel", "{Term.LevelShort} {Level}") | Texts|Results | Level on a card ({Level}). | |
Card Level Up Format (CardLevelUpFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "CardLevelUp", "{Term.LevelShort} {OldLevel} → {Level}") | Texts|Results | Level on the card of a member that levelled up ({OldLevel}, {Level}). | |
Continue Label (ContinueLabel) | FText | NSLOCTEXT("RSEBattleFlowUI", "Continue", "Continue") | Texts|Results | ||
Experience Gained Format (ExperienceGainedFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "ExperienceGained", "+{Amount} {Term.ExperienceShort}") | Texts|Results | Experience gained on a card ({Amount}). | |
Experience Label (ExperienceLabel) | FText | NSLOCTEXT("RSEBattleFlowUI", "ExperienceLabel", "{Term.Experience}") | Texts|Results | ||
Item Count Format (ItemCountFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "ItemCount", "×{Count}") | Texts|Results | Count of an item gained ({Count}). | |
Item Format (ItemFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "Item", "{Item} x{Count}") | Texts|Results | One item: {Item}, {Count}. | |
Items Header (ItemsHeader) | FText | NSLOCTEXT("RSEBattleFlowUI", "ItemsHeader", "{Term.Items} obtained") | Texts|Results | ||
KOBadge (KOBadge) | FText | NSLOCTEXT("RSEBattleFlowUI", "KOBadge", "KO") | Texts|Results | Badge of a member that ended the battle KO. | |
Level Up Badge (LevelUpBadge) | FText | NSLOCTEXT("RSEBattleFlowUI", "LevelUpBadge", "LEVEL UP!") | Texts|Results | Badge of a member that levelled up. | |
Level Up Format (LevelUpFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "LevelUp", "{Name} reached level {Level}!") | Texts|Results | A level up: {Name}, {Level}. | |
Max Level Text (MaxLevelText) | FText | NSLOCTEXT("RSEBattleFlowUI", "MaxLevel", "Maximum level") | Texts|Results | ||
Member Format (MemberFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "Member", "{Name} {Term.LevelShort} {Level} +{Amount} {Term.ExperienceShort}") | Texts|Results | One member: {Name}, {Level}, {Amount} (experience gained). | |
Member KOText (MemberKOText) | FText | NSLOCTEXT("RSEBattleFlowUI", "MemberKO", "{Name} {Term.LevelShort} {Level} KO: no experience") | Texts|Results | Detail of a fallen member (gets no experience). | |
Money Label (MoneyLabel) | FText | NSLOCTEXT("RSEBattleFlowUI", "MoneyLabel", "{Term.Money}") | Texts|Results | ||
Money Value Format (MoneyValueFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "MoneyValue", "+{Money}") | Texts|Results | Money value in the spoils ({Money}, already formatted by the Economy settings). | |
New Ability Format (NewAbilityFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "NewAbility", "{Name} learned {Ability}.") | Texts|Results | An ability learned: {Name}, {Ability}. | |
No Items Text (NoItemsText) | FText | NSLOCTEXT("RSEBattleFlowUI", "NothingFound", "Nothing found") | Texts|Results | ||
Pact Points Format (PactPointsFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "PactPoints", "{Pact}: +{Amount} Pact points") | Texts|Results | Pact points: {Pact}, {Amount}. | |
Pact Points Label Format (PactPointsLabelFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "PactPointsLabel", "{Pact} (Pact points)") | Texts|Results | Pact points row of the spoils: label ({Pact}) and value ({Amount}). | |
Pact Points Value Format (PactPointsValueFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "PactPointsValue", "+{Amount}") | Texts|Results | ||
Rare Badge (RareBadge) | FText | NSLOCTEXT("RSEBattleFlowUI", "RareBadge", "RARE") | Texts|Results | Badge of a rare drop. | |
Recruited Format (RecruitedFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "Recruited", "{Name}") | Texts|Results | A character captured in the battle joined the party: label ({Name}); the value is RecruitedValue. | |
Recruited Value (RecruitedValue) | FText | NSLOCTEXT("RSEBattleFlowUI", "RecruitedValue", "joined the party") | Texts|Results | ||
Results Hint (ResultsHint) | FText | NSLOCTEXT("RSEBattleFlowUI", "ResultsHint", "Select: continue") | Texts|Results | ||
Results Title (ResultsTitle) | FText | NSLOCTEXT("RSEBattleFlowUI", "ResultsTitle", "Victory") | Texts|Results | --- Results texts ({Name}, {Amount}, {Level}, {Ability}, {Item}, {Count}, {Pact} are filled in) --- | |
Spoils Header (SpoilsHeader) | FText | NSLOCTEXT("RSEBattleFlowUI", "SpoilsHeader", "Spoils") | Texts|Results | Title of the spoils section (experience, money, Pact points, items). | |
To Next Format (ToNextFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "ToNext", "Next level: {Amount}") | Texts|Results | Experience still needed for the next level ({Amount}). | |
Total Experience Format (TotalExperienceFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "TotalExperience", "{Term.Experience} earned: {Amount}") | Texts|Results | Line with the total experience. | |
Biggest Hit Critical Format (BiggestHitCriticalFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "BiggestHitCritical", "Biggest hit: {Amount}, critical ({Name}, {Ability})") | Texts|Statistics | The biggest hit was a critical hit. | |
Biggest Hit Format (BiggestHitFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "BiggestHit", "Biggest hit: {Amount} ({Name}, {Ability})") | Texts|Statistics | {Amount}, {Name} (who hit), {Ability} (ability or item). | |
Biggest Hit No Ability Format (BiggestHitNoAbilityFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "BiggestHitNoAbility", "Biggest hit: {Amount} ({Name})") | Texts|Statistics | The biggest hit has no known ability ({Amount}, {Name}). | |
Dealt Column (DealtColumn) | FText | NSLOCTEXT("RSEBattleFlowUI", "DealtColumn", "Dealt") | Texts|Statistics | ||
Duration Format (DurationFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "Duration", "Duration: {Time}") | Texts|Statistics | Real-time battles: {Time} (m:ss). | |
Enemies Defeated Format (EnemiesDefeatedFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "EnemiesDefeated", "{Term.Enemies} defeated: {Count}") | Texts|Statistics | ||
Items Used Format (ItemsUsedFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "ItemsUsed", "{Term.Items} used: {Count}") | Texts|Statistics | ||
KOs Column (KOsColumn) | FText | NSLOCTEXT("RSEBattleFlowUI", "KOsColumn", "KOs") | Texts|Statistics | ||
Member Column (MemberColumn) | FText | NSLOCTEXT("RSEBattleFlowUI", "MemberColumn", "Member") | Texts|Statistics | Column headers of the member table. | |
Member Fell Format (MemberFellFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "MemberFell", "{Name} (fell)") | Texts|Statistics | After the name of a member that fell during the battle ({Name}). | |
Statistics Header (StatisticsHeader) | FText | NSLOCTEXT("RSEBattleFlowUI", "StatisticsHeader", "Battle statistics") | Texts|Statistics | --- Battle statistics ({Count}, {Time}, {Amount}, {Name}, {Ability}) --- | |
Taken Column (TakenColumn) | FText | NSLOCTEXT("RSEBattleFlowUI", "TakenColumn", "Taken") | Texts|Statistics | ||
Turns Format (TurnsFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "Turns", "Turns: {Count}") | Texts|Statistics | Turn-based battles: {Count} turns of the party. | |
Units Lost Format (UnitsLostFormat) | FText | NSLOCTEXT("RSEBattleFlowUI", "UnitsLost", "Units lost: {Count}") | Texts|Statistics |
RPG Saga Engine: Battle Menus
Class URSEBattleMenuSettings (module RSE), Project Settings, Project, RPG Saga Engine. Battle menus (D-122): the menu styles the game offers, the one Free Tactics uses and what its menu holds.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Default Icons (DefaultIcons) | TMap<FName,TSoftObjectPtr<UTexture2D> > | (14 entries) | Content | D-132: icons by id for categories and turn commands the menu data leaves without one (a category: the menu config's icon wins; an entry: its own icon wins, ids like "Door.2" use the part before the dot). Keys are category and entry ids: Move, Jump, Attack, Skills, Magic, Items, Field, Flee, Door, EndTurn, Pact... The plugin's defaults use its own glyphs. | |
Element Colors (ElementColors) | TMap<FGameplayTag,FLinearColor> | (8 entries) | Content | D-147: the color of each element in tooltips (Element.*); elements without one use the text color. | |
Free Tactics Menu (FreeTacticsMenu) | TSoftObjectPtr<URSEBattleMenuConfig> | None | Content | What the Free Tactics menu holds (providers and categories). Empty = the built-in providers (Move, the class's commands, Flee, doors, End Turn). | |
Target Badges (TargetBadges) | TMap<ERSEAbilityTargetKind,TSoftObjectPtr<UTexture2D> > | (7 entries) | Content | D-147: the badge glyph of each targeting kind (one target, area, line, cone, self, ally, allies in an area). The plugin's: /RPGSagaEngine/UI/Badges. | |
Player Can Choose (bPlayerCanChoose) | bool | True | Styles | The options menu lets the player pick the style. | |
Free Tactics Style (FreeTacticsStyle) | FName | Radial | Styles | The style Free Tactics battles use unless the player picks another (by Style Id). | |
Styles (Styles) | TArray<TSoftObjectPtr<URSEBattleMenuStyle> > | (0 entries) | Styles | Style assets the game offers (empty = the built-in List, Radial and Hotbar with their default look). |
RPG Saga Engine: Battle Mode Override
Class URSEBattleModeOverrideSettings (module RSECore), Project Settings, Project, RPG Saga Engine. D-182: the battle mode override.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Auto Deployment Rows (AutoDeploymentRows) | int32 | 2 | Fallbacks | Grid fallback: rows of deployment tiles made along the zone's near edge (row 0) when the encounter has none. | |
Auto Deployment Tiles Per Unit (AutoDeploymentTilesPerUnit) | int32 | 2 | Fallbacks | Grid fallback: deployment tiles made per deployable unit (more tiles give the player a choice). | |
Auto Enemy Edge Margin (AutoEnemyEdgeMargin) | int32 | 1 | Fallbacks | Grid fallback: rows kept free between the far edge and the enemies laid out automatically. | |
Auto Front Row Size (AutoFrontRowSize) | int32 | 3 | Fallbacks | Classic fallback: with every enemy in the front row, the enemies after this many go to the back row (an encounter made for another mode). | |
Fall Back to Own Mode (bFallBackToOwnMode) | bool | True | Modes | When the encounter cannot be fought in the override's mode (it does not allow it, its data cannot, no battle site on the map): on = it is fought in its own mode (a warning in the log); off = it does not start. | |
Overridable Modes (OverridableModes) | TArray<FGameplayTag> | (5 entries) | Modes | The modes an override may choose, in this order (demo menus and the mode report list them so). |
RPG Saga Engine: Battle Presentation
Class URSEBattlePresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. How battles are shown (D-034): playback speed, approach movement, default timelines, camera shots, effects and cinematic moments.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Block Prompt Text (BlockPromptText) | FText | NSLOCTEXT("RSEBattlePresentation", "BlockPrompt", "Block!") | Action Command UI | ||
Good Color (GoodColor) | FRSEUIColor | (Token="Charge",Alpha=1.000000,Lightness=0.017993,Chroma=0.926205,Hue=-5.896690,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Action Command UI | ||
Good Text (GoodText) | FText | NSLOCTEXT("RSEBattlePresentation", "Good", "GOOD") | Action Command UI | ||
Grade Height (GradeHeight) | float | 215.000000 | Action Command UI | Height above the anchor unit where the grade (Perfect / Good / Miss) shows (D-083): above the head, apart from the combat numbers at the hit point (UI -> Floating Hit Height). | |
Grade Pop Scale (GradePopScale) | float | 1.350000 | Action Command UI | The grade starts this much larger and settles (pop). | |
Grade Rise (GradeRise) | float | 22.000000 | Action Command UI | Rise of the grade over its display time, in screen units. | |
Grade Scale (GradeScale) | float | 0.800000 | Action Command UI | Size of the grade as a share of the Title text style (smaller than the damage numbers). | |
Miss Color (MissColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.053433,Chroma=0.794947,Hue=-7.461658,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Action Command UI | ||
Miss Text (MissText) | FText | NSLOCTEXT("RSEBattlePresentation", "Miss", "MISS") | Action Command UI | ||
Perfect Color (PerfectColor) | FRSEUIColor | (Token="Rare",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Action Command UI | ||
Perfect Text (PerfectText) | FText | NSLOCTEXT("RSEBattlePresentation", "Perfect", "PERFECT!") | Action Command UI | ||
Prompt Height (PromptHeight) | float | 120.000000 | Action Command UI | Height above the anchor unit where the prompt appears. | |
Prompt Text (PromptText) | FText | NSLOCTEXT("RSEBattlePresentation", "Prompt", "Timing!") | Action Command UI | ||
Result Seconds (ResultSeconds) | float | 0.700000 | Action Command UI | How long the grade stays on screen. | |
Ring Radius (RingRadius) | float | 44.000000 | Action Command UI | Radius of the target ring of the timing prompt. | |
Ring Segments (RingSegments) | int32 | 48 | Action Command UI | ||
Ring Start Scale (RingStartScale) | float | 3.000000 | Action Command UI | The closing ring starts this many times larger. | |
Ring Thickness (RingThickness) | float | 4.000000 | Action Command UI | ||
Default Body Radius (DefaultBodyRadius) | float | 35.000000 | Approach | Body radius of a target whose look gives none (placeholders), for Move cues with a Reach. | |
Max Move Time (MaxMoveTime) | float | 0.800000 | Approach | ||
Melee Contact Depth (MeleeContactDepth) | float | 10.000000 | Approach | Move cues with a Reach (D-079: the attack's measured contact reach): the attacker stops where its blow lands on the target's body: the target's body radius (its look's body preset) plus the reach, minus this depth. | |
Melee Stop Distance (MeleeStopDistance) | float | 110.000000 | Approach | Melee attackers stop this far from their target (Move cues without a Reach). | |
Min Move Time (MinMoveTime) | float | 0.150000 | Approach | ||
Return Speed (ReturnSpeed) | float | 1300.000000 | Approach | ||
Run Speed (RunSpeed) | float | 1100.000000 | Approach | --- Approach (ATB; Tactics limits it to a step) --- | |
Tactics Max Contact Step (TacticsMaxContactStep) | float | 180.000000 | Approach | Tactics, Move cues with a Reach (D-079): the step goes as far as the blow needs to land, up to this distance (then the unit goes back to its tile). 0 = the Max Step Distance above. | |
Tactics Max Step Distance (TacticsMaxStepDistance) | float | 30.000000 | Approach | Tactics: units stay on their tiles, so Move cues toward the target become a short step of at most this distance (then the strike's lunge). 0 = no step. Grid movement itself is the battle's (UnitMoved). | |
Block Min Lead Seconds (BlockMinLeadSeconds) | float | 0.300000 | Block Window | Shortest time (real seconds) from the prompt to the ideal press. When the attack connects sooner, the impact waits for the grade (a short pause) rather than asking for an impossible press. | |
Block Slow Motion Dilation (BlockSlowMotionDilation) | float | 0.250000 | Block Window | While a block window is open the enemy's attack keeps playing, slowed to this time dilation (the battle never freezes; Bogdan 2026-09-26). The ring closes when the attack connects. Reduced effects without slow motion: 1. | |
Block Slow Motion Ease In (BlockSlowMotionEaseIn) | float | 0.120000 | Block Window | Real seconds to blend into the slow motion when the window opens. | |
Block Slow Motion Ease Out (BlockSlowMotionEaseOut) | float | 0.200000 | Block Window | Real seconds to blend back to normal speed once the block is graded. | |
Avoid Camera Obstacles (bAvoidCameraObstacles) | bool | True | Camera | Camera shots never go into walls (D-079): each shot is probed from the subject it frames to the camera; a blocked view pulls the camera in, else tries other angles (turned sideways, the other side, higher), else the shot is skipped and the camera stays where it is. Subjects hidden behind an obstacle count as blocked too. | |
Camera Alternate Yaw (CameraAlternateYaw) | float | 40.000000 | Camera | Other angles tried: the shot turned by this much around its subject (then twice as much, the other side, higher). | |
Camera Probe Channel (CameraProbeChannel) | TEnumAsByte<ECollisionChannel> | ECC_Camera | Camera | Collision channel of the probes (units are ignored). | |
Camera Probe Radius (CameraProbeRadius) | float | 15.000000 | Camera | Radius of the camera probe (cm): the camera keeps this far from walls. | |
Camera Raise Share (CameraRaiseShare) | float | 0.700000 | Camera | Higher angles: the camera goes up by this share of its distance to the subject. | |
Close Up Distance (CloseUpDistance) | float | 280.000000 | Camera | ||
Close Up Height (CloseUpHeight) | float | 20.000000 | Camera | ||
Close Up Side Offset (CloseUpSideOffset) | float | 80.000000 | Camera | ||
Min Shot Distance (MinShotDistance) | float | 140.000000 | Camera | A shot pulled in closer than this to its subject is not used (another angle is tried). | |
Orbit Degrees Per Second (OrbitDegreesPerSecond) | float | 30.000000 | Camera | ||
Orbit Height (OrbitHeight) | float | 280.000000 | Camera | ||
Orbit Radius (OrbitRadius) | float | 560.000000 | Camera | ||
Over Shoulder Distance (OverShoulderDistance) | float | 260.000000 | Camera | ||
Over Shoulder Height (OverShoulderHeight) | float | 150.000000 | Camera | ||
Over Shoulder Side Offset (OverShoulderSideOffset) | float | 110.000000 | Camera | ||
Return Blend Time (ReturnBlendTime) | float | 0.400000 | Camera | Blend back to the battle camera when a timeline ends. | |
Shot Blend Time (ShotBlendTime) | float | 0.350000 | Camera | ||
Shot FOV (ShotFOV) | float | 55.000000 | Camera | Field of view of cinematic shots (0 = keep the battle camera's). | |
Subject Height (SubjectHeight) | float | 90.000000 | Camera | Height of a unit's chest above its origin: what shots look at. | |
Boss Special Camera (bBossSpecialCamera) | bool | True | Camera Policy | Special Only: bosses (VIP enemies) keep their cinematic camera (intro, special moves) even with enemies off. | |
Enemy Special Camera (bEnemySpecialCamera) | bool | False | Camera Policy | Special Only: enemies' special actions may move the camera too. Off: only the player's side (bosses: below). | |
Shake in Fixed View (bShakeInFixedView) | bool | True | Camera Policy | Camera shakes still play in the fixed view (they do not change the perspective). | |
Classic Camera Policy (ClassicCameraPolicy) | ERSEBattleCameraPolicy | SpecialOnly | Camera Policy | Classic battles (ATB, turn-based): which actions may move the camera away from the stage's fixed view. Default Special Only: attacks, skills, spells and items (the enemies' too) play in the fixed view; flagged abilities, super moves and summons may use their camera shots. | |
Tactics Camera Policy (TacticsCameraPolicy) | ERSEBattleCameraPolicy | All | Camera Policy | Tactics battles: the same choice. Default All (the Ability Toolkit's shots follow leaps, dashes and fireballs, D-055). | |
Boss Intro (bBossIntro) | bool | True | Cinematics | Battles with a boss (a VIP enemy) open on it. | |
Hide HUDDuring Cinematics (bHideHUDDuringCinematics) | bool | True | Cinematics | The battle HUD hides while a cinematic moment plays. | |
Boss Intro (BossIntro) | TSoftObjectPtr<URSEAbilityPresentationBase> | None | Cinematics | ||
Boss Title Format (BossTitleFormat) | FText | NSLOCTEXT("RSEBattlePresentation", "BossTitle", "{Name}") | Cinematics | Banner title of boss intros ({Name} = the boss). | |
Summon Entrance (bSummonEntrance) | bool | True | Cinematics | Summons enter with a short cinematic (camera, slow motion, banner). | |
Cinematic Hold Seconds (CinematicHoldSeconds) | float | 1.400000 | Cinematics | How long cinematic shots hold. | |
Slow Motion Dilation (SlowMotionDilation) | float | 0.350000 | Cinematics | ||
Slow Motion Seconds (SlowMotionSeconds) | float | 0.900000 | Cinematics | ||
Summon Entrance (SummonEntrance) | TSoftObjectPtr<URSEAbilityPresentationBase> | None | Cinematics | Replaces the built-in summon entrance. | |
Summon Title Format (SummonTitleFormat) | FText | NSLOCTEXT("RSEBattlePresentation", "SummonTitle", "{Name}") | Cinematics | Banner title of summon entrances ({Name} = the summon). | |
Super Move Prelude (SuperMovePrelude) | TSoftObjectPtr<URSEAbilityPresentationBase> | None | Cinematics | Replaces the built-in super move prelude (abilities with Moment = Super Move and no asset). | |
Action Banner Format (ActionBannerFormat) | FText | NSLOCTEXT("RSEBattlePresentation", "ActionBanner", "{Caster} — {Ability}") | Default Timelines | Text of the default action banner, for every unit (D-065). Arguments: {Caster}, {Ability}. Empty = the ability's name only. | |
Banner Seconds (BannerSeconds) | float | 1.100000 | Default Timelines | ||
Show Ability Banner (bShowAbilityBanner) | bool | True | Default Timelines | Shows the ability's name in a banner (abilities may turn it off). | |
Cast Hop Height (CastHopHeight) | float | 30.000000 | Default Timelines | ||
Cast Time (CastTime) | float | 0.450000 | Default Timelines | Casting pose before the impact of in-place abilities. | |
Flee Action Name (FleeActionName) | FText | NSLOCTEXT("RSEBattlePresentation", "FleeAction", "Flee") | Default Timelines | Name of the Flee command in its action banner ("Aldren — Flee", D-083). Empty = no banner for fleeing. | |
In Place Default (InPlaceDefault) | TSoftObjectPtr<URSEAbilityPresentationBase> | None | Default Timelines | ||
Melee Default (MeleeDefault) | TSoftObjectPtr<URSEAbilityPresentationBase> | None | Default Timelines | Optional assets replacing the built-in default timeline of each approach. | |
Post Impact Wait (PostImpactWait) | float | 0.300000 | Default Timelines | Pause after the impact before the caster returns / the next action. | |
Ranged Default (RangedDefault) | TSoftObjectPtr<URSEAbilityPresentationBase> | None | Default Timelines | ||
Shoot Recoil Distance (ShootRecoilDistance) | float | 20.000000 | Default Timelines | ||
Shoot Time (ShootTime) | float | 0.250000 | Default Timelines | ||
Strike Lunge Distance (StrikeLungeDistance) | float | 45.000000 | Default Timelines | ||
Strike Time (StrikeTime) | float | 0.200000 | Default Timelines | ||
Support Cast Anchor (SupportCastAnchor) | FGameplayTag | (TagName="Appearance.Anchor.WeaponTip") | Default Timelines|Support | Where on the caster (Appearance.Anchor.*: the weapon tip falls back to the hand, D-081). | |
Support Cast Effect (SupportCastEffect) | TSoftObjectPtr<UObject> | None | Default Timelines|Support | Effect at the caster while a support action is cast (a Niagara or legacy particle system). Empty = none. | |
Support Receive Effect (SupportReceiveEffect) | TSoftObjectPtr<UObject> | None | Default Timelines|Support | Effect on each target when it receives the action (a heal burst, a buff aura). Empty = none. | |
Support Receive Lift (SupportReceiveLift) | float | 10.000000 | Default Timelines|Support | The targets rise this much for a moment when they receive it (a small lift, not a hit reaction). 0 = no reaction. | |
Support Receive Time (SupportReceiveTime) | float | 0.400000 | Default Timelines|Support | ||
Reduce Camera Shake (bReduceCameraShake) | bool | True | Effects | ||
Reduce Effects (bReduceEffects) | bool | False | Effects | Low-end PCs / accessibility: turns off the effects selected below. | |
Reduce Hit Stop (bReduceHitStop) | bool | True | Effects | ||
Reduce Optional Cues (bReduceOptionalCues) | bool | True | Effects | Cues marked optional (extra VFX) are skipped. | |
Reduce Screen Flash (bReduceScreenFlash) | bool | True | Effects | ||
Reduce Slow Motion (bReduceSlowMotion) | bool | False | Effects | ||
Effect Max Lifetime (EffectMaxLifetime) | float | 2.500000 | Effects | Longest an effect of a VFX or Projectile cue lives when the cue gives no Duration (D-079). Looping systems (auras, fires, many pack effects) would otherwise run forever; they are deactivated (their particles finish) after this. One-shot systems end sooner on their own. Every effect still running stops when the battle's presentations stop. | |
Flash Alpha (FlashAlpha) | float | 0.600000 | Effects | ||
Flash Color (FlashColor) | FRSEUIColor | (Token="White",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Effects | ||
Hit Stop Dilation (HitStopDilation) | float | 0.030000 | Effects | Time dilation during a hit-stop. | |
Hit Stop Seconds (HitStopSeconds) | float | 0.080000 | Effects | ||
Shake Amplitude (ShakeAmplitude) | float | 10.000000 | Effects | ||
Shake Frequency (ShakeFrequency) | float | 18.000000 | Effects | ||
Shake Rotation Amplitude (ShakeRotationAmplitude) | float | 0.800000 | Effects | ||
Shake Seconds (ShakeSeconds) | float | 0.300000 | Effects | ||
Battle End Pause (BattleEndPause) | float | 1.000000 | End of Battle | Pause after the last action of a battle has fully played (its timeline, the KO falls) before the battle's end is shown (banner, results / game over timers, music). Lets the killing blow's damage numbers finish. | |
Defeat Fall Seconds (DefeatFallSeconds) | float | 0.450000 | End of Battle | Placeholder units: time a fallen unit takes to tip over (0 = at once). | |
Return to Slot (bReturnToSlot) | bool | True | Formation | Classic battles: units always go back to their stage slot (knocked-out ones too) once nothing animates them: after an action, a hit reaction, or a row change (Knockback / Pull / Swap), whose slot is in the new row. Tactics: units go back to their tile's center. Off = they stay wherever the presentation left them. | |
Slot Return Max Time (SlotReturnMaxTime) | float | 0.800000 | Formation | ||
Slot Return Min Time (SlotReturnMinTime) | float | 0.200000 | Formation | ||
Slot Return Speed (SlotReturnSpeed) | float | 400.000000 | Formation | Speed of the walk back to the slot. | |
Slot Tolerance (SlotTolerance) | float | 2.000000 | Formation | A unit farther than this from its slot goes back. | |
Slot Yaw Tolerance (SlotYawTolerance) | float | 3.000000 | Formation | A unit turned farther than this from its slot's facing turns back (classic battles). | |
Dodge Distance (DodgeDistance) | float | 50.000000 | Hit Reaction | Sidestep of a target that dodges (a miss). | |
Hit Reaction Distance (HitReactionDistance) | float | 35.000000 | Hit Reaction | --- Hit reactions --- | |
Hit Reaction Time (HitReactionTime) | float | 0.280000 | Hit Reaction | ||
Allow Skip Actions (bAllowSkipActions) | bool | False | Playback | Confirm / Cancel also skip ordinary actions (cinematic moments are always skippable). | |
Restore Caster on Finish (bRestoreCasterOnFinish) | bool | True | Playback | When a timeline ends, the caster is put back where it started (row position and facing). | |
Fast Forward Keys (FastForwardKeys) | TArray<FKey> | (2 entries) | Playback | Held: fast-forwards battle presentations. | |
Fast Forward Speed (FastForwardSpeed) | float | 3.000000 | Playback | Speed while a fast-forward key is held. | |
Playback Speed (PlaybackSpeed) | float | 1.000000 | Playback | Speed of every battle presentation (1 = normal). | |
Action Command Widget Class (ActionCommandWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Widgets | Action command ring (D-052). Empty = the built-in screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEActionCommandViewModel (docs/product/custom-ui.md). | |
Banner Widget Class (BannerWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Widgets | Banner screen: ability names, cinematic titles (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEBattleBannerViewModel (docs/product/custom-ui.md). |
RPG Saga Engine: Battle Simulator
Class URSEBattleSimSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Headless battle simulator (D-041, docs/design/battle-simulator.md): defaults for scenarios that leave a value out, guards against endless battles and where reports go.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Default Enemy Team (DefaultEnemyTeam) | FGameplayTag | (TagName="Team.Enemy") | Defaults | ||
Default Player Intelligence (DefaultPlayerIntelligence) | float | 0.800000 | Defaults | Intelligence (0-1) of the AI playing the party. A competent player, by default. | |
Default Player Team (DefaultPlayerTeam) | FGameplayTag | (TagName="Team.Player") | Defaults | Teams of inline scenarios (no encounter asset). Encounters bring their own teams. | |
Default Runs (DefaultRuns) | int32 | 50 | Defaults | Battles per batch (per sweep value) when the scenario gives no Runs. | |
Default Seed (DefaultSeed) | int32 | 1 | Defaults | First seed of a batch when the scenario gives no Seed. Run i uses Seed + i, so sweep values share their seeds. | |
ATBSim Delta Seconds (ATBSimDeltaSeconds) | float | 0.500000 | Guards | ATB: simulated time advanced between AI checks. The battle itself steps in URSEBattleSettings::ATBStepSeconds and stops early when a unit becomes ready, so this only trades loop overhead against nothing: results do not depend on it. | |
Max ATBSeconds (MaxATBSeconds) | float | 1200.000000 | Guards | ATB: a battle still running after this much simulated time ends as a Timeout. | |
Max Tactics Turns (MaxTacticsTurns) | int32 | 400 | Guards | Tactics and turn-based: a battle still running after this many unit turns (both sides) ends as a Timeout. | |
Histogram Bins (HistogramBins) | int32 | 10 | Reports | Bars of the turns / duration histograms in summary.html. | |
Output Folder (OutputFolder) | FString | BattleSim | Reports | Reports go to Saved/<OutputFolder>/<timestamp>_<scenario>/. | |
Scenario Folder (ScenarioFolder) | FString | Config/BattleSim | Reports | Scenario files (*.json) the RSE Configurator offers as one-click runs, relative to the project directory. | |
Generated Grid Depth (GeneratedGridDepth) | int32 | 12 | Tactics Grid | ||
Generated Grid Width (GeneratedGridWidth) | int32 | 12 | Tactics Grid | Generated grid (no zone found, or the scenario asks for one): size in tiles. Grown to fit every unit's tile. | |
Generated Height Noise (GeneratedHeightNoise) | int32 | 0 | Tactics Grid | Generated grid: highest random height in steps (0 = flat). Heights are smoothed so hills, not spikes. | |
Grid Search Maps (GridSearchMaps) | TArray<FSoftObjectPath> | (1 entries) | Tactics Grid | Maps searched for the zone grid of an encounter when a scenario names no map: the first Tactics battle director whose encounter matches gives its zone's baked grid. Loading a map costs a second or two, once per batch. |
RPG Saga Engine: Battle Transition
Class URSEBattleTransitionSettings (module RSE), Project Settings, Project, RPG Saga Engine. The screen transition between exploration and battles (D-083), like the classic JRPGs: the last frame of exploration breaks, whirls or rushes away with a flash, the screen goes black, then fades into the battle with an intro banner ("Battle!", "Preemptive!").
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Exit Fade in Seconds (ExitFadeInSeconds) | float | 0.500000 | Exit | Fade from black into exploration. | |
Exit Fade Out Seconds (ExitFadeOutSeconds) | float | 0.350000 | Exit | Fade to black when a battle ends, before the camera goes back to exploration. | |
Flash Alpha (FlashAlpha) | float | 0.850000 | Flash | Strength of the flash at its peak (0 = none). | |
Flash Color (FlashColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=0.013515,Chroma=3.687879,Hue=161.669617,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Flash | --- Flash --- | |
Flash in Seconds (FlashInSeconds) | float | 0.060000 | Flash | The flash rises in this long... | |
Flash Out Seconds (FlashOutSeconds) | float | 0.300000 | Flash | ...and fades out in this long. | |
Back Attack Color (BackAttackColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=0.017781,Chroma=0.901999,Hue=4.368494,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Intro Banner | ||
Back Attack Text (BackAttackText) | FText | NSLOCTEXT("RSEBattleTransition", "BackAttack", "Back Attack!") | Intro Banner | The enemies caught the party from behind (D-063). | |
Battle Text (BattleText) | FText | NSLOCTEXT("RSEBattleTransition", "Battle", "Battle!") | Intro Banner | ||
Show Intro Banner (bShowIntroBanner) | bool | True | Intro Banner | A banner as the battle fades in. | |
Use Encounter Name (bUseEncounterName) | bool | False | Intro Banner | The banner shows the encounter's name when it has one (and no intro text of its own), instead of Battle Text. | |
Intro Color (IntroColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Lightness=0.023505,Chroma=0.866576,Hue=4.106044,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Intro Banner | ||
Intro Screen Height (IntroScreenHeight) | float | 0.360000 | Intro Banner | Height of the banner on the screen (0 = top, 1 = bottom). | |
Intro Seconds (IntroSeconds) | float | 1.300000 | Intro Banner | Seconds the banner stays after the fade (it fades out over the last quarter). | |
Preemptive Color (PreemptiveColor) | FRSEUIColor | (Token="Charge",Alpha=1.000000,Lightness=0.017993,Chroma=0.926205,Hue=-5.896690,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Intro Banner | ||
Preemptive Text (PreemptiveText) | FText | NSLOCTEXT("RSEBattleTransition", "Preemptive", "Preemptive!") | Intro Banner | The party struck first (D-063). | |
Exit Sound (ExitSound) | TSoftObjectPtr<USoundBase> | None | Sound | Plays as the screen goes back to exploration. Empty = none. | |
Start Sound (StartSound) | TSoftObjectPtr<USoundBase> | None | Sound | Plays as the transition into a battle starts (the classic encounter swoosh). Empty = none. | |
Grid Reveal Seconds (GridRevealSeconds) | float | 0.700000 | Style Details | Flash Grid (Tactics): seconds for the grid to spread from the center to the edge of the zone. | |
Grid Reveal Step (GridRevealStep) | float | 0.033000 | Style Details | Flash Grid: the grid grows in steps this far apart (a timer, not a tick). | |
Shatter Columns (ShatterColumns) | int32 | 9 | Style Details | Shatter: shards across and down (each cell breaks into two triangles). | |
Shatter Fall (ShatterFall) | float | 1.400000 | Style Details | Shatter: how far the shards fly, as a share of the screen height (gravity pulls them down). | |
Shatter Rows (ShatterRows) | int32 | 6 | Style Details | ||
Shatter Spin (ShatterSpin) | float | 0.600000 | Style Details | Shatter: most turns a shard makes while it falls. | |
Swirl Resolution (SwirlResolution) | int32 | 24 | Style Details | Swirl: mesh resolution (cells across; more = smoother whirl). | |
Swirl Turns (SwirlTurns) | float | 1.600000 | Style Details | Swirl: turns of the center by the end (the edges turn less). | |
Wipe Segments (WipeSegments) | int32 | 72 | Style Details | Radial Wipe: segments of the sweeping darkness (smoothness). | |
Zoom Copies (ZoomCopies) | int32 | 7 | Style Details | Zoom Blur: copies of the frame drawn for the blur trail. | |
Zoom Scale (ZoomScale) | float | 1.800000 | Style Details | Zoom Blur: how much larger the frame grows by the end. | |
Enabled (bEnabled) | bool | True | Styles | Plays transitions at all (off: the camera goes straight to the battle, as before D-083). | |
Classic Style (ClassicStyle) | ERSEBattleTransitionStyle | Shatter | Styles | Into classic battles (ATB, turn-based). An encounter's own Transition Style wins. | |
Reduced Style (ReducedStyle) | ERSEBattleTransitionStyle | Fade | Styles | Played instead of the image styles (Shatter, Swirl, Zoom Blur, Radial Wipe) when battle effects are reduced (options menu, Battle Presentation -> Reduce Effects, RSE.Battle.Presentation.ReduceEffects): no flash either. | |
Tactics Style (TacticsStyle) | ERSEBattleTransitionStyle | FlashGrid | Styles | Into Tactics battles on the live map. An encounter's own Transition Style wins. | |
Black Hold Seconds (BlackHoldSeconds) | float | 0.200000 | Timing | Black between the effect and the battle: the battle starts and its camera takes over here, unseen. | |
Capture Max Width (CaptureMaxWidth) | int32 | 1280 | Timing | Width of the captured frame (smaller = cheaper on handhelds; the effect moves too fast to show it). 0 = full size. | |
Capture Timeout (CaptureTimeout) | float | 0.350000 | Timing | The frame of exploration is taken before the effect; without one after this long, Fade plays instead. | |
Effect Seconds (EffectSeconds) | float | 0.850000 | Timing | The effect itself (shards falling, the whirl, the rush, the wipe, the fade to black). | |
Fade in Seconds (FadeInSeconds) | float | 0.450000 | Timing | Fade from black into the battle. | |
Widget Class (WidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Widget | The transition screen (D-052). Empty = the built-in one (drawn in C++). A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEBattleTransitionViewModel (the captured frame, the style, the phase and its progress, the darkness, the flash, the intro text). | |
ZOrder (ZOrder) | int32 | 500 | Widget | Z-order of the transition screen: above every HUD and screen. |
RPG Saga Engine: Bestiary
Class URSEBestiarySettings (module RSECore), Project Settings, Project, RPG Saga Engine. Bestiary rules (D-047, Project Settings -> RPG Saga Engine -> Bestiary): which enemies get an entry and how much each entry reveals.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Player Can Always Show Enemy Health (bPlayerCanAlwaysShowEnemyHealth) | bool | True | Battle HUD | The players' option to always show enemy HP is offered (accessibility). | |
Enemy Health Reveal (EnemyHealthReveal) | ERSEEnemyHealthReveal | WhenScanned | Battle HUD | D-147: when the battle HUDs (turn order bar, target preview) show an enemy's HP. Hidden HP shows as "?". A Scan ability or item reveals the type for good (bestiary). Players may choose to always see it (Options -> Game). | |
Listed Stats (ListedStats) | TArray<FGameplayTag> | (7 entries) | Display | Stats listed on an entry, in order (names from UI -> TagLabels). | |
Enemy Roster Only (bEnemyRosterOnly) | bool | True | Recording | Only characters whose roster is Enemy get entries (off: every non-player unit, e.g. neutral guests). | |
Record Summons (bRecordSummons) | bool | False | Recording | Summoned (temporary) enemy units are recorded too. | |
Description on Encounter (bDescriptionOnEncounter) | bool | True | Reveal | The description shows from the first encounter (off: after DefeatsToRevealStats defeats). | |
Defeats to Reveal Affinities (DefeatsToRevealAffinities) | int32 | 1 | Reveal | Defeats needed before the elemental weaknesses and resistances show. | |
Defeats to Reveal Drops (DefeatsToRevealDrops) | int32 | 1 | Reveal | Defeats needed before the drops (loot table, D-042) show. | |
Defeats to Reveal Stats (DefeatsToRevealStats) | int32 | 1 | Reveal | Defeats needed before the stats show. 0 = from the first encounter. |
RPG Saga Engine: Bestiary UI
Class URSEBestiaryUISettings (module RSE), Project Settings, Project, RPG Saga Engine. The party menu's Bestiary page (D-047).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Resist Color (ResistColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.028463,Chroma=0.871971,Hue=6.030436,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Weak Color (WeakColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=0.032983,Chroma=0.852280,Hue=15.421614,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | Colour of weaknesses (and of absorbed / resisted elements). | |
Details Width (DetailsWidth) | float | 460.000000 | Layout | Width of the details panel. | |
Affinities Header (AffinitiesHeader) | FText | NSLOCTEXT("RSEBestiaryUI", "AffinitiesHeader", "Elements") | Texts | ||
Affinity Format (AffinityFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "AffinityFormat", "{Element}: {Affinity}") | Texts | {Element}: {Affinity}. | |
Affinity Names (AffinityNames) | TMap<ERSEElementAffinity,FText> | (4 entries) | Texts | Affinity names (Normal is never listed). | |
Category Labels (CategoryLabels) | TArray<FRSEBestiaryCategoryLabel> | (3 entries) | Texts | Category names (content tags, in DefaultGame.ini). A category without a label shows its last tag part. | |
Count Format (CountFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "CountFormat", "{Count} {Count}|plural(one=entry,other=entries)") | Texts | {Count} entries. | |
Defeated Format (DefeatedFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "Defeated", "Defeated: {Count}") | Texts | {Count} = units defeated. | |
Drop Format (DropFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "DropFormat", "{Item} ×{Count} ({Chance}%)") | Texts | {Item}, {Chance} (percent), {Count} ("1" or "1-2"). | |
Drops Header (DropsHeader) | FText | NSLOCTEXT("RSEBestiaryUI", "DropsHeader", "Drops") | Texts | ||
Empty Text (EmptyText) | FText | NSLOCTEXT("RSEBestiaryUI", "Empty", "No enemies met yet.") | Texts | ||
Encountered Format (EncounteredFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "Encountered", "Met: {Count}") | Texts | {Count} = units met. | |
Level Format (LevelFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "Level", "{Term.LevelShort} {Level}") | Texts | {Level}. | |
List Column Text (ListColumnText) | FText | NSLOCTEXT("RSEBestiaryUI", "ListColumn", "{Term.Enemies}") | Texts | --- Texts --- | |
Locked Text (LockedText) | FText | NSLOCTEXT("RSEBestiaryUI", "Locked", "??? Defeat one to learn more.") | Texts | Instead of a hidden section: defeat one to learn more. | |
Money Drop Format (MoneyDropFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "MoneyDrop", "{Min} - {Max}") | Texts | {Min} - {Max}: money dropped (formatted with the currency). | |
No Affinities Text (NoAffinitiesText) | FText | NSLOCTEXT("RSEBestiaryUI", "NoAffinities", "No weaknesses or resistances.") | Texts | ||
No Drops Text (NoDropsText) | FText | NSLOCTEXT("RSEBestiaryUI", "NoDrops", "Nothing.") | Texts | ||
Row Defeated Format (RowDefeatedFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "RowDefeated", "×{Count}") | Texts | Row detail: {Count} defeated. | |
Stat Format (StatFormat) | FText | NSLOCTEXT("RSEBestiaryUI", "StatFormat", "{Stat} {Value}") | Texts | Stat line: {Stat} {Value}. | |
Stats Header (StatsHeader) | FText | NSLOCTEXT("RSEBestiaryUI", "StatsHeader", "Stats") | Texts | ||
Uncategorized Text (UncategorizedText) | FText | NSLOCTEXT("RSEBestiaryUI", "Uncategorized", "Other") | Texts | Category heading of enemies without a category. |
RPG Saga Engine: Buildings
Class URSEBuildingSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Building entrances and interiors (D-150): Project Settings -> RPG Saga Engine -> Buildings.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Building Size (BuildingSize) | FVector2D | (X=300.000000,Y=6000.000000) | Analyzer | Smallest and largest footprint of a building (cm, the bounds' longer side). | |
Building Words (BuildingWords) | TArray<FString> | (22 entries) | Analyzer | The building analyzer's words (lower case, matched in actor labels, names and mesh names). | |
Default Template (DefaultTemplate) | TSoftObjectPtr<URSEInteriorTemplateData> | /RPGSagaEngine/Data/Interiors/DA_InteriorTemplate_House.DA_InteriorTemplate_House | Analyzer | ||
Door Reach (DoorReach) | float | 150.000000 | Analyzer | A door belongs to a building when it is this close to the building's bounds (cm). | |
Door Words (DoorWords) | TArray<FString> | (4 entries) | Analyzer | ||
Navigable Share (NavigableShare) | float | 0.500000 | Analyzer | The interior counts as navigable when this share of its floor probe points is free and walkable. | |
Stair Words (StairWords) | TArray<FString> | (3 entries) | Analyzer | ||
Templates (Templates) | TArray<TSoftObjectPtr<URSEInteriorTemplateData> > | (9 entries) | Analyzer | The templates the analyzer picks from (by keyword), and the one used when no keyword matches. | |
Default Door Height (DefaultDoorHeight) | float | 230.000000 | Door Detection | ||
Default Door Width (DefaultDoorWidth) | float | 130.000000 | Door Detection | D-158: the door's size when nothing was measured (cm). | |
Door Detection (DoorDetection) | FRSEDoorDetectionRules | (MinWidth=70.000000,MaxWidth=280.000000,MinHeight=170.000000,MaxHeight=380.000000,MaxSill=80.000000,DepthTolerance=5.000000,ColumnFill=0.750000,LintelRows=2,Pre... | Door Detection | D-158: what counts as a door modelled into a building's mesh (the Building Analyzer, Detect Door). | |
Door Zone Inside (DoorZoneInside) | float | 25.000000 | Door Detection | ||
Door Zone Outside (DoorZoneOutside) | float | 70.000000 | Door Detection | D-158: the entrance's interaction zone: how far it reaches out in front of the door and into the doorway (cm). | |
Analyzer Generates Interiors (bAnalyzerGeneratesInteriors) | bool | True | Generated Interiors | D-158: the Building Analyzer makes generated interiors (off: copies of the templates' maps, as before). | |
Generated Interior Map (GeneratedInteriorMap) | TSoftObjectPtr<UWorld> | /RPGSagaEngine/Interiors/Generated/L_RSE_Interior_Generated.L_RSE_Interior_Generated | Generated Interiors | D-158: the map generated interiors load (it holds an RSE Generated Interior actor that builds the rooms). | |
Generation (Generation) | FRSEInteriorLayoutRules | (Snap=(bSnapToKitGrid=True,SnapTolerance=25.000000,bHalfModules=True,bStoreyHeightFromKit=True,MinSteps=2,GridTolerance=2.000000),Windows=(bWindows=True,bWithKi... | Generated Interiors | D-158: the generator's measures (doors, walls, stairs, paths, the furniture checker). | |
Interior Scale (InteriorScale) | float | 1.150000 | Generated Interiors | D-158: the inside's size from the outside's footprint (a roomy feel) and its limits (cm). | |
Lore Libraries (LoreLibraries) | TArray<TSoftObjectPtr<URSELoreLibraryData> > | (1 entries) | Generated Interiors | D-158: lore texts for books, letters and notes in generated interiors. | |
Max Floors (MaxFloors) | int32 | 4 | Generated Interiors | ||
Max Interior Size (MaxInteriorSize) | FVector2D | (X=2800.000000,Y=2200.000000) | Generated Interiors | ||
Min Interior Size (MinInteriorSize) | FVector2D | (X=600.000000,Y=500.000000) | Generated Interiors | ||
Roof Share (RoofShare) | float | 0.300000 | Generated Interiors | ||
Storey Height (StoreyHeight) | float | 330.000000 | Generated Interiors | D-158: a building's storey height outside (cm) and the share of its height that is roof: its floor count. | |
Auto Close Delay (AutoCloseDelay) | float | 2.000000 | Real Doors | Seconds after the last member left before an auto-opened door closes (0 = it stays open). | |
Auto Open Radius (AutoOpenRadius) | float | 220.000000 | Real Doors | Real doors open by themselves when a party member comes this close (cm; 0 = only by Interact). | |
Blackout Adapt Speed (BlackoutAdaptSpeed) | float | 200.000000 | Separate Interiors | D-158: how fast the eye adapts under the blackout (f-stops per second; very fast = done before the screen is back). | |
Blackout Color (BlackoutColor) | FLinearColor | (R=0.000000,G=0.000000,B=0.000000,A=1.000000) | Separate Interiors | ||
Blackout Seconds (BlackoutSeconds) | float | 0.400000 | Separate Interiors | Seconds of black between outside and a separate interior (0.3 to 0.5 feels like a cut, not a loading screen). | |
Unload on Exit (bUnloadOnExit) | bool | True | Separate Interiors | Leaving unloads the interior (off: it stays loaded for a quick return; more memory). | |
Default Rules (DefaultRules) | FRSEInteriorRules | (bSeal=True,ShellPadding=(X=1500.000000,Y=1500.000000,Z=1200.000000),bHideWorldLighting=True,ExposureEV100=1.000000,bPresetExposureOnEntry=True,ExposureHoldSeco... | Separate Interiors | D-153: the rules of interiors without a template or an override of their own. | |
Exit Distance (ExitDistance) | float | 180.000000 | Separate Interiors | Where the party stands when it comes out: this far in front of the door (cm), facing away from it. | |
Exit Search Distance (ExitSearchDistance) | float | 420.000000 | Separate Interiors | D-153: an exit point is searched up to this far from the door (cm) when the first spot is blocked or off the ground. | |
Fade Out Share (FadeOutShare) | float | 0.400000 | Separate Interiors | Share of the blackout spent fading to black (the rest fades back in). | |
Instance Origin (InstanceOrigin) | FVector | (X=0.000000,Y=0.000000,Z=100000.000000) | Separate Interiors | Where the first interior's level instance sits (cm): far above the playable area (never below it: a level's Kill Z would destroy the party there). | |
Instance Slots (InstanceSlots) | int32 | 64 | Separate Interiors | How many different places interiors use (their ids spread over them). | |
Instance Spacing (InstanceSpacing) | FVector | (X=20000.000000,Y=0.000000,Z=0.000000) | Separate Interiors | The distance between two interiors' places (cm; each interior has its own, from its id). | |
Point Clearance Half Height (PointClearanceHalfHeight) | float | 88.000000 | Separate Interiors | ||
Point Clearance Radius (PointClearanceRadius) | float | 40.000000 | Separate Interiors | D-153: the room a character needs at an exit or entry point (capsule radius and half height, cm). | |
Shell Mesh (ShellMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Separate Interiors | D-153: the mesh the shell's slabs are made of (a box, scaled to each slab). | |
Void Material (VoidMaterial) | TSoftObjectPtr<UMaterialInterface> | /Engine/EngineDebugMaterials/BlackUnlitMaterial.BlackUnlitMaterial | Separate Interiors | D-153: the material of a sealed interior's shell (unlit black). | |
Asked Host Text (AskedHostText) | FText | NSLOCTEXT("RSEBuildingEntrances", "AskedHost", "The host was asked to go in.") | Texts | A guest asked the host to enter (co-op). | |
Closed Text (ClosedText) | FText | NSLOCTEXT("RSEBuildingEntrances", "Closed", "It\'s closed. Come back later.") | Texts | ||
Enter Prompt (EnterPrompt) | FText | NSLOCTEXT("RSEBuildingEntrances", "Enter", "Enter") | Texts | ||
Exit Prompt (ExitPrompt) | FText | NSLOCTEXT("RSEBuildingEntrances", "Exit", "Leave") | Texts | ||
Locked Text (LockedText) | FText | NSLOCTEXT("RSEBuildingEntrances", "Locked", "The door is locked.") | Texts |
RPG Saga Engine: Camera Framing
Class URSECameraFramingSettings (module RSE), Project Settings, Project, RPG Saga Engine. D-183: obstruction-aware cameras (Project Settings -> RPG Saga Engine -> Camera Framing).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Capture Max Push Out (CaptureMaxPushOut) | float | 1500.000000 | Capture | How far a capture point inside geometry may be pushed out (cm). | |
Capture Min Clear Distance (CaptureMinClearDistance) | float | 400.000000 | Capture | A capture point without a look target is occluded when geometry stands closer than this along its view (cm). | |
Cinematic Battle (CinematicBattle) | FRSECinematicBattleCamera | (OverShoulderDistance=420.000000,ReactionDistance=360.000000,WideDistance=1100.000000,FieldOfView=50.000000,HeightOffset=40.000000,CutAngle=40.000000,BlendSecon... | Cinematic Battle Camera | The cinematic battle camera (captures, trailers). | |
Enabled (bEnabled) | bool | True | Framing | Cameras avoid obstructions (off = every camera keeps its own pose). | |
Camera Blocker Tag (CameraBlockerTag) | FName | RSE.CameraBlocker | Framing | Actors or components with this tag always block the camera (it moves instead of fading them). | |
Action (Action) | FRSECameraFramingRules | (bEnabled=True,ProbeChannel=ECC_Camera,ProbeRadius=20.000000,NearClipMargin=8.000000,bAnyGeometryObstructs=True,FocusHeights=(90.000000,160.000000),MaxFocusTarg... | Modes | The action battle camera: the view stays the player's; geometry pulls it in. | |
ATB (ATB) | FRSECameraFramingRules | (bEnabled=True,ProbeChannel=ECC_Camera,ProbeRadius=24.000000,NearClipMargin=8.000000,FocusHeights=(110.000000),MaxFocusTargets=6,YawStep=10.000000,YawSteps=3,Pi... | Modes | The ATB stage camera (framed once when the battle starts: the stage stays composed). | |
Capture (Capture) | FRSECameraFramingRules | (bEnabled=True,ProbeChannel=ECC_Camera,ProbeRadius=24.000000,NearClipMargin=8.000000,bAnyGeometryObstructs=True,FocusHeights=(0.000000),MaxFocusTargets=1,YawSte... | Modes | Clip capture points: how an occluded point is fixed. | |
Exploration (Exploration) | FRSECameraFramingRules | (bEnabled=True,ProbeChannel=ECC_Camera,ProbeRadius=24.000000,NearClipMargin=8.000000,FocusHeights=(90.000000,160.000000),MaxFocusTargets=1,YawStep=20.000000,Pit... | Modes | The exploration camera (tactical style): the yaw stays the player's; the angle rises and the distance comes in. | |
Free Tactics (FreeTactics) | FRSECameraFramingRules | (bEnabled=True,ProbeChannel=ECC_Camera,ProbeRadius=24.000000,NearClipMargin=8.000000,FocusHeights=(90.000000,160.000000),MaxFocusTargets=2,YawStep=20.000000,Yaw... | Modes | The Free Tactics / live battle camera. | |
Grid Tactics (GridTactics) | FRSECameraFramingRules | (bEnabled=True,ProbeChannel=ECC_Camera,ProbeRadius=24.000000,NearClipMargin=8.000000,FocusHeights=(60.000000,150.000000),MaxFocusTargets=2,YawStep=15.000000,Yaw... | Modes | The grid Tactics camera: the grid stays readable (steeper angles and other sides before coming in). | |
Shot (Shot) | FRSECameraFramingRules | (bEnabled=True,ProbeChannel=ECC_Camera,ProbeRadius=24.000000,NearClipMargin=8.000000,bAnyGeometryObstructs=True,FocusHeights=(90.000000,160.000000),MaxFocusTarg... | Modes | The cinematic shots of battle timelines: never inside geometry while they blend. |
RPG Saga Engine: Camera Occlusion
Class URSECameraOcclusionSettings (module RSE), Project Settings, Project, RPG Saga Engine. What stands between the RPG cameras (the tactical exploration camera, the Free Tactics camera) and the party (D-113, D-116): these cameras never collide with the world; what hides the party fades instead, only around the party.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Collection (Collection) | TSoftObjectPtr<UMaterialParameterCollection> | /RPGSagaEngine/Materials/Camera/MPC_RSE_CameraOcclusion.MPC_RSE_CameraOcclusion | Fade | The see-through circle of opted-in materials (MF_RSE_CameraOcclusion reads it). Empty = no fading, only the fallback. | |
Fade Function (FadeFunction) | TSoftObjectPtr<UMaterialFunctionInterface> | /RPGSagaEngine/Materials/Camera/MF_RSE_CameraOcclusion.MF_RSE_CameraOcclusion | Fade | The material function that makes a material fade (MF_RSE_CameraOcclusion): RPG Saga -> Add Camera Occlusion Fade (the Content Browser menu of materials) multiplies the material's Opacity Mask by it. | |
Fade Seconds (FadeSeconds) | float | 0.350000 | Fade | Seconds a see-through circle takes to open or close (opted-in materials and ghosts alike): never a pop. | |
Hole Keep Near Target (HoleKeepNearTarget) | float | 60.000000 | Fade | What stands closer than this in front of a character is left alone (the chair beside it, cm). | |
Hole Radius (HoleRadius) | float | 170.000000 | Fade | Radius of the see-through circle at the character (cm); it keeps its size on screen toward the camera. | |
Hole Softness (HoleSoftness) | float | 45.000000 | Fade | Soft edge of the circle (cm at the character). | |
Marker Parameter (MarkerParameter) | FName | RSE_CameraOcclusion | Fade | A material with this scalar parameter (the material function declares it) fades instead of hiding. | |
Opt in Content Roots (OptInContentRoots) | TArray<FString> | (1 entries) | Fade | D-116: content roots whose materials Add Camera Occlusion Fade may change (it changes an instance's parent material). The engine's and the plugins' materials are never changed: their objects become ghosts instead. | |
Ghost Fallback (bGhostFallback) | bool | True | Ghost Fallback | Objects whose materials have no Camera Occlusion Fade get the same see-through circle while they hide the party: their materials are swapped for the Ghost Material (with their own base texture and color when found), the circle opens over Fade Seconds, and their materials come back once it closed. An instanced mesh (a tree of a forest) gets a copy of the one tree in the way. Off = they hide (Hide Fallback). | |
Ghost Color Parameters (GhostColorParameters) | TArray<FName> | (8 entries) | Ghost Fallback | Color parameters a ghost multiplies its texture by, in this order (none = white). | |
Ghost Material (GhostMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Camera/M_RSE_CameraOcclusionGhost.M_RSE_CameraOcclusionGhost | Ghost Fallback | The material ghosts wear (M_RSE_CameraOcclusionGhost): masked, two-sided, the see-through circle of the Collection, with the parameters BaseTexture, BaseTint, Roughness, UseTextureAlpha, AlphaClip and RSE_GhostFade (0..1, how far the circle is open). | |
Ghost Material Two Sided (GhostMaterialTwoSided) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Camera/MI_RSE_CameraOcclusionGhost_TwoSided.MI_RSE_CameraOcclusionGhost_TwoSided | Ghost Fallback | The ghost of a two-sided material (leaves, cloth): the same, two-sided (MI_RSE_CameraOcclusionGhost_TwoSided). Empty = Ghost Material. | |
Ghost Min Coverage (GhostMinCoverage) | float | 0.200000 | Ghost Fallback | Share of a character's sample points (0..1) an object must cover before it turns into a ghost: a big tree touching one shoulder stays. | |
Ghost Neutral Color (GhostNeutralColor) | FLinearColor | (R=0.450000,G=0.450000,B=0.450000,A=1.000000) | Ghost Fallback | The color of a ghost whose material gives neither a texture nor a color. | |
Ghost Roughness Parameters (GhostRoughnessParameters) | TArray<FName> | (3 entries) | Ghost Fallback | Scalar parameters a ghost takes its roughness from, in this order (none = the ghost material's own). | |
Ghost Texture Parameters (GhostTextureParameters) | TArray<FName> | (15 entries) | Ghost Fallback | Texture parameters a ghost takes its base texture from, in this order (else the material's first color texture). | |
Max Ghosts (MaxGhosts) | int32 | 16 | Ghost Fallback | Ghosts at once at most (the nearest to the lines of view first); the rest fall back to hiding. | |
Hide Fallback (bHideFallback) | bool | True | Hide Fallback | Objects that cannot fade nor become a ghost are hidden while they hide the party (off = they stay). | |
Single Instances (bHideSingleInstances) | bool | True | Hide Fallback | D-112, D-116: single instances of instanced meshes whose materials cannot fade (one tree of an instanced forest, one rock) are handled one at a time while they hide the party: a ghost copy of that one tree (Ghost Fallback), else hidden (scaled to nothing, put back after); the rest of the forest stays. Off = instanced meshes are never touched. | |
Never Hide Instanced (bNeverHideInstanced) | bool | True | Hide Fallback | Instanced meshes (foliage, forests) are never hidden or ghosted as a whole: they fade when their material is opted in, else one instance at a time (Single Instances). | |
Hide Min Coverage (HideMinCoverage) | float | 0.600000 | Hide Fallback | Share of a character's sample points (0..1) an object must cover before it is hidden: never a whole big tree for a small intrusion. | |
Instance Max Size (InstanceMaxSize) | float | 1500.000000 | Hide Fallback | Instances at least this wide on both sides are never touched (ground pieces, cliffs, big terrain meshes). | |
Max Hidden (MaxHidden) | int32 | 24 | Hide Fallback | Objects hidden at once at most (the nearest to the lines of view first). | |
Max Hidden Instances (MaxHiddenInstances) | int32 | 32 | Hide Fallback | Instances hidden or ghosted at once at most. | |
Enabled (bEnabled) | bool | True | Occlusion | Objects between the camera and the party fade (opted-in materials) or hide (the rest). | |
Trace Complex (bTraceComplex) | bool | True | Occlusion | The lines of view test the meshes' real shape (their triangles), not their simple collision: a canopy over a trunk counts. | |
Check Interval (CheckInterval) | float | 0.100000 | Occlusion | Seconds between two checks of what stands in the way (the see-through circle itself moves every frame). | |
Floor Tolerance (FloorTolerance) | float | 40.000000 | Occlusion | Objects whose top is lower than this above a character's feet are ground, never hidden (cm). | |
Focus Height (FocusHeight) | float | 100.000000 | Occlusion | Height above a character's feet of the see-through circle's center (its chest, cm). | |
Max Fade Size (MaxFadeSize) | float | 1500.000000 | Occlusion | D-183: objects at least this wide on both sides (cliffs, big terrain meshes, whole rock faces) never fade or hide: the obstruction-aware cameras move around them instead (Camera Framing). 0 = any size fades. | |
Max Objects Per Line (MaxObjectsPerLine) | int32 | 6 | Occlusion | Objects one line of view looks through at most (a wall, then a tree behind it...). | |
Max Targets (MaxTargets) | int32 | 4 | Occlusion | Characters kept visible at most (the leader first, then the nearest party members; the active unit and the cursor in battle). | |
Never Fade Tag (NeverFadeTag) | FName | RSE.NoFade | Occlusion | Actors or components with this tag never fade or hide. | |
Probe Channel (ProbeChannel) | TEnumAsByte<ECollisionChannel> | ECC_Visibility | Occlusion | Trace channel of the probe (objects that ignore it never fade). | |
Probe Radius (ProbeRadius) | float | 0.000000 | Occlusion | Radius of each line of view (cm; 0 = a thin line). Wider catches more around the line. | |
Sample Points (SamplePoints) | TArray<FVector2D> | (5 entries) | Occlusion | D-116: the points of each character the camera must see, as its silhouette on screen: X = to the side, across the view (cm), Y = height above the feet (cm). A line of view goes from the camera to each point; an object counts by how many of them it covers (Ghost Min Coverage, Hide Min Coverage). | |
Ground Lift Release Speed (GroundLiftReleaseSpeed) | float | 4.000000 | Terrain | How quickly the camera settles back down after it was lifted over a hill (higher = faster). | |
Ground Probe Distance (GroundProbeDistance) | float | 6000.000000 | Terrain | How far above and below the camera the terrain is looked for (cm). | |
Ground Tags (GroundTags) | TArray<FName> | (1 entries) | Terrain | Besides landscapes, actors or components with one of these tags are terrain: the RPG cameras stay above them. | |
Hide Delay (HideDelay) | float | 0.150000 | Timing | An object turns into a ghost or hides after it has been in the way this long (no flicker when brushing past). | |
Show Delay (ShowDelay) | float | 0.400000 | Timing | A ghost or a hidden object comes back after it has been out of the way this long; the see-through circles close after it too. |
RPG Saga Engine: Cards
Class URSECardSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Card game rules (D-028).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Max Copies Per Card (MaxCopiesPerCard) | int32 | 99 | Collection | Most copies of one card the collection holds (extra copies are not added). | |
Starting Cards (StartingCards) | TMap<TSoftObjectPtr<URSECardData> ,int32> | (11 entries) | Collection | Cards owned when a new game starts; the starting deck is auto-built from them. | |
Max Deck Size (MaxDeckSize) | int32 | 15 | Deck | Most cards in a deck (the player's and every opponent's). | |
Min Deck Size (MinDeckSize) | int32 | 1 | Deck | Fewest cards the player needs to play. | |
Shuffle Decks (bShuffleDecks) | bool | True | Match | Shuffle both decks at the start of a match. Off only for debugging (decks play in list order). | |
Turn Limit (TurnLimit) | int32 | 40 | Match | A match ends after this many turns; the player with more cards wins (equal = draw). | |
Rarity Tiers (RarityTiers) | TArray<FRSECardRarityTier> | (3 entries) | Rarity | Rarity tiers and their value ranges; card validation checks each card against its tier. | |
Protected Value (ProtectedValue) | int32 | 7 | Stake | Cards with at least this value can never be lost as a stake. |
RPG Saga Engine: Cards UI
Class URSECardUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Card game presentation (D-028): the War table, the result screen, the album / deck editor and challenge notices.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Album Column Width (AlbumColumnWidth) | float | 380.000000 | Album | ||
Album Height (AlbumHeight) | float | 620.000000 | Album | ||
Album Width (AlbumWidth) | float | 1100.000000 | Album | --- Album layout --- | |
Protected Color (ProtectedColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.056059,Chroma=0.827640,Hue=-13.637671,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Album | ||
Validation Error Color (ValidationErrorColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=0.019198,Chroma=0.887452,Hue=-0.115458,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Album | ||
Validation Ok Color (ValidationOkColor) | FRSEUIColor | (Token="Positive",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Album | ||
Card Back Color (CardBackColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.106148,Chroma=0.976898,Hue=41.373325,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Card | ||
Card Back Pattern Color (CardBackPatternColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=0.012852,Chroma=0.996315,Hue=41.214352,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Card | Pattern colour of the card back (inner panel). | |
Card Corner Radius (CardCornerRadius) | float | 8.000000 | Card | ||
Card Face Bottom Color (CardFaceBottomColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Lightness=-0.032428,Chroma=0.276497,Hue=-8.469772,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Card | ||
Card Face Color (CardFaceColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Lightness=0.046021,Chroma=0.160610,Hue=-2.762362,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Card | Card face: a gradient from CardFaceColor (top) to CardFaceBottomColor. | |
Card Icon Size (CardIconSize) | float | 56.000000 | Card | Icon size inside a card (the art is optional). | |
Card Name Font Size (CardNameFontSize) | int32 | 11 | Card | ||
Card Size (CardSize) | FVector2D | (X=120.000000,Y=170.000000) | Card | Card size on the table (the album preview uses the same size). | |
Card Text Color (CardTextColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=-0.430560,Chroma=1.949115,Hue=30.887167,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Card | Value and name text on the card face. | |
Card Value Font Size (CardValueFontSize) | int32 | 40 | Card | ||
Fallback Style (FallbackStyle) | FRSECardRarityStyle | (Rarity=(),FrameColor=(Token="Neutral",Alpha=1.000000,Lightness=-0.116132,Chroma=0.000002,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)),TextColor=(Tok... | Card | Frame used for a rarity without a style. | |
Rarity Styles (RarityStyles) | TArray<FRSECardRarityStyle> | (3 entries) | Card | --- Card look --- | |
Small Card Size (SmallCardSize) | FVector2D | (X=84.000000,Y=119.000000) | Card | Card size in the result screen's reward list. | |
Auto Build Keys (AutoBuildKeys) | TArray<FKey> | (2 entries) | Input | Album: build the best deck. | |
Back Keys (BackKeys) | TArray<FKey> | (3 entries) | Input | Table: skip to the result, then close it. Album: close. | |
Confirm Keys (ConfirmKeys) | TArray<FKey> | (3 entries) | Input | Table: skip to the result, then close it. Album: add / remove the selected card. | |
Down Keys (DownKeys) | TArray<FKey> | (4 entries) | Input | ||
Left Keys (LeftKeys) | TArray<FKey> | (4 entries) | Input | ||
Right Keys (RightKeys) | TArray<FKey> | (4 entries) | Input | ||
Speed Keys (SpeedKeys) | TArray<FKey> | (3 entries) | Input | Table: next replay speed. | |
Up Keys (UpKeys) | TArray<FKey> | (4 entries) | Input | --- Input (the card screens hold keyboard focus and read keys directly, like the main menu) --- | |
Default Speed Index (DefaultSpeedIndex) | int32 | 0 | Pacing | Index into SpeedOptions used for the first match of a session. | |
Notice Duration (NoticeDuration) | float | 2.500000 | Pacing | How long a challenge refusal notice stays on screen. | |
Pacing (Pacing) | FRSECardPacing | (Intro=0.600000,Reveal=0.450000,Compare=0.500000,WarBanner=0.900000,FaceDown=0.150000,Decider=0.700000,Forfeit=0.900000,PileReturned=0.900000,Collect=0.450000,T... | Pacing | --- Pacing (seconds at speed x1) --- | |
Speed Options (SpeedOptions) | TArray<float> | (3 entries) | Pacing | Replay speeds the speed button cycles through. | |
Cards Per Deck Layer (CardsPerDeckLayer) | int32 | 3 | Table | Deck piles show one back per this many cards (visual thickness). | |
Deck Offset (DeckOffset) | FVector2D | (X=-330.000000,Y=190.000000) | Table | Player's deck. | |
Max Visible Stack Cards (MaxVisibleStackCards) | int32 | 8 | Table | Most face-down cards drawn in a stack (the count label shows the real number). | |
Played Card Offset (PlayedCardOffset) | FVector2D | (X=0.000000,Y=115.000000) | Table | Player's revealed card (the opponent's is mirrored above the centre). | |
Result Panel Width (ResultPanelWidth) | float | 560.000000 | Table | ||
Stack Card Step (StackCardStep) | FVector2D | (X=6.000000,Y=-3.000000) | Table | Screen offset between two face-down cards of a war stack. | |
Table Color (TableColor) | FRSEUIColor | (Token="Secondary",Alpha=1.000000,Lightness=-0.420493,Chroma=0.888146,Hue=-34.901016,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Table | Table felt (opaque: the table hides the world and any dialog behind it). Edges darken toward TableEdgeColor. | |
Table Edge Color (TableEdgeColor) | FRSEUIColor | (Token="Secondary",Alpha=1.000000,Lightness=-0.596025,Chroma=0.501982,Hue=-31.293844,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Table | ||
Table Light Color (TableLightColor) | FRSEUIColor | (Token="Secondary",Alpha=0.120000,Lightness=0.026886,Chroma=1.248798,Hue=-41.326351,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Table | Soft light over the middle of the table. | |
War Banner Color (WarBannerColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=-0.078838,Chroma=1.090544,Hue=-35.890274,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Table | ||
War Stack Offset (WarStackOffset) | FVector2D | (X=170.000000,Y=115.000000) | Table | Player's face-down war stack, next to the revealed card. | |
Winner Card Scale (WinnerCardScale) | float | 1.120000 | Table | The winning card is scaled up by this much while the trick is decided. | |
Album Column Action Text (AlbumColumnActionText) | FText | NSLOCTEXT("RSECardUISettings", "AlbumColumnAction", "Collection / Deck") | Texts|Album | Key prompt actions of the album. | |
Album Hint Text (AlbumHintText) | FText | Texts|Album | Optional line under the album key prompts (empty = none). | ||
Album Title (AlbumTitle) | FText | NSLOCTEXT("RSECardUISettings", "AlbumTitle", "Card Album") | Texts|Album | ||
Album Toggle Action Text (AlbumToggleActionText) | FText | NSLOCTEXT("RSECardUISettings", "AlbumToggleAction", "Add / Remove") | Texts|Album | ||
Auto Build Label (AutoBuildLabel) | FText | NSLOCTEXT("RSECardUISettings", "AutoBuild", "Best deck") | Texts|Album | ||
Card Row Format (CardRowFormat) | FText | NSLOCTEXT("RSECardUISettings", "CardRow", "[{Value}] {Name}") | Texts|Album | Row label: {Value} {Name} | |
Close Label (CloseLabel) | FText | NSLOCTEXT("RSECardUISettings", "Close", "Close") | Texts|Album | ||
Collection Header (CollectionHeader) | FText | NSLOCTEXT("RSECardUISettings", "Collection", "Collection") | Texts|Album | ||
Deck Header Format (DeckHeaderFormat) | FText | NSLOCTEXT("RSECardUISettings", "DeckHeader", "Deck {Count} / {Max}") | Texts|Album | {Count} {Max} | |
Deck Invalid Card Text (DeckInvalidCardText) | FText | NSLOCTEXT("RSECardUISettings", "DeckInvalidCard", "A card in the deck is missing.") | Texts|Album | ||
Deck Kept Text (DeckKeptText) | FText | NSLOCTEXT("RSECardUISettings", "DeckKept", "The edited deck is not valid: your previous deck is kept.") | Texts|Album | Shown when the album closes with an invalid deck: the last valid deck stays. | |
Deck Not Owned Text (DeckNotOwnedText) | FText | NSLOCTEXT("RSECardUISettings", "DeckNotOwned", "The deck uses cards you do not own.") | Texts|Album | ||
Deck Too Large Format (DeckTooLargeFormat) | FText | NSLOCTEXT("RSECardUISettings", "DeckTooLarge", "The deck holds at most {Max} {Max}|plural(one=card,other=cards).") | Texts|Album | ||
Deck Too Small Format (DeckTooSmallFormat) | FText | NSLOCTEXT("RSECardUISettings", "DeckTooSmall", "The deck needs at least {Min} {Min}|plural(one=card,other=cards).") | Texts|Album | ||
Deck Total Format (DeckTotalFormat) | FText | NSLOCTEXT("RSECardUISettings", "DeckTotal", "Total value {Total}") | Texts|Album | {Total} | |
Deck Valid Text (DeckValidText) | FText | NSLOCTEXT("RSECardUISettings", "DeckValid", "Deck ready.") | Texts|Album | ||
Empty Collection Text (EmptyCollectionText) | FText | NSLOCTEXT("RSECardUISettings", "EmptyCollection", "No cards yet.") | Texts|Album | ||
Empty Deck Text (EmptyDeckText) | FText | NSLOCTEXT("RSECardUISettings", "EmptyDeck", "The deck is empty.") | Texts|Album | ||
Owned Detail Format (OwnedDetailFormat) | FText | NSLOCTEXT("RSECardUISettings", "OwnedDetail", "{InDeck} / {Owned}") | Texts|Album | Collection row detail: {InDeck} {Owned} | |
Preview Owned Format (PreviewOwnedFormat) | FText | NSLOCTEXT("RSECardUISettings", "PreviewOwned", "Owned: {Owned} In deck: {InDeck}") | Texts|Album | Preview line: {Owned} {InDeck} | |
Protected Marker (ProtectedMarker) | FText | NSLOCTEXT("RSECardUISettings", "Protected", "Protected: never lost as a stake") | Texts|Album | Preview label of a card that cannot be lost as a stake. | |
Protected Owned Detail Format (ProtectedOwnedDetailFormat) | FText | NSLOCTEXT("RSECardUISettings", "ProtectedOwnedDetail", "{InDeck} / {Owned} (protected)") | Texts|Album | Collection row detail of a card that cannot be lost as a stake: {InDeck} {Owned} | |
Refused Busy Text (RefusedBusyText) | FText | NSLOCTEXT("RSECardUISettings", "RefusedBusy", "You cannot play cards now.") | Texts|Challenge | Busy (battle, another card screen). | |
Refused Conditions Text (RefusedConditionsText) | FText | NSLOCTEXT("RSECardUISettings", "RefusedConditions", "They do not want to play right now.") | Texts|Challenge | ||
Refused Host Only Text (RefusedHostOnlyText) | FText | NSLOCTEXT("RSECardUISettings", "RefusedHostOnly", "Only the host can play cards in co-op.") | Texts|Challenge | Co-op: this player may not play cards (the card game is the host's at launch, D-139). Also the album's deck changes. | |
Refused Invalid Deck Text (RefusedInvalidDeckText) | FText | NSLOCTEXT("RSECardUISettings", "RefusedInvalidDeck", "Your deck is not ready. Check it in the card album.") | Texts|Challenge | ||
Refused No Opponent Text (RefusedNoOpponentText) | FText | NSLOCTEXT("RSECardUISettings", "RefusedNoOpponent", "There is nobody to play with.") | Texts|Challenge | ||
Refused No Rematch Text (RefusedNoRematchText) | FText | NSLOCTEXT("RSECardUISettings", "RefusedNoRematch", "They will not play you again.") | Texts|Challenge | ||
Continue Label (ContinueLabel) | FText | NSLOCTEXT("RSECardUISettings", "Continue", "Continue") | Texts|Result | ||
Draw Text (DrawText) | FText | NSLOCTEXT("RSECardUISettings", "Draw", "Draw") | Texts|Result | ||
End Deck Out Format (EndDeckOutFormat) | FText | NSLOCTEXT("RSECardUISettings", "EndDeckOut", "{Winner} took every card.") | Texts|Result | {Winner} | |
End No Cards for War Format (EndNoCardsForWarFormat) | FText | NSLOCTEXT("RSECardUISettings", "EndNoCardsForWar", "Nobody could finish the war: {Count0} to {Count1} cards.") | Texts|Result | {Count0} {Count1} | |
End Turn Limit Format (EndTurnLimitFormat) | FText | NSLOCTEXT("RSECardUISettings", "EndTurnLimit", "Turn limit ({Turns}) reached: {Count0} to {Count1} cards.") | Texts|Result | {Turns} {Count0} {Count1} | |
Lost Text (LostText) | FText | NSLOCTEXT("RSECardUISettings", "Lost", "Defeat") | Texts|Result | ||
No Stake Text (NoStakeText) | FText | NSLOCTEXT("RSECardUISettings", "NoStake", "No card changes hands.") | Texts|Result | Friendly match (no stake) or a draw. | |
Rewards Header (RewardsHeader) | FText | NSLOCTEXT("RSECardUISettings", "Rewards", "First victory rewards:") | Texts|Result | ||
Stake Lost Format (StakeLostFormat) | FText | NSLOCTEXT("RSECardUISettings", "StakeLost", "{Opponent} takes {Card} ({Rarity}).") | Texts|Result | {Opponent} {Card} {Rarity} | |
Stake Protected Text (StakeProtectedText) | FText | NSLOCTEXT("RSECardUISettings", "StakeProtected", "Every card in the loser\'s deck is protected: nothing is taken.") | Texts|Result | A winner, but every card of the loser was protected. | |
Stake Won Format (StakeWonFormat) | FText | NSLOCTEXT("RSECardUISettings", "StakeWon", "You win {Card} ({Rarity}).") | Texts|Result | {Card} {Rarity} | |
Won Text (WonText) | FText | NSLOCTEXT("RSECardUISettings", "Won", "Victory") | Texts|Result | ||
Deck Count Format (DeckCountFormat) | FText | NSLOCTEXT("RSECardUISettings", "DeckCount", "{Count} cards") | Texts|Table | {Count} | |
Forfeit Format (ForfeitFormat) | FText | NSLOCTEXT("RSECardUISettings", "Forfeit", "{Name} has no cards left for the war.") | Texts|Table | {Name} cannot go to war. | |
Pile Returned Text (PileReturnedText) | FText | NSLOCTEXT("RSECardUISettings", "PileReturned", "No cards left for the war: each takes back their own.") | Texts|Table | ||
Player Label (PlayerLabel) | FText | NSLOCTEXT("RSECardUISettings", "Player", "You") | Texts|Table | --- Texts (localizable; {named} arguments are filled by the widgets) --- | |
Skip Label (SkipLabel) | FText | NSLOCTEXT("RSECardUISettings", "Skip", "Skip") | Texts|Table | ||
Speed Action Text (SpeedActionText) | FText | NSLOCTEXT("RSECardUISettings", "SpeedAction", "Speed") | Texts|Table | Action of the speed key prompt. | |
Speed Format (SpeedFormat) | FText | NSLOCTEXT("RSECardUISettings", "Speed", "Speed x{Speed}") | Texts|Table | {Speed} | |
Stack Count Format (StackCountFormat) | FText | NSLOCTEXT("RSECardUISettings", "StackCount", "x{Count}") | Texts|Table | {Count} face-down cards in a war stack. | |
Table Hint Text (TableHintText) | FText | Texts|Table | |||
Turn Format (TurnFormat) | FText | NSLOCTEXT("RSECardUISettings", "Turn", "Turn {Turn} / {Limit}") | Texts|Table | {Turn} {Limit} | |
War Banner Text (WarBannerText) | FText | NSLOCTEXT("RSECardUISettings", "WarBanner", "War!") | Texts|Table | ||
War Detail Format (WarDetailFormat) | FText | NSLOCTEXT("RSECardUISettings", "WarDetail", "Tie on {Value}: {Count} {Count}|plural(one=card,other=cards) each") | Texts|Table | Under the banner. {Value} = tied value, {Count} = cards each player turns over. | |
Album Widget Class (AlbumWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Widgets | Card album and deck editor (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSECardAlbumViewModel (docs/product/custom-ui.md). | |
Notice Widget Class (NoticeWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Widgets | Card challenge notice (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSENoticeViewModel (docs/product/custom-ui.md). | |
Table Widget Class (TableWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Widgets | Card table (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSECardTableViewModel (docs/product/custom-ui.md). | |
Widget ZOrder (WidgetZOrder) | int32 | 60 | Widgets | Viewport Z order of the table and the album (above the HUDs). |
RPG Saga Engine: Character Actions
Class URSECharacterActionsSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. One-click character actions (D-084, docs/product/editors-and-wizards.md): Add to Starting Party, Make Recruitable and Make Enemy on a Character asset (Content Browser right-click, RPG Saga Engine -> Content -> Character Actions, the asset's Details).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Place Enemy in Level (bPlaceEnemyInLevel) | bool | True | Enemy | Place something that starts the battle in the open level: a roaming enemy spawner (classic modes) or a battle zone (Tactics). | |
Enemy Battle Mode (EnemyBattleMode) | FGameplayTag | () | Enemy | Battle mode of a new encounter. Empty = Wizards -> Default Battle Mode. | |
Enemy Group Size (EnemyGroupSize) | int32 | 2 | Enemy | Units of the character in a new encounter (a small group of the same enemy). | |
Enemy Outliner Folder (EnemyOutlinerFolder) | FName | RPG Saga/Enemies | Placement | World Outliner folder of the placed enemy spawners. | |
Ground Search Distance (GroundSearchDistance) | float | 2000.000000 | Placement | How far above and below the placement point the ground is searched. | |
NPCOutliner Folder (NPCOutlinerFolder) | FName | RPG Saga/NPCs | Placement | World Outliner folder of the placed NPCs. | |
Place Distance (PlaceDistance) | float | 500.000000 | Placement | New NPCs and enemy spawners are placed this far in front of the level viewport's camera (then dropped to the ground). | |
Declined Line (DeclinedLine) | FText | NSLOCTEXT("RSECharacterActions", "DefaultDeclined", "Suit yourself. You know where to find me.") | Recruit | Said after being turned down (the player may ask again later). | |
Decline Option (DeclineOption) | FText | NSLOCTEXT("RSECharacterActions", "DefaultDecline", "Not now.") | Recruit | Option that turns the character down (also the Cancel button). | |
Greeting Line (GreetingLine) | FText | NSLOCTEXT("RSECharacterActions", "DefaultGreeting", "Well met. I\'m {Name}. I hear you could use another pair of hands.") | Recruit | First line of the recruit dialog. {Name} = the character's name. | |
Joined Line (JoinedLine) | FText | NSLOCTEXT("RSECharacterActions", "DefaultJoined", "Then let\'s go. I\'m with you.") | Recruit | Said after joining. {Name} = the character's name. | |
Join Option (JoinOption) | FText | NSLOCTEXT("RSECharacterActions", "DefaultJoin", "Join us, {Name}.") | Recruit | Option that recruits the character. {Name} = the character's name. | |
Join Prompt (JoinPrompt) | FText | NSLOCTEXT("RSECharacterActions", "DefaultPrompt", "Ask {Name} to join the party?") | Recruit | Question shown with the two options. {Name} = the character's name. | |
Recruit Flag Root (RecruitFlagRoot) | FString | Narrative.Flag.Recruited | Recruit | Parent of the story flag set when a character joins ("Narrative.Flag.Recruited" -> Narrative.Flag.Recruited.Mira). | |
Recruit Flag Tag Source (RecruitFlagTagSource) | FString | RSE_Recruits.ini | Recruit | Tag file (Config/Tags of the project) new recruit flags are written to. | |
Max Starting Party Size (MaxStartingPartySize) | int32 | 0 | Starting Party | Most characters Add to Starting Party accepts in Party -> Starting Members. 0 = the battle places (the ATB party size of the default rules profile, Battle -> ATB Party Size) plus Starting Reserve Places (D-136). | |
Starting Reserve Places (StartingReservePlaces) | int32 | 4 | Starting Party | With Max Starting Party Size 0: starting members allowed after the battle places (D-136). They are in the party from the start and are swapped into battles from the party menu (Formation); in Tactics battles every member can be deployed. |
RPG Saga Engine: Character Packs
Class URSECharacterPackSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Character pack importer defaults (D-074): Project Settings -> RPG Saga Engine -> Character Packs.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Body Preset Prefix (BodyPresetPrefix) | FString | Importer | Prefix of the body presets the importer writes (<Prefix><Character>_<Skin>). | ||
Default Profile (DefaultProfile) | TSoftObjectPtr<URSECharacterPackProfile> | (set per project) | Importer | Profile the importer starts with (the plugin's generic one fits packs with conventional clip names). | |
Target Root (TargetRoot) | FDirectoryPath | (set per project) | Importer | Folder the imported characters go under (one subfolder per pack). Must be project content. | |
Display Name Noise Words (DisplayNameNoiseWords) | TArray<FString> | (26 entries) | New Character from Mesh | Words dropped when a character's display name is made from its asset name ("samurai_warrior_3d_model" -> "Samurai Warrior"): what model exporters and stores add to file names. Case-insensitive, whole words. | |
New Character Default Class (NewCharacterDefaultClass) | TSoftObjectPtr<URSEClassData> | /RPGSagaEngine/Data/Classes/DA_Class_Warrior.DA_Class_Warrior | New Character from Mesh | Class New Character from Mesh offers first. | |
New Character Profile (NewCharacterProfile) | TSoftObjectPtr<URSECharacterPackProfile> | /RPGSagaEngine/Data/CharacterPacks/DA_PackProfile_Generic.DA_PackProfile_Generic | New Character from Mesh | Profile New Character from Mesh starts from (D-085; a copy is adjusted for the one mesh: its class, height and animation source). Empty = Default Profile. |
RPG Saga Engine: Character Visuals
Class URSECharacterVisualSettings (module RSE), Project Settings, Project, RPG Saga Engine. Character Visuals
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Anchor Fallbacks (AnchorFallbacks) | TArray<FRSEAnchorFallback> | (2 entries) | Anchors | Where an anchor goes when a look has nothing for it, tried in order (e.g. Weapon Tip -> Right Hand for an unarmed caster, Muzzle -> Weapon Tip). A held weapon without a Weapon Tip socket gets its tip measured (the far end from the grip). | |
Default Blend Time (DefaultBlendTime) | float | 0.200000 | Animation | Blend in / out of state and reaction animations whose own BlendTime is negative. | |
Hit Direction Memory (HitDirectionMemory) | float | 3.000000 | Animation | A knock-out within this time of a hit falls the way the hit came from (directional Down animations); later ones use the front one. | |
Moving Speed Threshold (MovingSpeedThreshold) | float | 10.000000 | Animation | Speed (cm/s) above which a character counts as moving (the combat idle stops, locomotion takes over). | |
Speed Smoothing (SpeedSmoothing) | float | 12.000000 | Animation | How fast the measured speed follows the real one for actors moved without a movement component (grid units, cue moves). Higher = snappier, lower = smoother blends. 0 = no smoothing. | |
Turn Anim Min Angle (TurnAnimMinAngle) | float | 60.000000 | Animation | Standing turns of at least this angle play the anim set's turn in place clip (TurnLeft90 / TurnRight90 / Turn180), and the mesh turns over the clip's length. Smaller turns stay procedural. | |
Turn in Place Max Angle (TurnInPlaceMaxAngle) | float | 180.000000 | Animation | Turns larger than this snap (teleports, respawns). | |
Turn in Place Rate (TurnInPlaceRate) | float | 720.000000 | Animation | Facing turns (Tactics facing, turning to a target) are shown as a smooth turn in place at this speed instead of a snap. 0 = snap. | |
Animated Recoil Scale (AnimatedRecoilScale) | float | 0.400000 | Battle | Distance scale of the procedural hit recoil on animated units (0 = only the hit animation). | |
Animated Units Skip Procedural Fall (bAnimatedUnitsSkipProceduralFall) | bool | True | Battle | Units with an animated appearance skip the procedural tip-over on a knock-out (their Down animation shows it). | |
Impact from Anim Notifies (bImpactFromAnimNotifies) | bool | True | Battle | A Montage cue whose montage has RSEImpact notifies times its impacts with them (the damage shows on the hit frame). | |
Body Presets (BodyPresets) | TMap<FName,FRSEBodyPreset> | (43 entries) | Bodies | Bodies by name, used by appearances that name a Body Preset instead of a mesh (the framework's starter looks use "Mannequin" and "MannequinSlim"). A missing preset leaves those characters as placeholder shapes. The New RPG Project wizard (Install the UE mannequin kit) fills them. | |
Empty Slot Look (EmptySlotLook) | ERSEEmptySlotLook | PlayerCharacters | Equipment | D-128: whose looks hide their own weapon / shield while the matching equipment slot (Items -> Equipment Slots, with an Appearance Slot and Empty Hides Look Part) is empty. The paperdoll preview and the world follow every equipment change. | |
Tint Fallback by Team (bTintFallbackByTeam) | bool | True | Fallback | Battle units with the fallback look take their team color (Tactics Zone -> team colors), so the sides stay readable. | |
Character Appearance Overrides (CharacterAppearanceOverrides) | TMap<TSoftObjectPtr<URSECharacterData> ,TSoftObjectPtr<URSECharacterAppearance> > | (1 entries) | Fallback | Looks this project gives to characters it cannot edit (e.g. the plugin's example monsters, like the wolves of Call Wolves): used instead of the character's own Appearance, wherever it appears (battle, exploration, previews). | |
Fallback Appearance (FallbackAppearance) | TSoftObjectPtr<URSECharacterAppearance> | /RPGSagaEngine/Data/Appearance/DA_Appearance_Mannequin.DA_Appearance_Mannequin | Fallback | Look of characters that have no Appearance (enemies made before their art, generated groups): e.g. the mannequin, so they never show as placeholder blocks next to animated characters. Empty = the placeholder shapes. | |
Fallback Tint Parameter (FallbackTintParameter) | FName | Paint Tint | Fallback | Vector parameter of the fallback look's materials that takes the team color. | |
Fallback Tint Strength (FallbackTintStrength) | float | 0.800000 | Fallback | Multiplies the team color before it is applied (team colors are bright UI colors; a darker paint reads better on a body). | |
Default Idle Anims (DefaultIdleAnims) | TMap<FGameplayTag,FRSECharacterAnim> | (0 entries) | Idle Life | Idle clips for looks whose animation set lacks a slot (Idle.Anim.*): the visible party's idle behaviours try the set, its parent slots, then these (and their parents). Loaded when the party field starts. Empty = only the sets' clips. | |
Idle Interrupt Blend Out (IdleInterruptBlendOut) | float | 0.200000 | Idle Life | Blend out (seconds) of an idle animation cut short (the leader walks, a battle starts). | |
Locomotion Warping (bLocomotionWarping) | bool | True | Locomotion Warping | Orientation and stride warping of the locomotion (explorer, NPCs, grid units walking): the feet follow the real movement direction and speed instead of sliding. Off = the warping nodes are skipped (their alpha is 0). Debug override: CVar RSE.Anim.Warping. | |
Orientation Warp Snap Angle (OrientationWarpSnapAngle) | float | 45.000000 | Locomotion Warping | The blend space plays the nearest direction on this grid (45 = the mannequin's 8 directions) and orientation warping turns the legs by the rest. 0 = the blend space gets the exact direction (no orientation warp). | |
Stride Warp Max Scale (StrideWarpMaxScale) | float | 1.500000 | Locomotion Warping | Movement faster than the locomotion blend space's top speed (a sprint, a fast cue move) keeps the top speed's cycle and lengthens the strides (stride warping) up to this scale, instead of sliding the feet. | |
Cast Shadows (bCastShadows) | bool | True | Performance | Skeletal parts cast dynamic shadows (off saves shadow draw calls on low-end targets). | |
Enable Update Rate Optimizations (bEnableUpdateRateOptimizations) | bool | True | Performance | Animation update rate optimization: distant or small characters update their animation less often. | |
Receive Decals (bReceiveDecals) | bool | False | Performance | Character parts receive decals. Off (default): the target rings and area markers on the ground (decals) do not paint the characters standing in them (D-065). | |
Min LODBias (MinLODBias) | int32 | 0 | Performance | Most detailed LOD character meshes may use (1 = never LOD0, for very weak targets). 0 = the mesh's own LOD screen sizes. | |
Visibility Based Anim Tick Option (VisibilityBasedAnimTickOption) | EVisibilityBasedAnimTickOption | OnlyTickPoseWhenRendered | Performance | When off-screen characters update their animation and bones. |
RPG Saga Engine: Cinematics
Class URSECinematicSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Cinematic from Screenplay (D-078, docs/product/cinematics.md): stages a dialog as a Level Sequence (cast, cameras with a shot grammar, timing, animation, the dialog driving the sequence line by line).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Force Custom Anim Mode (bForceCustomAnimMode) | bool | False | Animation | The animation sections take over the whole body (Sequencer's own animation mode). Off = they play on the anim set's action slot of the character's Anim Blueprint, so idle and walking stay the Blueprint's (recommended). | |
Gesture Min Line Seconds (GestureMinLineSeconds) | float | 3.000000 | Animation | Shortest line that gets a gesture. | |
Gesture Probability (GestureProbability) | float | 0.350000 | Animation | Chance of a gesture on a long line. | |
Gestures (Gestures) | TArray<TSoftObjectPtr<UAnimSequenceBase> > | (0 entries) | Animation | Gestures played at the start of long lines (the speaker's own animations are preferred: its anim set's Talk). Empty = none. | |
Aperture (Aperture) | float | 4.000000 | Camera | Aperture with depth of field on. | |
Constrain Aspect Ratio (bConstrainAspectRatio) | bool | False | Camera | The cameras force their aspect ratio (black bars). Off = they fill the screen; the scene overlay draws its letterbox. | |
Depth Of Field (bDepthOfField) | bool | False | Camera | Depth of field (focus on the subject). Off = no blur at all: cheap, and the right choice for low-end hardware such as the Steam Deck. | |
Sensor Height (SensorHeight) | float | 13.365000 | Camera | ||
Sensor Width (SensorWidth) | float | 23.760000 | Camera | Sensor of the cine cameras (default: 16:9 digital film). | |
Binding Tag Prefix (BindingTagPrefix) | FString | Cast. | Output | Prefix of the generated binding tags (the scene data binds the real actors by them). | |
Frame Rate (FrameRate) | int32 | 30 | Output | Display rate of new sequences. | |
Generated Folder Name (GeneratedFolderName) | FName | RSE Generated | Output | Sequencer folder of everything the tool makes. Regeneration replaces its content; bindings and tracks outside it are kept. | |
Marker Prefix (MarkerPrefix) | FString | RSE. | Output | Prefix of the generated marked frames (Dialog start, one per line, outro). Other markers are kept. | |
Output Folder (OutputFolder) | FDirectoryPath | (set per project) | Output | Folder of the generated Level Sequences (LS_<Dialog>), under /Game. | |
Scene Data Prefix (SceneDataPrefix) | FString | DA_Scene_Cine_ | Output | Prefix of the generated scene data (in the Scenes folder of Content Import -> Types). | |
Sequence Prefix (SequencePrefix) | FString | LS_Cine_ | Output | Prefix of a generated sequence's name. | |
Close Up on Emotion (bCloseUpOnEmotion) | bool | True | Shots | Emotional lines are framed Close instead of over the shoulder. | |
Default Head Height (DefaultHeadHeight) | float | 160.000000 | Shots | Head height used when a character has no mesh to measure (a placeholder). | |
Emotional Expressions (EmotionalExpressions) | FGameplayTagContainer | () | Shots | Expressions that make a line emotional (reaction shots, close-ups). | |
Head Bones (HeadBones) | TArray<FName> | (4 entries) | Shots | Bones of the head, first found wins (the head height is measured on it). | |
Reaction Min Line Seconds (ReactionMinLineSeconds) | float | 2.000000 | Shots | Shortest line that gets a reaction shot (a short line keeps its speaker). | |
Reaction Probability (ReactionProbability) | float | 0.600000 | Shots | Chance of a reaction shot (the listener, at the end of the line) on emotional lines and questions. 0 = never. | |
Reaction Share (ReactionShare) | float | 0.350000 | Shots | The reaction's share of the line (its end). | |
Shot Presets (ShotPresets) | TArray<FRSECinematicShotPreset> | (6 entries) | Shots | Framings of the shot grammar, one per shot. | |
Two Shot After Exchanges (TwoShotAfterExchanges) | int32 | 3 | Shots | After this many back-and-forth lines between the same two speakers, short lines use a two-shot. 0 = never. | |
Two Shot Max Line Seconds (TwoShotMaxLineSeconds) | float | 3.500000 | Shots | Longest line of a back-and-forth that is shown as a two-shot. | |
Character Radius (CharacterRadius) | float | 35.000000 | Staging | Free radius a character needs (the free-space check). | |
Ground Search Above (GroundSearchAbove) | float | 300.000000 | Staging | How far above a spot the ground search starts, and how far below it goes. | |
Ground Search Below (GroundSearchBelow) | float | 1000.000000 | Staging | ||
Group Radius (GroupRadius) | float | 130.000000 | Staging | Radius of the triangle and the circle. | |
Line Up Spacing (LineUpSpacing) | float | 110.000000 | Staging | Spacing of a line-up. | |
Max Ground Step (MaxGroundStep) | float | 60.000000 | Staging | Largest height step between two cast spots (a formation over a ledge is rotated or tightened). | |
Nav Projection Distance (NavProjectionDistance) | float | 100.000000 | Staging | With a navmesh in the level, spots are projected on it (within this distance) and spots off it are refused. | |
Pair Distance (PairDistance) | float | 170.000000 | Staging | Distance between two characters facing each other. | |
Placement Rotations (PlacementRotations) | int32 | 12 | Staging | Rotations of the formation tried around the anchor when a spot is blocked. | |
Placement Scales (PlacementScales) | TArray<float> | (4 entries) | Staging | Spacing scales tried after the rotations (a tighter or wider formation). | |
Animation Blend Seconds (AnimationBlendSeconds) | float | 0.250000 | Timing | Blend in and out of the animation sections. | |
Choice Hold Seconds (ChoiceHoldSeconds) | float | 4.000000 | Timing | The hold of a choice (on whoever chooses). | |
Hold Seconds (HoldSeconds) | float | 3.000000 | Timing | The hold after each line: it loops while the line waits for the player. | |
Intro Seconds (IntroSeconds) | float | 2.500000 | Timing | Establishing wide before the first line. | |
Line Base Seconds (LineBaseSeconds) | float | 0.800000 | Timing | Unvoiced lines: added to the reading time (the eye finds the text). | |
Max Line Seconds (MaxLineSeconds) | float | 9.000000 | Timing | ||
Min Line Seconds (MinLineSeconds) | float | 1.500000 | Timing | ||
Outro Seconds (OutroSeconds) | float | 1.500000 | Timing | Closing wide after the dialog ends. | |
Reading Characters Per Second (ReadingCharactersPerSecond) | float | 15.000000 | Timing | Unvoiced lines: reading speed. | |
Turn Seconds (TurnSeconds) | float | 0.500000 | Timing | How long turning toward a new speaker takes. | |
Voice Tail Seconds (VoiceTailSeconds) | float | 0.300000 | Timing | Voiced lines: added after the voice ends. | |
Walk Speed (WalkSpeed) | float | 160.000000 | Timing | Walking speed of [move:...] directions. |
RPG Saga Engine: Classic Battle UI
Class URSEATBCommandUISettings (module RSE), Project Settings, Project, RPG Saga Engine. How the classic battle command menu tells the player who acts, with what and on whom (D-065): the acting unit's turn banner, the input guard when the menu changes hands, messages near the menu, the help line of the highlighted command, the target cursor and card, and the Wait / Active label.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Block Hint (BlockHint) | FText | NSLOCTEXT("RSEATBCommandUI", "BlockHint", "Block") | Enemy Actions | Key hint while a block prompt runs (Input -> Block Action). | |
Block Prompt Menu Opacity (BlockPromptMenuOpacity) | float | 0.450000 | Enemy Actions | Opacity of the command menu and the target list while a block prompt runs (they stay where they were and come back as they were; Enter still works in them, while a mouse click passes through them to the prompt). 1 = no dimming. | |
Back Help (BackHelp) | FText | NSLOCTEXT("RSEATBCommandUI", "BackHelp", "Back to the commands.") | Help | ||
Show Help (bShowHelp) | bool | True | Help | Show the help panel for the highlighted command (description, target, cost, element, charge). | |
Charge Format (ChargeFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "Charge", "Charges {Seconds}s before it acts") | Help | Charge fact (ATB). Arguments: {Seconds}. | |
Cost Format (CostFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "Cost", "Cost: {Cost}") | Help | Cost fact. Arguments: {Cost} (the menu's cost text, e.g. "8 MP"). | |
Element Format (ElementFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "Element", "Element: {Element}") | Help | Element fact. Arguments: {Element}. | |
Fallen Target Format (FallenTargetFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "FallenTarget", "{Target} (fallen)") | Help | A revive ability. Arguments: {Target} (the scope line above). | |
Flee Help (FleeHelp) | FText | NSLOCTEXT("RSEATBCommandUI", "FleeHelp", "Try to escape from the battle ({Chance}% chance). A failed try costs the turn.") | Help | Help of Flee. Arguments: {Chance}. (Top-level commands take their help from the command menu layout.) | |
Help Placement (HelpPlacement) | ERSECommandHelpPlacement | AboveMenu | Help | Where the help panel sits: right above the command menu, or as a bar at the top of the screen. | |
Help Top Offset (HelpTopOffset) | float | 52.000000 | Help | Top placement: the help bar sits this far below the top margin (under the enemy chips). | |
Help Width (HelpWidth) | float | 560.000000 | Help | Width of the help panel. | |
Item Count Format (ItemCountFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "ItemCount", "In the bag: {Count}") | Help | Item fact. Arguments: {Count}. | |
Scope All Format (ScopeAllFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "ScopeAll", "Target: every {Side}") | Help | ||
Scope Row Format (ScopeRowFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "ScopeRow", "Target: one {Side} row") | Help | ||
Scope Self Text (ScopeSelfText) | FText | NSLOCTEXT("RSEATBCommandUI", "ScopeSelf", "Target: self") | Help | Abilities used on the user only. | |
Scope Single Format (ScopeSingleFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "ScopeSingle", "Target: one {Side}") | Help | Target facts. Arguments: {Side} (enemy / ally / self / anyone, below). | |
Side Allies (SideAllies) | FText | NSLOCTEXT("RSEATBCommandUI", "SideAllies", "ally") | Help | ||
Side Anyone (SideAnyone) | FText | NSLOCTEXT("RSEATBCommandUI", "SideAnyone", "unit") | Help | ||
Side Enemies (SideEnemies) | FText | NSLOCTEXT("RSEATBCommandUI", "SideEnemies", "enemy") | Help | ||
Side Self (SideSelf) | FText | NSLOCTEXT("RSEATBCommandUI", "SideSelf", "self") | Help | ||
Max Visible Rows (MaxVisibleRows) | int32 | 7 | Long Lists | Most rows the command menu and the target list show at once; longer lists scroll with the cursor (arrows above / below show there is more) and with the mouse wheel over the list. 0 = no limit. | |
More Above Mark (MoreAboveMark) | FText | NSLOCTEXT("RSEATBCommandUI", "MoreAbove", "▲") | Long Lists | Marks above / below a scrolled list. | |
More Below Mark (MoreBelowMark) | FText | NSLOCTEXT("RSEATBCommandUI", "MoreBelow", "▼") | Long Lists | ||
Command Title Format (CommandTitleFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "CommandTitle", "{Name} — Command") | Menu | Title of the first command list. Arguments: {Name}. | |
List Glyph (ListGlyph) | FText | INVTEXT("›") | Menu | Marks the commands that open a list (Skills, Magic...). | |
List Title Format (ListTitleFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "ListTitle", "{Name} — {List}") | Menu | Title of a list (Skills, Magic, Items...). Arguments: {Name}, {List}. | |
Target Title Format (TargetTitleFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "TargetTitle", "{Name} — {Action}: choose a target") | Menu | Title while a target is chosen. Arguments: {Name}, {Action}. | |
Acting State Format (ActingStateFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "ActingState", "{Action}!") | Messages | Party row state while the unit's command is being shown (timed prompt, prelude). Arguments: {Action}. | |
Dropped Format (DroppedFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "Dropped", "{Name}: {Action} cancelled — {Reason}") | Messages | A queued command that could no longer run. Arguments: {Name}, {Action}, {Reason}. | |
Error Color (ErrorColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Messages | A command that cannot be given (not enough MP, invalid target...). | |
Info Color (InfoColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.079403,Chroma=0.651117,Hue=-15.902557,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Messages | Information (command queued, time mode switched). | |
Message Seconds (MessageSeconds) | float | 2.000000 | Messages | Seconds a message stays near the menu (refused command, queued command, cancelled command, time mode). | |
Queued Format (QueuedFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "Queued", "{Name}: {Action} — queued, acts after the current action") | Messages | Accepted while an action is being shown. Arguments: {Name}, {Action}. | |
Queued State Format (QueuedStateFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "QueuedState", "QUEUED {Action}") | Messages | Party row state of a unit with a queued command. Arguments: {Action}. | |
Hit Cursor Font Size (HitCursorFontSize) | int32 | 30 | Target | Glyph size over the other units the aimed ability hits (row / all). | |
Target Card Offset (TargetCardOffset) | FVector2D | (X=36.000000,Y=-20.000000) | Target | The target card (name, HP, expected result) sits this far from the cursor (pixels, right / down). | |
Target Card Width (TargetCardWidth) | float | 280.000000 | Target | ||
Target Cursor Bob (TargetCursorBob) | float | 6.000000 | Target | Cursor bob: height in pixels and cycles per second (0 = still). | |
Target Cursor Bob Rate (TargetCursorBobRate) | float | 1.500000 | Target | ||
Target Cursor Color (TargetCursorColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.066483,Chroma=1.192767,Hue=23.327459,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Target | ||
Target Cursor Font Size (TargetCursorFontSize) | int32 | 44 | Target | ||
Target Cursor Glyph (TargetCursorGlyph) | FText | NSLOCTEXT("RSEATBCommandUI", "TargetCursor", "▼") | Target | Glyph over the targeted unit. | |
All Allies Text (AllAlliesText) | FText | NSLOCTEXT("RSEATBCommandUI", "AllAllies", "All allies") | Target List | ||
All Enemies Text (AllEnemiesText) | FText | NSLOCTEXT("RSEATBCommandUI", "AllEnemies", "All enemies") | Target List | Group entries of row / all abilities. | |
Ally Side Text (AllySideText) | FText | NSLOCTEXT("RSEATBCommandUI", "AllySide", "Allies") | Target List | ||
Back Row Text (BackRowText) | FText | NSLOCTEXT("RSEATBCommandUI", "BackRow", "Back row") | Target List | ||
Hide Enemy Chips While Targeting (bHideEnemyChipsWhileTargeting) | bool | False | Target List | Hide the enemy chips at the top while a target is chosen. Off by default: the chips are the HP overview and stay clickable; they use the same names and the same highlight as the list, so they never disagree with it. | |
Letter Duplicate Names (bLetterDuplicateNames) | bool | True | Target List | RSE style names (D-066): enemies sharing a character get letters in their battle order ("Raider A", "Raider B"), in the list, the chips, the log and the banners. A unique one keeps its name. | |
Show Target List (bShowTargetList) | bool | True | Target List | While a target is chosen, a list next to the command menu names what the command can be given on: each enemy (or ally, for heals and buffs), or the groups a row / all ability hits ("Front row", "All enemies"). Up / down moves the cursor in the world too; a click on a row, a unit or its chip picks it. | |
Duplicate Name Format (DuplicateNameFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "DuplicateName", "{Name} {Letter}") | Target List | Arguments: {Name}, {Letter}. | |
Duplicate Name Letters (DuplicateNameLetters) | FString | ABCDEFGHIJKLMNOPQRSTUVWXYZ | Target List | The letters, in order (more units than letters: numbers). | |
Enemy Side Text (EnemySideText) | FText | NSLOCTEXT("RSEATBCommandUI", "EnemySide", "{Term.Enemies}") | Target List | ||
Everyone Text (EveryoneText) | FText | NSLOCTEXT("RSEATBCommandUI", "Everyone", "Everyone") | Target List | ||
Front Row Text (FrontRowText) | FText | NSLOCTEXT("RSEATBCommandUI", "FrontRow", "Front row") | Target List | ||
Row Side Format (RowSideFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "RowSide", "{Side}: {Row}") | Target List | A row when both sides can be targeted. Arguments: {Side} (Enemy / Ally side, below), {Row}. | |
Target List Title Format (TargetListTitleFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "TargetListTitle", "{Action}: on whom?") | Target List | Title of the list. Arguments: {Action}. | |
Target List Width (TargetListWidth) | float | 260.000000 | Target List | ||
Active Label (ActiveLabel) | FText | NSLOCTEXT("RSEATBCommandUI", "Active", "ACTIVE") | Time Mode | ||
Toggle Saves Option (bToggleSavesOption) | bool | True | Time Mode | Switching in battle also stores the choice as the player's option (Options -> Battle time). Off: this battle only. | |
Time Mode Format (TimeModeFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "TimeMode", "TIME: {Mode}") | Time Mode | Label of the time mode. Arguments: {Mode} (Wait / Active). | |
Time Running Text (TimeRunningText) | FText | NSLOCTEXT("RSEATBCommandUI", "TimeRunning", "time keeps running") | Time Mode | ||
Time Stopped Text (TimeStoppedText) | FText | NSLOCTEXT("RSEATBCommandUI", "TimeStopped", "time stops while you choose") | Time Mode | Second line while time stands still / runs. | |
Toggled Format (ToggledFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "Toggled", "Battle time: {Mode}") | Time Mode | Message after a switch. Arguments: {Mode}. | |
Toggle Hint (ToggleHint) | FText | NSLOCTEXT("RSEATBCommandUI", "ToggleHint", "Wait / Active") | Time Mode | Key hint of the Wait / Active switch (Input -> ATB Time Mode Action). | |
Wait Label (WaitLabel) | FText | NSLOCTEXT("RSEATBCommandUI", "Wait", "WAIT") | Time Mode | ||
Show Turn Banner (bShowTurnBanner) | bool | True | Turn | Show a banner ("Mira's turn") when the command menu opens for a party member. | |
Switch Input Guard Seconds (SwitchInputGuardSeconds) | float | 0.250000 | Turn | Confirm is ignored this long after the menu opens for another unit, so a press meant for the previous menu never picks a command for the new one. | |
Turn Banner Format (TurnBannerFormat) | FText | NSLOCTEXT("RSEATBCommandUI", "TurnBanner", "{Name}\'s turn") | Turn | Banner text. Arguments: {Name}. | |
Turn Banner Seconds (TurnBannerSeconds) | float | 1.200000 | Turn | How long the banner stays (it slides in and fades out within this time). | |
Turn Banner Slide (TurnBannerSlide) | float | 120.000000 | Turn | Slide distance of the banner as it comes in (pixels, from the left). |
RPG Saga Engine: Co-op Flow
Class URSECoopFlowSettings (module RSE), Project Settings, Project, RPG Saga Engine. How world actions behave when they arrive as commands from any player (D-138, networking.md §6): how much the authority trusts a player's position and timing, and who leads the group out of a zone.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Interact Reach Tolerance (InteractReachTolerance) | float | 150.000000 | Interaction | Extra distance the authority allows between a player's pawn and the object they interact with (or the exit they take), beyond the object's own range: the pawn the authority sees may lag behind the player's screen. | |
Leash Enabled (bLeashEnabled) | bool | True | Leash | Players may not roam farther than Leash Radius from the anchor (warning, then a pull back). Off = free roaming. | |
Leash Anchor (LeashAnchor) | ERSELeashAnchor | Host | Leash | What the guests are tied to: the host's explorer, or the center of every player's explorer. | |
Leash Check Interval (LeashCheckInterval) | float | 0.500000 | Leash | How often the authority measures the distances (no Tick). | |
Leash Grace Seconds (LeashGraceSeconds) | float | 4.000000 | Leash | Seconds past the radius between the warning and the pull back (coming back in time cancels it). | |
Leash Policy Class (LeashPolicyClass) | TSoftClassPtr<URSELeashPolicy> | None | Leash | Decides the anchor, the radius and when the leash applies. Empty = URSELeashPolicy (the settings above). | |
Leash Radius (LeashRadius) | float | 4000.000000 | Leash | How far a player may go from the anchor (a map's Co-op Map Settings actor may override it). | |
Leash Return Distance (LeashReturnDistance) | float | 400.000000 | Leash | The pull back puts the player this far from the anchor, on the side they came from. | |
Leash Pulled Text (LeashPulledText) | FText | NSLOCTEXT("RSECoopFlow", "LeashPulled", "You were brought back to the group.") | Leash|Texts | Notice after the pull back. | |
Leash Warning Detail (LeashWarningDetail) | FText | NSLOCTEXT("RSECoopFlow", "LeashDetail", "Go back, or you are brought back in {Seconds} s.") | Leash|Texts | ||
Leash Warning Title (LeashWarningTitle) | FText | NSLOCTEXT("RSECoopFlow", "LeashTitle", "Too far from the group") | Leash|Texts | Notice to the player past the radius ({Seconds} = seconds before the pull back). | |
Lockpick Min Seconds Per Pin (LockpickMinSecondsPerPin) | float | 0.150000 | Lockpick | Lockpick game played on a player's own machine: a reported success is believed only if the screen was open at least this long per pin (a plausibility check, not anti-cheat). 0 = any report is believed. | |
Notice Color (NoticeColor) | FLinearColor | (R=0.550000,G=0.800000,B=1.000000,A=1.000000) | Notices | ||
Notice Repeat Seconds (NoticeRepeatSeconds) | float | 2.000000 | Notices | The same notice is not repeated within this many seconds. | |
Refusal Notices (RefusalNotices) | ERSECoopNoticeMode | InSession | Notices | When a refused command's reason shows as a notice to the player who sent it. | |
Silent Refusal Types (SilentRefusalTypes) | TArray<TSoftObjectPtr<UScriptStruct> > | (1 entries) | Notices | Command types whose refusals never show (their own screens explain them, or they are routine). | |
Warning Notice Color (WarningNoticeColor) | FLinearColor | (R=1.000000,G=0.700000,B=0.300000,A=1.000000) | Notices | ||
Companion Took Over Text (CompanionTookOverText) | FText | NSLOCTEXT("RSECoopFlow", "TookOver", "The companion AI takes over {Member}.") | Notices|Texts | The companion AI drives {Member} again. | |
Host Saving Text (HostSavingText) | FText | NSLOCTEXT("RSECoopFlow", "HostSaving", "The host is saving the game.") | Notices|Texts | The host saves the game. | |
Player Joined Text (PlayerJoinedText) | FText | NSLOCTEXT("RSECoopFlow", "Joined", "{Player} joined the game.") | Notices|Texts | {Player} joined. | |
Player Left Text (PlayerLeftText) | FText | NSLOCTEXT("RSECoopFlow", "Left", "{Player} left the game.") | Notices|Texts | {Player} left. | |
Player Reconnected Text (PlayerReconnectedText) | FText | NSLOCTEXT("RSECoopFlow", "Reconnected", "{Player} is back.") | Notices|Texts | {Player} came back. | |
Refusal Notice Title (RefusalNoticeTitle) | FText | NSLOCTEXT("RSECoopFlow", "RefusalTitle", "Not now") | Notices|Texts | Header of a refused action. | |
Session Notice Title (SessionNoticeTitle) | FText | NSLOCTEXT("RSECoopFlow", "SessionTitle", "Co-op") | Notices|Texts | Header of session notices (joined, left, saving). | |
Scene Mirror End Wait Seconds (SceneMirrorEndWaitSeconds) | float | 10.000000 | Scenes | A guest whose scene reached its end before the host's waits this long for the host's end (then returns on its own). Keeps both machines leaving the scene together. | |
Scene Skip Policy Class (SceneSkipPolicyClass) | TSoftClassPtr<URSESceneSkipPolicy> | None | Scenes | Decides who may skip. Empty = URSESceneSkipPolicy (the rule above). | |
Scene Skip Rule (SceneSkipRule) | ERSESceneSkipRule | HostOnly | Scenes | Who may skip a story scene in co-op (single player: the player). | |
Scene Skip Vote Share (SceneSkipVoteShare) | float | 0.500000 | Scenes | Vote rule: the share of players that must ask to skip (0.5 = half; 1 = everyone). | |
Scene Skip Host Only Text (SceneSkipHostOnlyText) | FText | NSLOCTEXT("RSECoopFlow", "SkipHostOnly", "Only the host can skip this scene.") | Scenes|Texts | A guest pressed skip but only the host may ({Host}). | |
Scene Skip Vote Text (SceneSkipVoteText) | FText | NSLOCTEXT("RSECoopFlow", "SkipVote", "{Player} wants to skip the scene ({Votes} of {Needed}).") | Scenes|Texts | Vote progress ({Player}, {Votes}, {Needed}). | |
Group Travel Countdown Seconds (GroupTravelCountdownSeconds) | float | 3.000000 | Zone Travel | The countdown before the host pulls the whole group to the next zone (0 = at once). | |
Group Travel Policy Class (GroupTravelPolicyClass) | TSubclassOf<URSEGroupTravelPolicy> | /Script/CoreUObject.Class'/Script/RSE.RSEGroupTravelPolicy' | Zone Travel | Decides what a travel request does in a multiplayer session (D-124 §6.6: the host pulls everyone after a short countdown; a guest at an exit asks the host). Single player always travels at once. | |
Group Travel Asked Text (GroupTravelAskedText) | FText | NSLOCTEXT("RSECoopFlow", "RequestAsked", "The host decides whether the group goes to {Destination}.") | Zone Travel|Texts | Notice to the guest who asked: the host is asked ({Destination}). | |
Group Travel Cancel Hint (GroupTravelCancelHint) | FText | NSLOCTEXT("RSECoopFlow", "CountdownCancel", "Menu > Options > Stay here: cancel") | Zone Travel|Texts | The host's countdown screen: how to cancel. | |
Group Travel Cancelled Text (GroupTravelCancelledText) | FText | NSLOCTEXT("RSECoopFlow", "CountdownCancelled", "The host stays here for now.") | Zone Travel|Texts | Notice to everyone when the host cancels the countdown. | |
Group Travel Countdown Detail (GroupTravelCountdownDetail) | FText | NSLOCTEXT("RSECoopFlow", "CountdownDetail", "The group travels in {Seconds} s.") | Zone Travel|Texts | Countdown screen: the line under it ({Seconds} = seconds left). | |
Group Travel Countdown Title (GroupTravelCountdownTitle) | FText | NSLOCTEXT("RSECoopFlow", "CountdownTitle", "Leaving for {Destination}") | Zone Travel|Texts | Countdown screen: the title ({Destination} = the area's name or the map). | |
Group Travel Declined Text (GroupTravelDeclinedText) | FText | NSLOCTEXT("RSECoopFlow", "RequestDeclined", "The host stays here for now.") | Zone Travel|Texts | Notice to the guest who asked: the host stays ({Destination}). | |
Group Travel Request No (GroupTravelRequestNo) | FText | NSLOCTEXT("RSECoopFlow", "RequestNo", "Not now") | Zone Travel|Texts | ||
Group Travel Request Question (GroupTravelRequestQuestion) | FText | NSLOCTEXT("RSECoopFlow", "RequestQuestion", "{Player} wants to go to {Destination}. Go now, together?") | Zone Travel|Texts | The host's question when a guest walks into an exit ({Player}, {Destination}). | |
Group Travel Request Yes (GroupTravelRequestYes) | FText | NSLOCTEXT("RSECoopFlow", "RequestYes", "Go together") | Zone Travel|Texts |
RPG Saga Engine: Co-op Network
Class URSENetSettings (module RSENet), Project Settings, Project, RPG Saga Engine. The co-op network layer (D-140, docs/design/networking.md §3.4–3.8, docs/product/coop.md): how the state sections are replicated, the limits on players' commands, who the players are while a session runs and how often world actors update.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Action Claim Packets Per Second (ActionClaimPacketsPerSecond) | int32 | 60 | Action Battle | Anti-abuse: claim packets a guest may send per second (more are dropped and logged; the battle limits claims per unit too). | |
Action Claim Resend Interval (ActionClaimResendInterval) | float | 0.100000 | Action Battle | A guest repeats unanswered claims this often (seconds) even when it found no new hit. | |
Action Claim Resend Seconds (ActionClaimResendSeconds) | float | 1.000000 | Action Battle | A guest's hit claims travel unreliably and redundantly: every packet repeats the claims the host has not answered yet, for at most this long (the host answers reliably and ignores repeats). | |
Action Keyframe Seconds (ActionKeyframeSeconds) | float | 2.000000 | Action Battle | A full snapshot of the state goes reliably this often (the deltas between are based on what each guest acknowledged). | |
Action Max Claims Per Packet (ActionMaxClaimsPerPacket) | int32 | 24 | Action Battle | At most this many claims in one packet (the oldest unanswered first). | |
Action Mirror Budget Bytes Per Second (ActionMirrorBudgetBytesPerSecond) | int32 | 12000 | Action Battle | Bytes per second (as sent, per guest) the action battle's state may use. The unreliable deltas wait when the budget is spent (the next one carries the changes); the reliable full snapshots and the events always go. | |
Action Mirror Burst Seconds (ActionMirrorBurstSeconds) | float | 0.500000 | Action Battle | Seconds of the budget a quiet moment may save up (a burst of changes after it). | |
Action Mirror History (ActionMirrorHistory) | int32 | 32 | Action Battle | States the host (and each guest) keeps as baselines for deltas. | |
Battle Chunk Bytes (BattleChunkBytes) | int32 | 16384 | Battle | The start snapshot travels in chunks of at most this many bytes (as sent). | |
Battle Chunk Window (BattleChunkWindow) | int32 | 4 | Battle | Chunks a guest may have unacknowledged at once (the reliable channel never overflows). | |
Battle Max Events Per Packet (BattleMaxEventsPerPacket) | int32 | 96 | Battle | At most this many events per packet (a long AI turn goes in several packets, in order). | |
Battle Playback Report Interval (BattlePlaybackReportInterval) | float | 0.100000 | Battle | How often a guest tells the host how far its presentation got (seconds; only when it changed). | |
Battle Stream Interval (BattleStreamInterval) | float | 0.050000 | Battle | How often the host sends the battle's new events, notices and state to the guests (seconds). | |
Broadcast Result Types (BroadcastResultTypes) | TArray<FSoftObjectPath> | (0 entries) | Commands | Command types whose results every player receives (On Peer Command Result), not only the sender: for notices such as "Player 2 opened the gate". | |
Max Command Bytes (MaxCommandBytes) | int32 | 4096 | Commands | A command larger than this (bytes, encoded) is refused; a larger packet disconnects the sender. | |
Max Commands Per Second (MaxCommandsPerSecond) | int32 | 30 | Commands | Commands a guest may send per second (burst up to the same number); more are refused, not applied. | |
Max Queued Commands (MaxQueuedCommands) | int32 | 32 | Commands | Commands a guest keeps while it is not connected to the host yet (its player state has not arrived); more are refused. | |
Log Traffic (bLogTraffic) | bool | False | Diagnostics | Logs every section sent or received and every command packet (verbose). The CVar RSE.Net.LogTraffic does the same. | |
Enable Coop (bEnableCoop) | bool | True | General | Installs the co-op layer whenever this game runs a network session (listen server host or guest): the authority mode, the command transport, the replicated state and the players' identity. Off = the project replicates on its own. | |
Authority Policy Class (AuthorityPolicyClass) | TSubclassOf<URSEAuthorityPolicy> | /Script/CoreUObject.Class'/Script/RSENet.RSENetAuthorityPolicy' | Players | Decides authority and the multiplayer rules while a session runs. | |
Assign Member on Join (bAssignMemberOnJoin) | bool | True | Players | A joining player takes a party member from the companion AI: the lobby's choice when free, else the first member no player controls (D-124 §3.7). Off = the game assigns members itself (Assign Party Member command). | |
Player Provider Class (PlayerProviderClass) | TSubclassOf<URSEPlayerProvider> | /Script/CoreUObject.Class'/Script/RSENet.RSENetPlayerProvider' | Players | Lists the players while a session runs (slots from the replicated player states; stable across reconnects). | |
Player Pawns Always Relevant (bPlayerPawnsAlwaysRelevant) | bool | True | Relevancy | Players' explorers are sent to every player whatever the distance. | |
Class Relevancy (ClassRelevancy) | TArray<FRSENetClassRelevancy> | (3 entries) | Relevancy | Per class: cull distance, update rate and priority (roaming enemies, NPCs, companions). Applied on the host. | |
Player Pawn Priority (PlayerPawnPriority) | float | 3.000000 | Relevancy | ||
Player Pawn Update Frequency (PlayerPawnUpdateFrequency) | float | 60.000000 | Relevancy | Update rate and priority of the explorers players drive. | |
Compress Sections (bCompressSections) | bool | True | State Sections | Compress the sections before sending (they are save bytes: they compress well). | |
Change Detection Interval (ChangeDetectionInterval) | float | 0.500000 | State Sections | How often the host compares every section's bytes to catch writes that forgot to mark their section (seconds; 0 = never). Costs one serialization per section each time. | |
Compression Format (CompressionFormat) | FName | Oodle | State Sections | The compression format (Oodle, Zlib, LZ4...). | |
Compression Min Bytes (CompressionMinBytes) | int32 | 256 | State Sections | Sections smaller than this are sent uncompressed (bytes). | |
Max Section Bytes (MaxSectionBytes) | int32 | 262144 | State Sections | A section larger than this (bytes, as sent) is not replicated and is reported as an error: split the system's state or give it a delta of its own. | |
Min Section Resend Interval (MinSectionResendInterval) | float | 0.200000 | State Sections | A section that keeps changing is sent at most this often (seconds); the latest state always goes out. | |
Section Send Interval (SectionSendInterval) | float | 0.100000 | State Sections | How often the host looks for changed state sections to send (seconds). |
RPG Saga Engine: Co-op Rules
Class URSECoopRulesSettings (module RSECore), Project Settings, Project, RPG Saga Engine. The co-op rules that live in the game logic (D-142).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Companion Order Policy Class (CompanionOrderPolicyClass) | TSoftClassPtr<URSECompanionOrderPolicy> | None | Companions | Decides who may order which companion. Empty = URSECompanionOrderPolicy (the rule above). | |
Companion Orders (CompanionOrders) | ERSECompanionOrderRule | AnyPlayer | Companions | Who orders the companions the AI drives. | |
Default Encounter Conversion (DefaultEncounterConversion) | ERSECoopBattleConversion | FreeTactics | Encounters | What Tactics / ATB encounters become in a session with more than one player (an encounter's own rule wins). | |
Encounter Policy Class (EncounterPolicyClass) | TSoftClassPtr<URSECoopEncounterPolicy> | None | Encounters | Decides each encounter's battle in co-op. Empty = URSECoopEncounterPolicy (the rules above). | |
Guest Equipment (GuestEquipment) | ERSEGuestEquipmentRule | OwnCharacter | Equipment | Whose equipment and Pacts a guest may change (read by the default Items -> Permission Policy Class, URSEInventoryPermissionPolicy::CanChangeEquipment). |
RPG Saga Engine: Combat Formulas
Class URSECombatFormulaSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Combat formulas as data (D-054, docs/design/attributes.md): damage per kind, healing, hit and critical chances, the critical multiplier, defense and the element step.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Critical Chance (CriticalChance) | FRSEExpression | (Source="BaseCriticalChance") | Formulas | Critical chance in percent. | |
Critical Multiplier (CriticalMultiplier) | FRSEExpression | (Source="CriticalMultiplier") | Formulas | Damage multiplier of a critical hit. | |
Defense Factor (DefenseFactor) | FRSEExpression | (Source="DefenseConstant / (DefenseConstant + max(0, Defense))") | Formulas | Share of damage that passes the defense ("DefenseConstant / (DefenseConstant + max(0, Defense))"). Read by the damage formulas as DefenseFactor. | |
Final Damage (FinalDamage) | FRSEExpression | (Source="max(MinDamage, Damage) * Affinity") | Formulas | Last step (the element multiplier hook): Damage after the critical, Affinity from the target's element affinity. | |
Fixed Damage (FixedDamage) | FRSEExpression | (Source="Power") | Formulas | Fixed damage (items such as bombs): stats, defense, position and variance usually ignored. | |
Healing (Healing) | FRSEExpression | (Source="Power * Attacker.Magic * Variance") | Formulas | Healing of a Magic-scaled restore (spells), before rounding. Fixed and percent restores stay as authored. | |
Hit Chance (HitChance) | FRSEExpression | (Source="Attacker.Accuracy - Target.Evasion + HitBonus") | Formulas | Chance to hit in percent, before the battle's MinHitChance / MaxHitChance bounds. | |
Magical Damage (MagicalDamage) | FRSEExpression | (Source="Power * Offense * DefenseFactor * Position * Variance") | Formulas | ||
Physical Damage (PhysicalDamage) | FRSEExpression | (Source="Power * Offense * DefenseFactor * Position * Variance") | Formulas | Damage of a physical hit before criticals, the minimum and the element. | |
Magical Defense Stat (MagicalDefenseStat) | FGameplayTag | (TagName="Stat.Spirit") | Stats | ||
Magical Offense Stat (MagicalOffenseStat) | FGameplayTag | (TagName="Stat.Magic") | Stats | ||
Physical Defense Stat (PhysicalDefenseStat) | FGameplayTag | (TagName="Stat.Defense") | Stats | ||
Physical Offense Stat (PhysicalOffenseStat) | FGameplayTag | (TagName="Stat.Attack") | Stats | --- Which attributes feed Offense / Defense --- |
RPG Saga Engine: Combat Roles
Class URSECombatRoleSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Combat roles (D-093): the role list, where asset roles are stored, the suggestion thresholds and the Combat Area checks.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Built in Assignments (BuiltInAssignments) | TMap<FSoftObjectPath,FGameplayTag> | (0 entries) | Assignments | Roles of the framework's own classes and meshes (a save point, a chest), read after the registries. Keys are asset or class paths (/Script/RSE.RSEChest). | |
Registries (Registries) | TArray<TSoftObjectPtr<URSECombatRoleRegistry> > | (1 entries) | Assignments | Registries of asset roles, read in order (the first that has an asset wins). The configurator adds its own here. | |
Registry Folder (RegistryFolder) | FDirectoryPath | (set per project) | Assignments | Folder of the registry the configurator creates when the project has none (must be under /Game). | |
Registry Name (RegistryName) | FString | DA_CombatRoles | Assignments | Name of that registry asset. | |
Combat Area Min Free Ratio (CombatAreaMinFreeRatio) | float | 0.600000 | Combat Areas | A Combat Area warns when less than this share of its tiles can be walked. | |
Combat Area Min Free Tiles (CombatAreaMinFreeTiles) | int32 | 24 | Combat Areas | A Combat Area warns when fewer tiles than this can be walked. | |
Default Role (DefaultRole) | FGameplayTag | () | Roles | Role of objects nothing assigns a role to. Empty = none (the grid bake and placement tools keep their own rules). | |
Roles (Roles) | TArray<FRSECombatRoleDefinition> | (10 entries) | Roles | Every combat role. Add a role here (with a new CombatRole.* tag) to use it in the configurator. | |
Suggestions (Suggestions) | FRSECombatRoleSuggestionRules | (NeutralMaxHeight=30.000000,HalfCoverMinHeight=80.000000,FullCoverMinHeight=150.000000,OverheadMinBottom=180.000000,FullCoverMinWidth=35.000000,AvoidMaxSize=60.... | Suggestions | Thresholds of the automatic suggestion. |
RPG Saga Engine: Command Menu
Class URSECommandMenuSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Command menu of classic battles (D-065).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Back Label (BackLabel) | FText | NSLOCTEXT("RSECommandMenu", "Back", "Back") | Behavior | Label and help of the Back entry, and of Flee inside a list. | |
Remember Cursor (bRememberCursor) | bool | True | Behavior | Memory cursor: each unit's menus open where its cursor was last (per list). Off: always on the first entry. | |
Show Back Entry (bShowBackEntry) | bool | True | Behavior | Lists end with a Back entry (for the mouse; Cancel always goes back). | |
Empty Groups (EmptyGroups) | ERSEEmptyCommandGroups | Hide | Behavior | Top-level commands with nothing in them. | |
Flee Label (FleeLabel) | FText | NSLOCTEXT("RSECommandMenu", "Flee", "Flee") | Behavior | ||
Default Layout (DefaultLayout) | TSoftObjectPtr<URSECommandMenuLayout> | None | Layout | Layout for units whose class names none. Empty = Fallback Entries below. | |
Fallback Entries (FallbackEntries) | TArray<FRSECommandMenuEntry> | (5 entries) | Layout | The layout used without a Default Layout asset (Attack, Skills, Magic, Items, Actions). |
RPG Saga Engine: Commands
Class URSECommandSettings (module RSECore), Project Settings, Project, RPG Saga Engine. The command bus (D-133).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Log Refused Commands (bLogRefusedCommands) | bool | True | Debug | Logs every refused command (Rejected, No Handler, Invalid, Not Allowed) as a warning. RSE.Commands.Log 1 logs all. | |
Handler Classes (HandlerClasses) | TArray<TSoftClassPtr<URSECommandHandler> > | (0 entries) | Handlers | Handler classes created when the game starts (Blueprint or C++ children of RSE Command Handler): each one validates and applies its command type. The framework's own commands register themselves from code. | |
Permission Rules (PermissionRules) | TArray<FRSECommandPermissionRule> | (0 entries) | Permissions | Per-project permission of command types (D-139), over the handlers' own: who may save, play cards, abandon a quest, change the session's rules... The most specific rule wins (the type, then its base commands). | |
Max Nested Depth (MaxNestedDepth) | int32 | 8 | Safety | How deep commands may submit commands while they apply (a handler that sends another command runs it at once). Deeper submissions are refused as Not Allowed: a loop in content stops instead of freezing the game. |
RPG Saga Engine: Common UI
Class URSECommonUISettings (module RSECommonUI), Project Settings, Project, RPG Saga Engine. Project Settings -> RPG Saga Engine -> Common UI (D-176, docs/product/common-ui.md): how the Common UI host (off by default, D-181) puts RPG Saga screens on CommonUI layers and shows key prompt icons.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Apply Menu Input Config (bApplyMenuInputConfig) | bool | True | Input | Screens that read their own keys ask CommonUI for the Menu input config while active (game input blocked, cursor free). Off: our screens set the input mode themselves, as without the plugin. | |
Bind Action Bar (bBindActionBar) | bool | True | Input | D-176 C2: a screen on a layer binds its main actions (Confirm, Back, and the tab actions of screens with tabs) as CommonUI actions shown in the action bar: any Common Bound Action Bar of your layout lists them with the icons of the controller in use. The bindings do not consume the keys (the screen still reads them; an input counts once per frame). Off: no bindings. | |
Silence Viewport Client Check (bSilenceViewportClientCheck) | bool | True | Input | CommonUI logs an error when the game viewport client is not a CommonGameViewportClient. Our layers work without it (our screens read their keys; CommonUI's back action needs it), and the plugin enables CommonUI in every project (D-181), so the check is turned off at startup. Off: CommonUI's default (the error per player when the viewport client is not a CommonGameViewportClient). | |
Keyboard Icons (bKeyboardIcons) | bool | False | Key Prompts | Icons for keyboard / mouse keys too (when a controller data for Mouse And Keyboard has them). Off: text caps on keyboard. | |
Use Common Input Key Prompts (bUseCommonInputKeyPrompts) | bool | False | Key Prompts | Key prompts use the CommonInput controller data for icons (gamepad glyphs instead of text caps). Off by default (D-181). | |
Controller Data (ControllerData) | TArray<TSoftClassPtr<UCommonInputBaseControllerData> > | (0 entries) | Key Prompts | Controller data asked first (your platform icon sets: Blueprints derived from Common Input Base Controller Data). Then the platform's controller data from Project Settings -> Common Input, then the generic glyphs. | |
Generic Controller Data (GenericControllerData) | TSoftClassPtr<UCommonInputBaseControllerData> | /Script/RSECommonUI.RSEGenericControllerData | Key Prompts | The last resort: generic glyphs without platform logos (face buttons as a diamond, shoulders, triggers, sticks, D-pad). Empty: text caps. | |
Generic Glyph Resolution (GenericGlyphResolution) | int32 | 64 | Key Prompts | Size in pixels of the generated generic glyph textures. | |
Route Screens (bRouteScreens) | bool | False | Layers | Screens shown with Show Screen (options, save slots, shops, maps...) go onto the CommonUI layers. Off (the default, D-181): the viewport, as without Common UI. | |
Default Screen Layer (DefaultScreenLayer) | ERSECommonUILayer | Menu | Layers | The layer of a screen not listed in Screen Layers. | |
Layer Transition Duration (LayerTransitionDuration) | float | 0.000000 | Layers | Transition of our layer stacks when a screen is pushed or popped, seconds (0 = instant). | |
Layout Class (LayoutClass) | TSoftClassPtr<URSECommonUILayout> | None | Layers | The layout made for each local player when the project registers no stacks of its own (Register Layer Stack): a Widget Blueprint derived from RSE Common UI Layout may bind its own stacks (GameLayer, GameMenuLayer, MenuLayer, ModalLayer). Empty: ours. | |
Layout ZOrder (LayoutZOrder) | int32 | 50 | Layers | Viewport order of our layout (above the HUD; our viewport screens use 2 to 40). | |
Party Menu Host (PartyMenuHost) | ERSECommonUIHostMode | Off | Layers | Who hosts the party menu (see the values). Off by default (D-181): the framework's own hosts. | |
Party Menu Layer (PartyMenuLayer) | ERSECommonUILayer | GameMenu | Layers | The layer of the party menu. | |
Screen Host Class (ScreenHostClass) | TSoftClassPtr<URSECommonScreenHost> | /Script/RSECommonUI.RSECommonScreenHost | Layers | The activatable widget that wraps one RPG Saga screen (a Widget Blueprint derived from RSE Common Screen Host may add a frame or animations). | |
Screen Layers (ScreenLayers) | TMap<TSoftClassPtr<URSEScreenWidget> ,ERSECommonUILayer> | (1 entries) | Layers | Layers of particular screen classes (subclasses included; the most derived listed class wins). |
RPG Saga Engine: Content Budgets
Class URSEContentBudgetSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Content budgets (D-048): the RSE Configurator's validation (Validate All) warns about static / skeletal meshes, textures and, optionally, materials over the budget of their category.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Enabled (bEnabled) | bool | True | Budgets | Master switch of the budget checks in the configurator. | |
Categories (Categories) | TArray<FRSEContentBudgetCategory> | (7 entries) | Budgets | ||
Excluded Folders (ExcludedFolders) | TArray<FDirectoryPath> | (2 entries) | Budgets | Never checked (placeholders like /Game/Characters/Mannequins, imported samples...). | |
Included Folders (IncludedFolders) | TArray<FDirectoryPath> | (3 entries) | Budgets | Only assets under these folders are checked (e.g. /Game/MyRPG). | |
Check Material Statistics (bCheckMaterialStatistics) | bool | False | Materials | Also compiles base materials in the checked folders to count their instructions and texture samples. Slow on first use (shader compilation), so off by default. | |
Max Materials Per Validation (MaxMaterialsPerValidation) | int32 | 50 | Materials | Upper limit of materials compiled per validation. |
RPG Saga Engine: Content Import
Class URSEContentImportSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Content import/export (D-053): author DataAssets in spreadsheets (CSV) or JSON and import them without code.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
AIPack Examples (AIPackExamples) | int32 | 3 | AI Pack | Real rows from the project used as examples in each prompt (0 = none). | |
AIPack Folder (AIPackFolder) | FString | Saved/AIPack | AI Pack | Where Export AI Pack writes the prompt packs (one folder per type plus the extra packs). Relative to the project folder. | |
AIPack Max Listed Values (AIPackMaxListedValues) | int32 | 400 | AI Pack | Longest list of live values (tags, Ids) written into a prompt; longer lists are cut with "... and N more". | |
Forbidden Terms (ForbiddenTerms) | TArray<FString> | (8 entries) | AI Pack | Names and terms generated content must never use (trademarks of other games...). Listed in every self-check. | |
Report Folder (ReportFolder) | FString | Saved/ContentImport | AI Pack | Where every import writes its last report and, after errors, the fix prompt (LastReport.txt, FixPrompt.md). Relative to the project folder. | |
Default Source Folder (DefaultSourceFolder) | FString | Templates/Content/Example | Folders | Default source folder shown in the configurator. Relative to the project folder or absolute. | |
Example Folder (ExampleFolder) | FString | Templates/Content/Example | Folders | Full export of the project's content as a working example. Relative to the project folder. | |
Export Folder (ExportFolder) | FString | Saved/ContentExport | Folders | Default folder of Export in the configurator. Relative to the project folder. | |
Root Folder (RootFolder) | FDirectoryPath | (set per project) | Folders | Base folder of new assets for types without their own Folder (e.g. /Game/Data -> /Game/Data/Abilities). | |
Templates Folder (TemplatesFolder) | FString | Templates/Content | Folders | Empty template sheets (header, hints, one commented example row per type). Relative to the project folder. | |
Save After Apply (bSaveAfterApply) | bool | True | Import | Apply saves the created and changed assets (only those). Off = they stay dirty in the editor. | |
Validate After Apply (bValidateAfterApply) | bool | True | Import | Apply runs IsDataValid on the touched assets and reports the problems as warnings. | |
Localization Namespace Prefix (LocalizationNamespacePrefix) | FString | FFContent | Import | Localization namespace of imported texts = prefix + "." + type name; key = row Id + "." + field path. | |
Max Positional Fields (MaxPositionalFields) | int32 | 3 | Import | Small structs of plain values are written positionally ("Fire:Weak" instead of "(Element=Fire,Affinity=Weak)") when they have at most this many fields. 0 = always named. Both forms are always accepted on import. | |
New Tag Roots (NewTagRoots) | TArray<FString> | (20 entries) | Import | Tag roots under which imported content may name tags that do not exist yet (story flags, variables, class, status and speaker tags...): a dry run lists them as warnings, Apply adds them to New Tag Source first (D-068). Unknown tags under any other root stay errors (elements, stats, battle modes have meaning in code or settings). | |
New Tag Source (NewTagSource) | FString | FF_Content.ini | Import | Tag file (in Config/Tags) that receives the tags an import creates. | |
Types (Types) | TArray<FRSEContentTypeDef> | (48 entries) | Types | The content types (sheets). Order = order of export and of the report. |
RPG Saga Engine: Dialog
Class URSEDialogSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Dialog rules (Project Settings -> RPG Saga Engine -> Dialog).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Host May Control Any Dialog (bHostMayControlAnyDialog) | bool | True | Co-op | The host may also advance and answer any player's dialog (a speaker who left or is away). | |
Control Policy Class (ControlPolicyClass) | TSoftClassPtr<URSEDialogControlPolicy> | None | Co-op | Who may advance a dialog and pick its options in co-op (a Blueprint or C++ child of RSE Dialog Control Policy). Empty = the built-in rules below. Single player is never affected. | |
Story Choice Decider (StoryChoiceDecider) | ERSEDialogChoiceDecider | Host | Co-op | Story choices (choices of dialog assets whose Decider is Default): who picks. | |
System Choice Decider (SystemChoiceDecider) | ERSEDialogChoiceDecider | Speaker | Co-op | Puzzle and system prompts ("Use the key?", "Go to the harbor?", generated at run time): who picks. | |
Vote Timeout Seconds (VoteTimeoutSeconds) | float | 20.000000 | Co-op | A vote ends after this long with the votes cast so far (0 = waits for every player; the host can always end it). | |
Auto Advance After Voice Seconds (AutoAdvanceAfterVoiceSeconds) | float | 0.500000 | Flow | Auto-advance wait after a voiced line's audio ends. | |
Auto Advance Base Seconds (AutoAdvanceBaseSeconds) | float | 1.000000 | Flow | Auto-advance wait after a line is fully shown: base + per character. | |
Auto Advance Per Character Seconds (AutoAdvancePerCharacterSeconds) | float | 0.030000 | Flow | ||
Default Fast Forward (DefaultFastForward) | ERSEDialogFastForwardMode | ReadLinesOnly | Flow | ||
Max Call Depth (MaxCallDepth) | int32 | 8 | Flow | Deepest nesting of Jump nodes with bReturnAfter (sub-dialogs calling sub-dialogs). | |
Max Steps Without Input (MaxStepsWithoutInput) | int32 | 256 | Flow | Loop guard: nodes the runner may pass through without player input before it aborts the dialog. | |
Backlog Size (BacklogSize) | int32 | 100 | Subsystem | Lines kept in the backlog (history screen). | |
Max Concurrent Barks (MaxConcurrentBarks) | int32 | 4 | Subsystem | Barks running at once; the oldest is dropped when a new one starts. | |
Default Characters Per Second (DefaultCharactersPerSecond) | float | 40.000000 | Text | Typewriter speed when the player has not chosen one. | |
Default Unknown Name (DefaultUnknownName) | FText | NSLOCTEXT("RSEDialog", "UnknownSpeaker", "???") | Text | Name shown for a speaker whose name the player has not learned yet and who has no UnknownName. | |
Leader Variable Name (LeaderVariableName) | FName | Leader | Text | Text variable holding the party leader's name ({Leader}). None = not provided. | |
Text Speed Steps (TextSpeedSteps) | TArray<float> | (4 entries) | Text | Speeds offered in the player's options (characters per second; 0 = instant). | |
Text Variables (TextVariables) | TMap<FName,FGameplayTag> | (0 entries) | Text | Text variables backed by story variables: {Gold} in a line shows Narrative.Var.Gold. Key = variable name used in the text, value = Narrative.Var.* tag. |
RPG Saga Engine: Dialog UI
Class URSEDialogUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Look and controls of the dialog presentation (Project Settings -> RPG Saga Engine -> Dialog UI).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Additional Cue Handlers (AdditionalCueHandlers) | TArray<TSoftClassPtr<URSEDialogCueHandler> > | (0 entries) | Classes | Extra cue handlers (a handler for a cue class replaces the built-in one for that class and its subclasses). | |
Dialog Widget Class (DialogWidgetClass) | TSoftClassPtr<URSEScreenWidget> | /Script/RSE.RSEDialogWidget | Classes | Dialog screen: box, choices, backlog, barks (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEDialogViewModel (docs/product/custom-ui.md). | |
Widget ZOrder (WidgetZOrder) | int32 | 50 | Classes | Z-order of the dialog widget in the viewport (above the battle HUD). | |
Coop Host Decides Text (CoopHostDecidesText) | FText | NSLOCTEXT("RSEDialogUI", "CoopHostDecides", "The host decides.") | Co-op | Status line of a choice the host makes. | |
Coop Speaker Decides Text (CoopSpeakerDecidesText) | FText | NSLOCTEXT("RSEDialogUI", "CoopSpeakerDecides", "{Player} decides.") | Co-op | Status line of a choice the speaker makes ({Player}). | |
Coop Speaking Text (CoopSpeakingText) | FText | NSLOCTEXT("RSEDialogUI", "CoopSpeaking", "{Player} is speaking.") | Co-op | Status line when another player speaks ({Player}). | |
Coop Status Color (CoopStatusColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.084389,Chroma=0.564952,Hue=-10.903101,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Co-op | ||
Coop Vote Text (CoopVoteText) | FText | NSLOCTEXT("RSEDialogUI", "CoopVote", "Vote: {Votes} of {Voters}") | Co-op | Status line of a vote ({Votes}, {Voters}). | |
Coop Vote Timer Text (CoopVoteTimerText) | FText | NSLOCTEXT("RSEDialogUI", "CoopVoteTimer", "Vote: {Votes} of {Voters} - {Seconds} s") | Co-op | Status line of a vote with its timer ({Votes}, {Voters}, {Seconds}). | |
Auto on Color (AutoOnColor) | FRSEUIColor | (Token="Positive",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Backlog Background Color (BacklogBackgroundColor) | FRSEUIColor | (Token="Primary",Alpha=0.970000,Lightness=-0.434893,Chroma=0.431964,Hue=7.769177,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Bark Color (BarkColor) | FRSEUIColor | (Token="Text",Alpha=0.950000,Lightness=0.002652,Chroma=3.155339,Hue=165.510986,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Bark Text Color (BarkTextColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.190085,Chroma=0.150423,Hue=21.873074,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Box Border Color (BoxBorderColor) | FRSEUIColor | (Token="Primary",Alpha=0.900000,Lightness=0.209728,Chroma=0.457120,Hue=3.533296,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Box Color (BoxColor) | FRSEUIColor | (Token="Primary",Alpha=0.930000,Lightness=-0.412186,Chroma=0.525066,Hue=10.617354,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | Dialog box fill: a gradient from BoxTopColor (top) to BoxColor (bottom). | |
Box Top Color (BoxTopColor) | FRSEUIColor | (Token="Primary",Alpha=0.920000,Lightness=-0.242851,Chroma=0.783509,Hue=8.252986,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Choice Chosen Color (ChoiceChosenColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=0.009067,Chroma=0.979660,Hue=0.020606,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | Options marked "already asked". | |
Choice Disabled Color (ChoiceDisabledColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=-0.108759,Chroma=1.064321,Hue=5.894447,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Choice Selected Background (ChoiceSelectedBackground) | FRSEUIColor | (Token="Primary",Alpha=0.850000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Choice Selected Color (ChoiceSelectedColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Choice Text Color (ChoiceTextColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Emphasis Color (EmphasisColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Lightness=0.024543,Chroma=0.667459,Hue=-0.452705,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Help Text Color (HelpTextColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Hint Color (HintColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=-0.023320,Chroma=0.520770,Hue=-23.612774,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Inactive Portrait Tint (InactivePortraitTint) | FLinearColor | (R=0.450000,G=0.450000,B=0.500000,A=1.000000) | Colors | Multiplies the portrait of the speaker who is not talking (a darkening factor, not a style color: it stays a plain color). | |
Letterbox Color (LetterboxColor) | FRSEUIColor | (Token="Black",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Named Colors (NamedColors) | TMap<FName,FRSEUIColor> | (3 entries) | Colors | <color=Name> styles: the text names a style, the look lives here. | |
Name Plate Color (NamePlateColor) | FRSEUIColor | (Token="Primary",Alpha=0.970000,Lightness=-0.303408,Chroma=0.664660,Hue=7.087053,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Narrator Text Color (NarratorTextColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=-0.039856,Chroma=4.377486,Hue=-11.871398,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Placeholder Portrait Tint (PlaceholderPortraitTint) | FLinearColor | (R=0.350000,G=0.350000,B=0.350000,A=1.000000) | Colors | Portrait placeholder when a speaker has no texture: the speaker's name color (a data color) times this factor (a plain color). | |
Shake Color (ShakeColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.039194,Chroma=0.506467,Hue=-16.092417,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | <shake> / <wave> (drawn as a colored style for now; animated effects come later). | |
Shout Color (ShoutColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=0.069764,Chroma=0.625954,Hue=9.481684,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Text Color (TextColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=0.006938,Chroma=0.986032,Hue=0.001201,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Wave Color (WaveColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.084389,Chroma=0.564952,Hue=-10.903101,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Whisper Color (WhisperColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=0.044332,Chroma=1.182665,Hue=3.650277,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Camera Cues Outside Cinematic (bCameraCuesOutsideCinematic) | bool | False | Cues | Camera cues also work outside Cinematic dialogs (the recommended default is Cinematic only). | |
Camera Shots (CameraShots) | TMap<FGameplayTag,FRSEDialogCameraShot> | (0 entries) | Cues | Dialog.Shot.* -> framing. A camera cue with an unknown shot uses DefaultShot. | |
Default Shot (DefaultShot) | FRSEDialogCameraShot | (Distance=250.000000,TargetHeight=60.000000,CameraHeight=20.000000,YawOffset=25.000000,FieldOfView=50.000000,SpreadDistanceScale=1.200000) | Cues | ||
Emote Balloons (EmoteBalloons) | TMap<FGameplayTag,FText> | (0 entries) | Cues | Emote.* -> balloon glyph shown above the speaker ("!", "?", "..."). A speaker's emote set may override it. | |
Player Speaker Tags (PlayerSpeakerTags) | FGameplayTagContainer | () | Cues | Speakers played by the possessed pawn (the party leader's speaker tags), for cues and barks. | |
Screen Fx (ScreenFx) | TMap<FGameplayTag,FRSEDialogScreenFxStyle> | (0 entries) | Cues | Dialog.Fx.* -> what it does. | |
Advance Keys (AdvanceKeys) | TArray<FKey> | (4 entries) | Input | Completes the line, then continues. Also confirms a choice. | |
Auto Advance Keys (AutoAdvanceKeys) | TArray<FKey> | (2 entries) | Input | ||
Backlog Keys (BacklogKeys) | TArray<FKey> | (2 entries) | Input | ||
Click to Advance (bClickToAdvance) | bool | True | Input | A mouse click on the dialog box advances. | |
Cancel Keys (CancelKeys) | TArray<FKey> | (3 entries) | Input | Picks the choice's cancel option; closes the backlog. | |
Down Keys (DownKeys) | TArray<FKey> | (4 entries) | Input | ||
Fast Forward Keys (FastForwardKeys) | TArray<FKey> | (2 entries) | Input | Held: fast-forwards through lines already read (URSEDialogSettings::DefaultFastForward). | |
Skip Scene Keys (SkipSceneKeys) | TArray<FKey> | (2 entries) | Input | Skips a skippable scene (bSkippable) up to its next choice. | |
Up Keys (UpKeys) | TArray<FKey> | (4 entries) | Input | ||
Backlog Size (BacklogSize) | FVector2D | (X=900.000000,Y=560.000000) | Layout | ||
Balloon World Height (BalloonWorldHeight) | float | 150.000000 | Layout | ||
Bark Fallback Anchor (BarkFallbackAnchor) | FVector2D | (X=0.030000,Y=0.200000) | Layout | Barks whose speaker has no actor in the world: normalized screen point where they stack. | |
Bark Max Distance (BarkMaxDistance) | float | 2500.000000 | Layout | Barks farther than this from the camera are not shown. | |
Bark Max Width (BarkMaxWidth) | float | 320.000000 | Layout | ||
Bark World Height (BarkWorldHeight) | float | 130.000000 | Layout | World height above the speaker's origin where barks and emote balloons appear. | |
Box Border Thickness (BoxBorderThickness) | float | 2.000000 | Layout | ||
Box Bottom Margin (BoxBottomMargin) | float | 40.000000 | Layout | ||
Box Min Height (BoxMinHeight) | float | 130.000000 | Layout | ||
Box Padding (BoxPadding) | float | 18.000000 | Layout | ||
Box Width Fraction (BoxWidthFraction) | float | 0.700000 | Layout | Width of the dialog box as a fraction of the screen. | |
Portraits in Cinematic (bPortraitsInCinematic) | bool | False | Layout | Portraits in Cinematic dialogs (faces are on camera there). | |
Choice Width (ChoiceWidth) | float | 560.000000 | Layout | ||
Cinematic Box Min Height (CinematicBoxMinHeight) | float | 96.000000 | Layout | ||
Cinematic Box Width Fraction (CinematicBoxWidthFraction) | float | 0.600000 | Layout | Cinematic dialogs use a thinner box. | |
Inactive Portrait Scale (InactivePortraitScale) | float | 0.900000 | Layout | The portrait of the speaker who is not talking is scaled by this. | |
Letterbox Height Fraction (LetterboxHeightFraction) | float | 0.110000 | Layout | Letterbox bar height as a fraction of the screen height (Cinematic). | |
Portrait Size (PortraitSize) | FVector2D | (X=180.000000,Y=180.000000) | Layout | ||
Media Panel Full Screen Padding (MediaPanelFullScreenPadding) | FMargin | () | Layout|Media Panel | Full-screen layout: space kept free around the clip (the dialog box stays readable below). | |
Media Panel Margin (MediaPanelMargin) | FVector2D | (X=48.000000,Y=48.000000) | Layout|Media Panel | Side layout: the panel's distance from the top screen corner opposite the speaker. | |
Media Panel Size (MediaPanelSize) | FVector2D | (X=560.000000,Y=315.000000) | Layout|Media Panel | Size of a line's media panel in the Side layout (D-075; 16:9 clips fit 560 x 315). | |
Balloon Font Size (BalloonFontSize) | int32 | 30 | Text | ||
Bark Font Size (BarkFontSize) | int32 | 15 | Text | ||
Reserve Unrevealed Text (bReserveUnrevealedText) | bool | True | Text | Keep unrevealed characters laid out (invisible) so words never jump lines while typing. | |
Choice Font Size (ChoiceFontSize) | int32 | 18 | Text | ||
Dialog Font (DialogFont) | TSoftObjectPtr<UObject> | None | Text | Font asset (composite, with culture fallbacks). Empty = the UI theme's body font (UI Theme -> Fonts -> Body). | |
Emphasis Typeface (EmphasisTypeface) | FName | Italic | Text | Typeface used for <em> and the narrator. | |
Hint Font Size (HintFontSize) | int32 | 13 | Text | ||
Line Font Size (LineFontSize) | int32 | 20 | Text | ||
Name Font Size (NameFontSize) | int32 | 18 | Text | ||
Regular Typeface (RegularTypeface) | FName | Regular | Text | ||
Shout Size Scale (ShoutSizeScale) | float | 1.200000 | Text | <shout> text size relative to the line size. | |
Shout Typeface (ShoutTypeface) | FName | Bold | Text | ||
Title Card Font Size (TitleCardFontSize) | int32 | 34 | Text | ||
Whisper Size Scale (WhisperSizeScale) | float | 0.900000 | Text | <whisper> text size relative to the line size. | |
Advance Indicator (AdvanceIndicator) | FText | NSLOCTEXT("RSEDialogUI", "AdvanceIndicator", "▼") | Texts | Indicator while the line is complete and more follows / at the last line. | |
Auto Action Format (AutoActionFormat) | FText | NSLOCTEXT("RSEDialogUI", "AutoAction", "Auto {AutoState}") | Texts | Auto-advance prompt. Argument: {AutoState} (AutoOnText / AutoOffText). | |
Auto Off Text (AutoOffText) | FText | NSLOCTEXT("RSEDialogUI", "AutoOff", "off") | Texts | ||
Auto on Text (AutoOnText) | FText | NSLOCTEXT("RSEDialogUI", "AutoOn", "ON") | Texts | ||
Backlog Choice Format (BacklogChoiceFormat) | FText | NSLOCTEXT("RSEDialogUI", "BacklogChoiceFormat", "» {Option}") | Texts | A chosen option in the backlog. Argument: {Option}. | |
Backlog Title (BacklogTitle) | FText | NSLOCTEXT("RSEDialogUI", "BacklogTitle", "Log") | Texts | ||
Chosen Marker (ChosenMarker) | FText | NSLOCTEXT("RSEDialogUI", "ChosenMarker", "✓") | Texts | ||
Continue Action Text (ContinueActionText) | FText | NSLOCTEXT("RSEDialogUI", "ContinueAction", "Continue") | Texts | Key prompts of the help bar under the box (the keys are those of the active device). | |
Fast Action Text (FastActionText) | FText | NSLOCTEXT("RSEDialogUI", "FastAction", "Fast") | Texts | ||
Key Separator (KeySeparator) | FText | NSLOCTEXT("RSEDialogUI", "KeySeparator", " / ") | Texts | Separator between the keyboard and gamepad key names in the help bar. | |
Locked Marker (LockedMarker) | FText | NSLOCTEXT("RSEDialogUI", "LockedMarker", "✕ ") | Texts | ||
Log Action Text (LogActionText) | FText | NSLOCTEXT("RSEDialogUI", "LogAction", "Log") | Texts | ||
Media Panel Skip Hint (MediaPanelSkipHint) | FText | NSLOCTEXT("RSEDialogUI", "MediaSkipHint", "Confirm: skip") | Texts | Hint under a clip the line waits for. | |
Selected Marker (SelectedMarker) | FText | NSLOCTEXT("RSEDialogUI", "SelectedMarker", "▶ ") | Texts | ||
Skip Action Text (SkipActionText) | FText | NSLOCTEXT("RSEDialogUI", "SkipAction", "Skip scene") | Texts | Shown only when the scene can be skipped. | |
Unselected Marker (UnselectedMarker) | FText | NSLOCTEXT("RSEDialogUI", "UnselectedMarker", " ") | Texts | ||
Balloon Pop Seconds (BalloonPopSeconds) | float | 0.150000 | Timing | Pop-in scale time of an emote balloon. | |
Balloon Seconds (BalloonSeconds) | float | 1.400000 | Timing | ||
Bark Min Seconds (BarkMinSeconds) | float | 2.500000 | Timing | Barks stay at least this long. | |
Blip Every Characters (BlipEveryCharacters) | int32 | 3 | Timing | One blip every N revealed characters (unvoiced lines with a speaker blip sound). | |
Camera Return Blend Seconds (CameraReturnBlendSeconds) | float | 0.500000 | Timing | Blend back to the gameplay camera after a Cinematic dialog. | |
Close Seconds (CloseSeconds) | float | 0.150000 | Timing | ||
Fast Forward Line Seconds (FastForwardLineSeconds) | float | 0.080000 | Timing | Time each read line stays while fast-forwarding. | |
Indicator Pulse Seconds (IndicatorPulseSeconds) | float | 0.800000 | Timing | Pulse period of the advance indicator. | |
Letterbox Seconds (LetterboxSeconds) | float | 0.400000 | Timing | ||
Open Seconds (OpenSeconds) | float | 0.150000 | Timing | Box open / close animation. | |
Title Card Fade Seconds (TitleCardFadeSeconds) | float | 0.500000 | Timing | Title card of a Cinematic scene: fade in + hold + fade out. The first line waits for it. | |
Title Card Hold Seconds (TitleCardHoldSeconds) | float | 1.800000 | Timing |
RPG Saga Engine: Difficulty
Class URSEDifficultySettings (module RSECore), Project Settings, Project, RPG Saga Engine. Adaptive difficulty (CLAUDE.md 2.8, D-007).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Dead Zone (DeadZone) | float | 0.050000 | Adjustment | Average scores within 0.5 +- DeadZone change nothing (the player is on par). | |
Gain (Gain) | float | 0.200000 | Adjustment | Intelligence change per point of average score away from 0.5 ("on par"), before the step limits. | |
Max Step Down (MaxStepDown) | float | 0.030000 | Adjustment | Largest drop per battle. Smaller than the rise on purpose (D-007: slow decrease, anti-exploit). | |
Max Step Up (MaxStepUp) | float | 0.050000 | Adjustment | Largest rise per battle. | |
Min Battles to Adjust (MinBattlesToAdjust) | int32 | 3 | Adjustment | No adjustment until the window holds at least this many battles (one lucky battle changes nothing). | |
Window Size (WindowSize) | int32 | 5 | Adjustment | Battles remembered per mode; the adjustment follows their weighted average score. | |
Record Escapes (bRecordEscapes) | bool | False | Defeat | Whether escaping an ATB battle is recorded. Off: escapes are ignored (the player may just skip a fight). | |
Defeat Score (DefeatScore) | float | 0.000000 | Defeat | Score of a defeat. | |
Escape Score (EscapeScore) | float | 0.350000 | Defeat | Score of an escape when recorded. | |
Retry Weight Falloff (RetryWeightFalloff) | float | 0.500000 | Defeat | Weight of a defeat in the average is RetryWeightFalloff ^ retries: repeated quick losses count less, so losing on purpose cannot drag the AI down (D-007 anti-exploit). | |
Enabled (bEnabled) | bool | True | General | Off: intelligence never changes and each encounter uses its own Intelligence value. | |
Max Intelligence (MaxIntelligence) | float | 1.000000 | Limits | ||
Min Intelligence (MinIntelligence) | float | 0.150000 | Limits | Global bounds of the adaptive value. Encounters narrow them further (MinIntelligence / MaxIntelligence). | |
ATB (ATB) | FRSEDifficultyModeTuning | (StartIntelligence=0.500000,TargetTurnsPerEnemy=4.000000,WorstTurnsPerEnemy=10.000000) | Modes | ||
Tactics (Tactics) | FRSEDifficultyModeTuning | (StartIntelligence=0.500000,TargetTurnsPerEnemy=4.000000,WorstTurnsPerEnemy=10.000000) | Modes | ||
Damage Weight (DamageWeight) | float | 1.000000 | Score | Weight of damage taken in a victory's score. | |
Fallen Weight (FallenWeight) | float | 1.000000 | Score | Weight of fallen player units in a victory's score. | |
Retry Penalty (RetryPenalty) | float | 0.100000 | Score | Score lost per retry before a victory (a win after several defeats was hard). | |
Target Damage Taken Share (TargetDamageTakenShare) | float | 0.350000 | Score | Damage taken, as a share of the party's total max HP, that counts as "on par" (score 0.5). | |
Target Fallen Share (TargetFallenShare) | float | 0.100000 | Score | Share of player units that fell (at least once) that counts as "on par". | |
Tempo Weight (TempoWeight) | float | 1.000000 | Score | Weight of tempo (player turns per opposing unit) in a victory's score. | |
Worst Damage Taken Share (WorstDamageTakenShare) | float | 1.000000 | Score | Damage taken share that counts as a full struggle (score 0). Must exceed the target. | |
Worst Fallen Share (WorstFallenShare) | float | 0.750000 | Score | Share of fallen player units that counts as a full struggle. Must exceed the target. |
RPG Saga Engine: Economy
Class URSEEconomySettings (module RSECore), Project Settings, Project, RPG Saga Engine. Economy rules (D-042, docs/design/economy.md): the currency, selling, inns and the money cap.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Battle Money Cap (BattleMoneyCap) | FRuntimeFloatCurve | (EditorCurveData=(Keys=((Time=1.000000,Value=600.000000),(Time=10.000000,Value=1000.000000),(Time=24.000000,Value=2500.000000),(Time=38.000000,Value=5000.000000... | Battle Money | Most money one battle gives (Y) for the level of its strongest defeated enemy (X). Linear between the keys, flat beyond the ends. The defaults sit above the starter campaign's boss rewards of each zone. | |
Cap Battle Money (bCapBattleMoney) | bool | True | Battle Money | One battle never gives more money than Battle Money Cap allows for its strongest defeated enemy's level. Loot tables are shared between zones: a late boss's table on an early enemy would otherwise pay a fortune. | |
Currency Name (CurrencyName) | FText | NSLOCTEXT("RSEEconomy", "CurrencyName", "Crowns") | Currency | Name of the one currency, in menus ("Crowns"). | |
Currency Symbol (CurrencySymbol) | FText | NSLOCTEXT("RSEEconomy", "CurrencySymbol", "cr") | Currency | Short symbol shown after amounts ("cr"). | |
Max Money (MaxMoney) | int32 | 9999999 | Currency | The party never holds more than this; extra money is lost. | |
Money Format (MoneyFormat) | FText | NSLOCTEXT("RSEEconomy", "MoneyFormat", "{Amount} {Symbol}") | Currency | How an amount is written. {Amount} = the number, {Symbol} = CurrencySymbol, {Name} = CurrencyName. | |
Starting Money (StartingMoney) | int32 | 200 | Currency | Money of a new game (and of saves made before the economy existed). | |
Inn Revives KO (bInnRevivesKO) | bool | True | Inns | Resting also revives fallen members. Off = KO members stay KO (a revive item or save point is needed). | |
Default Inn Cost (DefaultInnCost) | int32 | 50 | Inns | Price of a night when the Rest At Inn effect does not set one. | |
Buy Price Multiplier (BuyPriceMultiplier) | float | 1.000000 | Shops | Buy prices of every shop are multiplied by this (chapter inflation, a rules profile's "hard" economy). | |
Sell Ratio (SellRatio) | float | 0.500000 | Shops | Sell price = buy price x this, rounded down, unless the item sets its own sell price. |
RPG Saga Engine: Economy UI
Class URSEEconomyUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Presentation of the economy (D-042): the shop screen, chests, the inn fade and the money shown in menus.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Chest Empty Text (ChestEmptyText) | FText | NSLOCTEXT("RSEEconomyUI", "ChestEmpty", "It\'s empty.") | Chest | Opened again, or opened with nothing inside. | |
Chest Full Text (ChestFullText) | FText | NSLOCTEXT("RSEEconomyUI", "ChestFull", "You cannot carry any more.") | Chest | ||
Chest Item Format (ChestItemFormat) | FText | NSLOCTEXT("RSEEconomyUI", "ChestItemFormat", "Found {Item} ×{Count}.") | Chest | Pickup line per item: {Item}, {Count}. | |
Chest Key Used Format (ChestKeyUsedFormat) | FText | NSLOCTEXT("RSEEconomyUI", "ChestKeyUsedFormat", "Used the {Item}.") | Chest | The key was used up: {Item}. | |
Chest Locked Text (ChestLockedText) | FText | NSLOCTEXT("RSEEconomyUI", "ChestLocked", "It\'s locked.") | Chest | Locked and the chest sets no lines of its own. | |
Chest Money Format (ChestMoneyFormat) | FText | NSLOCTEXT("RSEEconomyUI", "ChestMoneyFormat", "Found {Money}.") | Chest | Pickup line for money: {Money}. | |
Chest Open Seconds (ChestOpenSeconds) | float | 0.600000 | Chest | Seconds the lid takes to open. | |
Chest Placeholder Mesh (ChestPlaceholderMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Chest | Placeholder chest body when the chest has no mesh (engine cube by default). | |
Chest Prompt Text (ChestPromptText) | FText | NSLOCTEXT("RSEEconomyUI", "ChestPrompt", "Open") | Chest | Prompt of a chest without its own PromptText. | |
Inn Fade Color (InnFadeColor) | FLinearColor | (R=0.000000,G=0.000000,B=0.000000,A=1.000000) | Inn | ||
Inn Fade in Seconds (InnFadeInSeconds) | float | 0.800000 | Inn | ||
Inn Fade Out Seconds (InnFadeOutSeconds) | float | 0.800000 | Inn | --- Inn --- | |
Inn Hold Seconds (InnHoldSeconds) | float | 1.200000 | Inn | Black screen between the fades. | |
Party Menu Money Format (PartyMenuMoneyFormat) | FText | NSLOCTEXT("RSEEconomyUI", "PartyMenuMoneyFormat", "{Money}") | Menus | Party menu header: {Money} (formatted with the currency). | |
Results Money Format (ResultsMoneyFormat) | FText | NSLOCTEXT("RSEEconomyUI", "ResultsMoneyFormat", "{Term.Money}: +{Money}") | Menus | Results screen line: {Money}. | |
Quantity Big Step (QuantityBigStep) | int32 | 10 | Shop | Quantity step of Left / Right in the quantity selector (Up / Down step by 1). | |
Shop Backdrop Color (ShopBackdropColor) | FRSEUIColor | (Token="Primary",Alpha=0.700000,Lightness=-0.526921,Chroma=0.679858,Hue=0.163523,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Shop | ||
Shop Height (ShopHeight) | float | 600.000000 | Shop | ||
Shop List Width (ShopListWidth) | float | 460.000000 | Shop | Width of the item list; the details take the rest. | |
Shop Widget Class (ShopWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Shop | Shop screen (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEShopViewModel (docs/product/custom-ui.md). | |
Shop Width (ShopWidth) | float | 1000.000000 | Shop | ||
Shop ZOrder (ShopZOrder) | int32 | 55 | Shop | Z-order in the viewport (above the HUDs and the party menu). | |
All Category Text (AllCategoryText) | FText | NSLOCTEXT("RSEEconomyUI", "AllCategory", "All") | Shop|Text | ||
Bought Format (BoughtFormat) | FText | NSLOCTEXT("RSEEconomyUI", "BoughtFormat", "Bought {Item} ×{Count} for {Money}.") | Shop|Text | After a purchase: {Item}, {Count}, {Money} (the total). | |
Buy Action Text (BuyActionText) | FText | NSLOCTEXT("RSEEconomyUI", "BuyAction", "Buy") | Shop|Text | ||
Buy Tab Text (BuyTabText) | FText | NSLOCTEXT("RSEEconomyUI", "BuyTab", "Buy") | Shop|Text | ||
Cannot Equip Text (CannotEquipText) | FText | NSLOCTEXT("RSEEconomyUI", "CannotEquip", "Cannot equip") | Shop|Text | Comparison line of a member that cannot wear the item. | |
Category Action Text (CategoryActionText) | FText | NSLOCTEXT("RSEEconomyUI", "CategoryAction", "Category") | Shop|Text | ||
Compare Header (CompareHeader) | FText | NSLOCTEXT("RSEEconomyUI", "CompareHeader", "{Term.Party}") | Shop|Text | Equipment comparison heading. | |
Consumables Category Text (ConsumablesCategoryText) | FText | NSLOCTEXT("RSEEconomyUI", "ConsumablesCategory", "{Term.Items}") | Shop|Text | ||
Documents Category Text (DocumentsCategoryText) | FText | NSLOCTEXT("RSEEconomyUI", "DocumentsCategory", "Documents") | Shop|Text | ||
Equipment Category Text (EquipmentCategoryText) | FText | NSLOCTEXT("RSEEconomyUI", "EquipmentCategory", "{Term.Equipment}") | Shop|Text | ||
Inventory Full Text (InventoryFullText) | FText | NSLOCTEXT("RSEEconomyUI", "InventoryFull", "You cannot carry any more of that.") | Shop|Text | ||
Key Items Category Text (KeyItemsCategoryText) | FText | NSLOCTEXT("RSEEconomyUI", "KeyItemsCategory", "{Term.KeyItems}") | Shop|Text | ||
Leave Action Text (LeaveActionText) | FText | NSLOCTEXT("RSEEconomyUI", "LeaveAction", "Leave") | Shop|Text | ||
No Change Text (NoChangeText) | FText | NSLOCTEXT("RSEEconomyUI", "NoChange", "No change") | Shop|Text | Comparison line when nothing changes. | |
Not Enough Money Text (NotEnoughMoneyText) | FText | NSLOCTEXT("RSEEconomyUI", "NotEnoughMoney", "Not enough money.") | Shop|Text | ||
Nothing for Sale Text (NothingForSaleText) | FText | NSLOCTEXT("RSEEconomyUI", "NothingForSale", "Nothing for sale right now.") | Shop|Text | ||
Nothing to Sell Text (NothingToSellText) | FText | NSLOCTEXT("RSEEconomyUI", "NothingToSell", "Nothing to sell.") | Shop|Text | ||
Owned Format (OwnedFormat) | FText | NSLOCTEXT("RSEEconomyUI", "OwnedFormat", "Owned: {Count}") | Shop|Text | Details: how many the party holds. {Count}. | |
Quantity Action Text (QuantityActionText) | FText | NSLOCTEXT("RSEEconomyUI", "QuantityAction", "Quantity") | Shop|Text | ||
Quantity Format (QuantityFormat) | FText | NSLOCTEXT("RSEEconomyUI", "QuantityFormat", "Quantity: ◀ {Count} ▶") | Shop|Text | Quantity selector: {Count}. | |
Sell Action Text (SellActionText) | FText | NSLOCTEXT("RSEEconomyUI", "SellAction", "Sell") | Shop|Text | ||
Sell Tab Text (SellTabText) | FText | NSLOCTEXT("RSEEconomyUI", "SellTab", "Sell") | Shop|Text | ||
Sold Format (SoldFormat) | FText | NSLOCTEXT("RSEEconomyUI", "SoldFormat", "Sold {Item} ×{Count} for {Money}.") | Shop|Text | After a sale: {Item}, {Count}, {Money}. | |
Sold Out Text (SoldOutText) | FText | NSLOCTEXT("RSEEconomyUI", "SoldOut", "Sold out") | Shop|Text | ||
Stock Format (StockFormat) | FText | NSLOCTEXT("RSEEconomyUI", "StockFormat", "In stock: {Count}") | Shop|Text | Details: stock left of a limited entry. {Count}. | |
Switch Tab Action Text (SwitchTabActionText) | FText | NSLOCTEXT("RSEEconomyUI", "SwitchTabAction", "Buy / Sell") | Shop|Text | ||
Total Format (TotalFormat) | FText | NSLOCTEXT("RSEEconomyUI", "TotalFormat", "Total: {Money}") | Shop|Text | Quantity selector: {Money} = the total. |
RPG Saga Engine: Encounters
Class URSEEncounterSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Random encounters v2 (D-063, docs/design/random-encounters.md): generated groups, encounter rate effects, the player's battle frequency option, contact initiative and the grace periods of visible enemies.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Allow Back Attack (bAllowBackAttack) | bool | True | Contact | A chasing enemy that touches the party from behind starts a Back Attack (the enemies' gauges start filled). | |
Allow Preemptive (bAllowPreemptive) | bool | True | Contact | Touching an unaware enemy from behind starts a Preemptive battle (the party's ATB gauges start filled). | |
Behind Half Angle (BehindHalfAngle) | float | 60.000000 | Contact | Half angle of the "behind" cone of a pawn (0 = exactly behind, 90 = the whole back half). | |
Flee Grace Seconds (FleeGraceSeconds) | float | 6.000000 | Contact | After the party flees a visible group, the group ignores the party for this long (no immediate re-contact). | |
Initiative Gauge Fraction (InitiativeGaugeFraction) | float | 1.000000 | Contact | ATB gauge (share of full) of the side that has the initiative; 1 = ready at once. | |
Post Battle Grace Seconds (PostBattleGraceSeconds) | float | 2.000000 | Contact | After any battle, no visible enemy may start a battle for this long. | |
Surprised Gauge Fraction (SurprisedGaugeFraction) | float | 0.000000 | Contact | ATB gauge (share of full) of the surprised side. | |
Frequency Affects Visible Enemies (bFrequencyAffectsVisibleEnemies) | bool | True | Frequency | The frequency option also changes how many visible enemy groups spawners place. | |
Default Frequency Index (DefaultFrequencyIndex) | int32 | 1 | Frequency | The level a new player starts with (index into Frequency Levels). | |
Frequency Levels (FrequencyLevels) | TArray<FRSEEncounterFrequencyLevel> | (3 entries) | Frequency | The choices of the "Battle frequency" option, in menu order. | |
Default Enemy Team (DefaultEnemyTeam) | FGameplayTag | (TagName="Team.Enemy") | Generated Groups | Enemy side of generated groups whose pool leaves it empty (global). | |
Default Player Team (DefaultPlayerTeam) | FGameplayTag | (TagName="Team.Player") | Generated Groups | Player side of generated groups whose pool leaves it empty (global). | |
Elite Chance Multiplier (EliteChanceMultiplier) | float | 1.000000 | Generated Groups | Multiplies every pool's elite chance (0 = no elite groups). | |
Max Group Size (MaxGroupSize) | int32 | 6 | Generated Groups | Most enemies a generated group may have, whatever its pool says (the ATB stage has a limited number of slots). | |
Multiply Different Sources (bMultiplyDifferentSources) | bool | False | Rate Effects | Effects of different sources multiply each other. Off: a new effect replaces every active one (classic Repel / Lure). | |
Rate Scales Enemy Detection (bRateScalesEnemyDetection) | bool | True | Rate Effects | Visible enemies see and hear less while the rate is below 1 (detection radius x rate; 0 = they never notice the party). | |
Max Active Effects (MaxActiveEffects) | int32 | 4 | Rate Effects | Most rate effects active at once (the oldest ones end first). | |
Max Rate Multiplier (MaxRateMultiplier) | float | 5.000000 | Rate Effects | The total multiplier (effects x traits x player frequency) never goes above this. | |
Same Source Stacking (SameSourceStacking) | ERSEEncounterRateStacking | Refresh | Rate Effects | What a rate effect does to an active one of the same source (same item or ability). | |
Trait Rate Multipliers (TraitRateMultipliers) | TMap<FGameplayTag,float> | (2 entries) | Rate Effects | Passive traits (Trait.* tags granted by the equipment of the party's battle formation, their statuses or Pacts) that multiply the encounter rate, e.g. Trait.Encounter.Half -> 0.5. Each trait counts once, however many members have it. | |
World Step Length (WorldStepLength) | float | 100.000000 | Rate Effects | Distance walked that counts as one step for rate effect durations and step-based respawns, everywhere in the world (global). |
RPG Saga Engine: Encounters (World)
Class URSEEncounterPresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. Visible enemies in the world (D-063, docs/design/random-encounters.md): update rates, sleeping far from the player, the placeholder body, the alert above the leader and the debug colors.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Alert Color (AlertColor) | FLinearColor | (R=1.000000,G=0.850000,B=0.100000,A=1.000000) | Alert | ||
Alert Height (AlertHeight) | float | 40.000000 | Alert | Height of the alert above the top of the capsule. | |
Alert Text Size (AlertTextSize) | float | 60.000000 | Alert | World size of the alert text. | |
Default Alert Text (DefaultAlertText) | FText | NSLOCTEXT("RSEEncounterPresentation", "Alert", "!") | Alert | Alert text when a behavior sets none. | |
Capsule Half Height (CapsuleHalfHeight) | float | 88.000000 | Body | ||
Capsule Radius (CapsuleRadius) | float | 34.000000 | Body | --- Body --- | |
Follower Catch Up (FollowerCatchUp) | float | 1.100000 | Body | Followers walk this much faster than their leader, to keep up after turns. | |
Follower Spacing (FollowerSpacing) | float | 140.000000 | Body | Followers keep this distance behind the leader. | |
Max Followers (MaxFollowers) | int32 | 2 | Body | Most followers shown behind a leader (the rest of the group is only in the battle). | |
Placeholder Mesh (PlaceholderMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cylinder.Cylinder | Body | Shown while the enemy has no animated appearance (its character's Appearance, D-046). | |
Placeholder Scale (PlaceholderScale) | FVector | (X=0.600000,Y=0.600000,Z=1.700000) | Body | ||
Turn Rate (TurnRate) | float | 540.000000 | Body | How fast enemies turn toward where they walk. | |
Debug Chase Color (DebugChaseColor) | FColor | (B=40,G=60,R=255,A=255) | Debug | ||
Debug Hearing Color (DebugHearingColor) | FColor | (B=255,G=180,R=80,A=255) | Debug | ||
Debug Segments (DebugSegments) | int32 | 24 | Debug | Segments of the debug circles and cones. | |
Debug Sight Color (DebugSightColor) | FColor | (B=40,G=200,R=255,A=255) | Debug | --- Debug (RSE.Encounter.Debug) --- | |
Acceptance Radius (AcceptanceRadius) | float | 50.000000 | Updates | Distance at which a move counts as arrived. | |
Activation Check Interval (ActivationCheckInterval) | float | 1.000000 | Updates | How often spawners check the explorer's distance to wake or put their groups to sleep. | |
Activation Radius (ActivationRadius) | float | 5000.000000 | Updates | Groups farther than this from the explorer sleep: no thinking, no movement (Steam Deck budget). 0 = never sleep. | |
Use Navigation (bUseNavigation) | bool | True | Updates | Moves use the navigation mesh when the map has one; without it (or off) enemies walk straight to their target. | |
Step Sample Interval (StepSampleInterval) | float | 0.250000 | Updates | How often the world step counter (rate effect durations, step respawns) samples the explorer. | |
Think Interval (ThinkInterval) | float | 0.200000 | Updates | How often a visible enemy decides what to do (detection, chase, give up). No per-frame tick. |
RPG Saga Engine: Exploration
Class URSEExplorationSettings (module RSE), Project Settings, Project, RPG Saga Engine. Exploration (D-026, D-113): input assets, movement, the exploration camera (tactical or third person) and the hand-off to battles.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
ATBEnd Check Interval (ATBEndCheckInterval) | float | 0.100000 | Battle Transition | How often a running ATB battle is checked for the player leaving it. | |
Battle Start During Story (BattleStartDuringStory) | ERSEBattleStartDuringStory | Wait | Battle Transition | D-120: what a battle start does while a story scene or a blocking dialog is on screen. Every start path asks the battle start gate (encounter triggers, roaming contact, Free Tactics detection, the Start Battle effect, dev commands). | |
Hide Explorer During Tactics (bHideExplorerDuringTactics) | bool | True | Battle Transition | Hide the explorer (and its collision) during Tactics battles, so it does not stand on the grid. | |
Return on Interact (bReturnOnInteract) | bool | True | Battle Transition | Interact skips the wait after a Tactics battle. | |
Camera Blend Time (CameraBlendTime) | float | 0.600000 | Battle Transition | Blend between the exploration camera and the tactical camera, both ways. | |
Tactics Camera Pawn Class (TacticsCameraPawnClass) | TSoftClassPtr<ARSETacticsCameraPawn> | /Script/RSE.RSETacticsCameraPawn | Battle Transition | Camera pawn possessed during Tactics battles started from exploration. | |
Tactics Return Delay (TacticsReturnDelay) | float | 2.500000 | Battle Transition | Seconds after a Tactics battle's result is shown before returning to exploration. 0 = wait for Interact. | |
Clear Battle Area (bClearBattleArea) | bool | True | Battle Transition|Clear Battle Area | Battles on the live map clear their area while they run: the explorer, the visible group that started the battle and the chosen actors on the stage or in the battle camera's view are hidden (no collision, no movement) and come back afterwards. A defeated group despawns as usual (D-063). | |
Hide Explorer During Classic (bHideExplorerDuringClassic) | bool | True | Battle Transition|Clear Battle Area | Hide the explorer during classic (ATB / turn-based) battles: the party stands on the stage instead. | |
Hide NPCs (bHideNPCs) | bool | True | Battle Transition|Clear Battle Area | Hide NPCs in the battle area or the battle camera's view. | |
Hide Roaming Enemies (bHideRoamingEnemies) | bool | True | Battle Transition|Clear Battle Area | Hide other visible enemies in the battle area or the battle camera's view. | |
Hide Source Group (bHideSourceGroup) | bool | True | Battle Transition|Clear Battle Area | Hide the whole visible group whose contact started the battle, wherever it stands. | |
Clear Delay (ClearDelay) | float | 0.150000 | Battle Transition|Clear Battle Area | Seconds after the battle starts before the area is cleared: the camera blend leaves the explorer first. 0 = at once. | |
Clear Radius (ClearRadius) | float | 800.000000 | Battle Transition|Clear Battle Area | Added to the room the battle's formation needs: candidates closer than that to the battle's center are hidden. | |
Clear View Distance (ClearViewDistance) | float | 6000.000000 | Battle Transition|Clear Battle Area | Candidates the battle camera sees closer than this are hidden too (0 = only the area). | |
Clear View Margin (ClearViewMargin) | float | 8.000000 | Battle Transition|Clear Battle Area | The camera's view is widened by this on every side (an actor at the frame's edge still shows). | |
Extra Classes to Hide (ExtraClassesToHide) | TArray<TSoftClassPtr<AActor> > | (0 entries) | Battle Transition|Clear Battle Area | Other actor classes hidden the same way (animals, props that move, your own actors). | |
Keep Visible Tag (KeepVisibleTag) | FName | RSE.KeepInBattle | Battle Transition|Clear Battle Area | Actors with this tag are never hidden (a guard that watches the fight, a scripted witness). None = no exception. | |
Camera Style (CameraStyle) | ERSEExplorationCameraStyle | Tactical | Camera | D-113: the party RPG camera (Tactical: high, tactical angle, zoom, rotation around the party, occluders fade) or the classic third person camera (D-026, the values below). A level may override it (RSE Exploration Camera actor); Interior Volumes still use their close profiles. | |
Tactical Camera (TacticalCamera) | FRSETacticalCameraSettings | (MinDistance=700.000000,MaxDistance=2600.000000,StartDistance=1600.000000,ZoomStep=220.000000,bZoomStepIsRelative=True,ZoomSmoothSpeed=8.000000,PitchAtMinDistan... | Camera|Tactical | D-113: the tactical camera (Camera Style = Tactical). | |
Camera Collision (bCameraCollision) | bool | True | Camera|Third Person | Third person: the camera is pulled in front of walls (its collision probe). The tactical camera never collides. | |
Enable Camera Lag (bEnableCameraLag) | bool | True | Camera|Third Person | ||
Invert Look Y (bInvertLookY) | bool | False | Camera|Third Person | ||
Camera Distance (CameraDistance) | float | 480.000000 | Camera|Third Person | Distance from the character to the camera (third person; also the start of an interior profile's blend). | |
Camera Lag Speed (CameraLagSpeed) | float | 10.000000 | Camera|Third Person | Higher follows the character more tightly. | |
Camera Probe Size (CameraProbeSize) | float | 12.000000 | Camera|Third Person | Radius of the probe that pulls the camera in front of walls. | |
Camera Rotation Lag Speed (CameraRotationLagSpeed) | float | 0.000000 | Camera|Third Person | 0 = the camera turns instantly with the input. | |
Camera Target Offset (CameraTargetOffset) | FVector | (X=0.000000,Y=0.000000,Z=60.000000) | Camera|Third Person | Point the camera looks at, relative to the character's origin (height above the capsule center). | |
Default Pitch (DefaultPitch) | float | -15.000000 | Camera|Third Person | Camera pitch when exploration starts (negative looks down). | |
Field Of View (FieldOfView) | float | 70.000000 | Camera|Third Person | ||
Look Sensitivity (LookSensitivity) | FVector2D | (X=1.000000,Y=1.000000) | Camera|Third Person | Degrees per unit of Look input (mouse counts or scaled stick), X = yaw, Y = pitch. | |
Max Pitch (MaxPitch) | float | 15.000000 | Camera|Third Person | ||
Min Pitch (MinPitch) | float | -60.000000 | Camera|Third Person | ||
Recover from Falls (bRecoverFromFalls) | bool | True | Fall Recovery | A safety net for gaps in a level's collision: an explorer (the leader or a visible party member) that falls for too long, ends up under the terrain, below the level's Kill Z or outside its map bounds is put back where it last stood on solid ground. Nothing happens during battles, and only where the explorer really lost its footing. | |
Recover from Under Terrain (bRecoverFromUnderTerrain) | bool | True | Fall Recovery | An explorer with a landscape above its feet (it slipped under the terrain) is put back. | |
Fall Check Interval (FallCheckInterval) | float | 0.500000 | Fall Recovery | How often the explorers are checked (a timer, no tick). | |
Kill ZMargin (KillZMargin) | float | 5000.000000 | Fall Recovery | Put back an explorer this close above the level's Kill Z (before the engine destroys it). | |
Map Bounds Margin (MapBoundsMargin) | float | 2000.000000 | Fall Recovery | Put back an explorer outside the map's bounds (an RSE Map Bounds Volume): beyond its sides or this far below its floor. | |
Max Fall Seconds (MaxFallSeconds) | float | 3.000000 | Fall Recovery | Falling longer than this counts as falling out of the level (a jump or a ledge takes far less). | |
Recovery Lift (RecoveryLift) | float | 30.000000 | Fall Recovery | The explorer comes back this high above the spot it last stood on. | |
Block Pawn Input Under Screens (bBlockPawnInputUnderScreens) | bool | True | Input | D-152, a safety net under the input contexts and the focus: while a menu or another modal screen of its player is open (URSEModalScreenSubsystem, per local player), the explorer ignores movement, camera and action input, so the character never walks under an open map or menu. Other local players keep moving. | |
Hide Cursor While Exploring (bHideCursorWhileExploring) | bool | True | Input | Hide the mouse cursor while exploring, so the mouse turns the camera (shown again in battles and menus). The tactical camera with Mouse Rotation "While Dragging" keeps the cursor visible (the drag turns the view). | |
Distract Action (DistractAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_Distract.IA_Distract | Input | Aims and throws a distraction (D-109): hold to aim with the camera, release to throw (Exploration RPG settings). | |
Exploration Mapping Context (ExplorationMappingContext) | TSoftObjectPtr<UInputMappingContext> | /RPGSagaEngine/Input/IMC_Exploration.IMC_Exploration | Input | Mapping context active while exploring. The tactics context is removed meanwhile (both use WASD). | |
Exploration Mapping Priority (ExplorationMappingPriority) | int32 | 0 | Input | ||
Interact Action (InteractAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_Interact.IA_Interact | Input | Examine / talk (Phase 7) and "continue" after a battle. | |
Look Action (LookAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreLook.IA_ExploreLook | Input | Axis2D: X = yaw, Y = pitch (positive looks up). Gamepad mappings should scale by delta time. | |
Menu Check Interval (MenuCheckInterval) | float | 0.100000 | Input | How often exploration checks whether the party menu opened or closed (to swap input contexts). | |
Move Action (MoveAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreMove.IA_ExploreMove | Input | Axis2D: X = right, Y = forward, relative to the camera. | |
Party Command Action (PartyCommandAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_PartyCommand.IA_PartyCommand | Input | Opens the radial menu of delegated party commands (D-097). | |
Run Action (RunAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreRun.IA_ExploreRun | Input | Held: switches between walking and running (see bRunByDefault). | |
Sneak Action (SneakAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreSneak.IA_ExploreSneak | Input | Toggles sneaking (D-097): a slow walk the visible enemies notice much later (Stealth settings). | |
Switch Leader Action (SwitchLeaderAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_SwitchLeader.IA_SwitchLeader | Input | Axis1D or button: the next (positive) / previous party member becomes the leader (D-097, the visible party). | |
Invert Camera Tilt (bInvertCameraTilt) | bool | False | Input|Camera | D-129: the project's default for the player's Invert Camera Tilt option (up looks down). The player's choice wins (Options). | |
Camera Drag Action (CameraDragAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreCameraDrag.IA_ExploreCameraDrag | Input|Camera | D-113, tactical camera: held, the mouse turns the view (right or middle mouse button; LB: the right stick pans). | |
Camera Gamepad Speed (CameraGamepadSpeed) | float | 1.000000 | Input|Camera | D-150: the project's default for the player's Camera speed (gamepad) option: multiplies Tactical Camera -> Rotate Speed. | |
Camera Mouse Speed (CameraMouseSpeed) | float | 1.000000 | Input|Camera | D-150: the project's default for the player's Camera speed (mouse) option: multiplies Tactical Camera -> Mouse Rotate Sensitivity (1 = as set). The player's choice wins (Options -> Controls). | |
Camera Pan Action (CameraPanAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreCameraPan.IA_ExploreCameraPan | Input|Camera | D-113, tactical camera: Axis2D, pans the view away from the leader (arrow keys). | |
Camera Rotate Action (CameraRotateAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreCameraRotate.IA_ExploreCameraRotate | Input|Camera | D-113, tactical camera: Axis1D, turns the view (positive = right; Q / R, the right stick): -1..1 at Rotate Speed. | |
Camera Speed Option Range (CameraSpeedOptionRange) | FVector2D | (X=0.250000,Y=2.000000) | Input|Camera | D-150: the range the player's camera speed options offer (Options -> Controls), and their step. | |
Camera Speed Option Step (CameraSpeedOptionStep) | float | 0.050000 | Input|Camera | ||
Camera Tilt Action (CameraTiltAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreCameraTilt.IA_ExploreCameraTilt | Input|Camera | D-129, tactical camera: Axis1D, tilts the view a little (positive = up, toward the horizon; Page Up / Page Down, the right stick up / down): -1..1 at Tactical Camera -> Tilt Speed. The mouse tilts while Camera Drag is held (vertical movement). | |
Camera Tilt Reset Action (CameraTiltResetAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreCameraTiltReset.IA_ExploreCameraTiltReset | Input|Camera | D-129, tactical camera: puts the tilt back to the zoom's angle (Home; LB + right stick click). A double click of Camera Drag does too. | |
Camera Zoom Action (CameraZoomAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_ExploreCameraZoom.IA_ExploreCameraZoom | Input|Camera | D-113, tactical camera: Axis1D, the mouse wheel (positive zooms in; notches: a trigger or stick mapping scales by delta time). D-129: RT / LT on the gamepad. | |
Run by Default (bRunByDefault) | bool | True | Movement | RSE style: run unless the Run action is held (then walk). False: walk unless Run is held. | |
Run Speed (RunSpeed) | float | 550.000000 | Movement | ||
Turn Rate (TurnRate) | float | 720.000000 | Movement | How fast the character turns toward its movement direction. | |
Walk Speed (WalkSpeed) | float | 220.000000 | Movement | --- Movement --- | |
Placeholder Mesh (PlaceholderMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cylinder.Cylinder | Movement|Placeholder | Placeholder body until real characters exist (e.g. /Engine/BasicShapes/Cylinder). Empty = none. | |
Placeholder Mesh Scale (PlaceholderMeshScale) | FVector | (X=0.700000,Y=0.700000,Z=1.800000) | Movement|Placeholder | Scale of the placeholder mesh (the engine basic shapes are 100 cm). | |
Random Encounter Sample Interval (RandomEncounterSampleInterval) | float | 0.200000 | Random Encounters | How often random encounter areas measure the distance walked. |
RPG Saga Engine: Exploration RPG
Class URSEExploreRPGSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Exploration RPG rules (D-109): skills, traps, locks, stealing, dialog battles, distractions and fallen members.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Choice Opening (ChoiceOpening) | ERSEFreeOpening | PlayerSurprise | Dialog Battles | "From Context" battles started by a dialog choice (the player strikes first). | |
NPCBattle Encounter (NPCBattleEncounter) | TSoftObjectPtr<URSEEncounterData> | /RPGSagaEngine/Data/Explore/DA_Encounter_NPCFight.DA_Encounter_NPCFight | Dialog Battles | The encounter a Start Battle effect without one uses when only NPCs fight (teams, objectives, rewards; a Free Tactics encounter without enemies: the NPCs are its enemies). | |
Scene Radius (SceneRadius) | float | 1500.000000 | Dialog Battles | Scene NPCs: combatant NPCs this close to the party join a dialog battle that asks for the scene (cm). | |
Speaker Line Opening (SpeakerLineOpening) | ERSEFreeOpening | EnemySurprise | Dialog Battles | "From Context" battles started by a speaker's line or node (the speaker's side strikes first). | |
Alerted Ignore Distractions (bAlertedIgnoreDistractions) | bool | True | Distractions | Enemies already chasing the party ignore distractions. | |
Distractions (bDistractions) | bool | True | Distractions | The party may throw a distraction (the Distract action). | |
Cooldown (Cooldown) | float | 4.000000 | Distractions | Seconds before the next throw. | |
Investigate Seconds (InvestigateSeconds) | float | 6.000000 | Distractions | Seconds an enemy looks around at the point before it goes back. | |
Noise Radius (NoiseRadius) | float | 1200.000000 | Distractions | Visible enemies within this distance of the landing point hear it and come to look (cm). | |
Throw Item (ThrowItem) | TSoftObjectPtr<URSEItemData> | None | Distractions | Each throw uses one of this item (a stone, a bottle). Empty = free. | |
Throw Range (ThrowRange) | float | 1500.000000 | Distractions | Farthest throw from the leader (cm). | |
After Battle (AfterBattle) | ERSEFallenAfterBattle | GetUp | Fallen Members | After a won or fled battle, the fallen get up (Get Up) or stay down until revived. | |
Help Up Without Item (bHelpUpWithoutItem) | bool | False | Fallen Members | Stay Down: a standing member may help a fallen one up without any item or spell ("Help up"), with Help Up HP. Off = only a revive item, a revive spell, an inn or a rest. | |
Carry Distance (CarryDistance) | float | 2500.000000 | Fallen Members | Stay Down: the party carries a fallen member it walked this far away from (cm): the body stops lying there. 0 = never. | |
Get Up HP (GetUpHP) | int32 | 1 | Fallen Members | Get Up: HP they get up with (at least this many). | |
Get Up HPShare (GetUpHPShare) | float | 0.000000 | Fallen Members | Get Up: share of their max HP they get up with (the larger of the two counts; 0 = only Get Up HP). | |
Help Up HP (HelpUpHP) | int32 | 1 | Fallen Members | ||
Base Pins (BasePins) | int32 | 2 | Locks | Minigame: pins for a lock of difficulty 0; one more pin per Difficulty Per Pin (at most Max Pins). | |
Difficulty Per Pin (DifficultyPerPin) | float | 15.000000 | Locks | ||
Lockpick Mode (LockpickMode) | ERSELockpickMode | Minigame | Locks | Picking a lock by hand: the small game, or a chance from the best member's score. | |
Max Pins (MaxPins) | int32 | 5 | Locks | ||
Max Sweet Spot (MaxSweetSpot) | float | 0.400000 | Locks | ||
Min Sweet Spot (MinSweetSpot) | float | 0.070000 | Locks | Minigame: narrowest and widest sweet spot. | |
Misses Allowed (MissesAllowed) | int32 | 2 | Locks | Minigame: misses allowed before the attempt fails (a failure breaks a pick if the lock says so). | |
Sweep Seconds (SweepSeconds) | float | 1.400000 | Locks | Minigame: seconds for the marker to cross the bar once (it goes back and forth). | |
Sweet Spot Per Point (SweetSpotPerPoint) | float | 0.006000 | Locks | Minigame: sweet spot width gained per point of score above the difficulty (lost below). | |
Sweet Spot Width (SweetSpotWidth) | float | 0.180000 | Locks | Minigame: width of the sweet spot (share of the bar) when the member's score equals the difficulty. | |
Visible Members Perceive (bVisibleMembersPerceive) | bool | True | Perception | The visible party members check too (off = only the leader looks). | |
Perception Interval (PerceptionInterval) | float | 0.300000 | Perception | Seconds between the passive perception checks while exploring (a timer, no Tick). | |
Perception Radius (PerceptionRadius) | float | 600.000000 | Perception | A member notices hidden traps within this distance of itself (cm). | |
Search Bonus (SearchBonus) | float | 15.000000 | Perception | The delegated command "Search here" adds this to the searcher's perception around the point. | |
Search Radius (SearchRadius) | float | 800.000000 | Perception | ... within this distance of the searched point (cm). | |
Search Seconds (SearchSeconds) | float | 20.000000 | Perception | ... for this many seconds after the search. | |
Sneak Perception Bonus (SneakPerceptionBonus) | float | 5.000000 | Perception | Sneaking members pay more attention: this is added to their perception. | |
Chance at Equal Score (ChanceAtEqualScore) | float | 0.600000 | Skills | Chance of an attempt whose score equals the difficulty (disarming, auto lockpicking, stealing). | |
Chance Per Point (ChancePerPoint) | float | 0.030000 | Skills | Chance gained per point of score above the difficulty (lost per point below). | |
Disarm (Disarm) | FRSEExploreSkillRule | (StatWeights=(((TagName="Stat.Accuracy"), 0.250000),((TagName="Stat.Speed"), 0.250000)),PerLevel=1.000000,TagBonuses=(((TagName="Class.Archer"), 4.000000),((Tag... | Skills | Disarming traps. | |
Lockpick (Lockpick) | FRSEExploreSkillRule | (StatWeights=(((TagName="Stat.Accuracy"), 0.200000),((TagName="Stat.Speed"), 0.300000)),PerLevel=1.000000,TagBonuses=(((TagName="Class.Archer"), 3.000000),((Tag... | Skills | Picking locks. | |
Max Chance (MaxChance) | float | 0.950000 | Skills | Highest chance of any attempt (1 = a master never fails). | |
Min Chance (MinChance) | float | 0.050000 | Skills | Lowest chance of any attempt the member may make. | |
Perception (Perception) | FRSEExploreSkillRule | (StatWeights=(((TagName="Stat.Accuracy"), 0.300000),((TagName="Stat.Speed"), 0.200000)),PerLevel=1.000000,TagBonuses=(((TagName="Class.Archer"), 6.000000),((Tag... | Skills | Spotting hidden traps. | |
Pickpocket (Pickpocket) | FRSEExploreSkillRule | (StatWeights=(((TagName="Stat.Speed"), 0.400000),((TagName="Stat.Evasion"), 0.200000)),PerLevel=1.000000,TagBonuses=(((TagName="Class.Archer"), 2.000000),((TagN... | Skills | Stealing from NPCs. | |
Attempts Per NPC (AttemptsPerNPC) | int32 | 3 | Stealing | Attempts on the same NPC allowed per game day after a failure that was not noticed (0 = no limit). | |
Behind Angle (BehindAngle) | float | 110.000000 | Stealing | The thief must be behind the NPC: the angle between the NPC's facing and the direction to the thief is at least this. | |
Steal Requires Sneaking (bStealRequiresSneaking) | bool | True | Stealing | The thief must be sneaking. | |
Busy Activities (BusyActivities) | FGameplayTagContainer | (GameplayTags=((TagName="NPC.Activity.Work"),(TagName="NPC.Activity.Chat"),(TagName="NPC.Activity.Eat"))) | Stealing | Activities during which an NPC counts as busy (NPC.Activity.*). | |
Busy Bonus (BusyBonus) | float | 5.000000 | Stealing | Score bonus when the NPC is busy (working, talking with someone else: an activity in Busy Activities). | |
Caught on Failure (CaughtOnFailure) | float | 0.700000 | Stealing | Chance that a failed attempt is noticed (0 = a failure is only a failure). | |
Steal Reach (StealReach) | float | 180.000000 | Stealing | Farthest a thief may stand from the NPC (cm). | |
Found Traps Spare Party in Battle (bFoundTrapsSparePartyInBattle) | bool | True | Traps | In Free Tactics, traps the party has found go off only for the enemies (the party steps around them). | |
Traps Can KO (bTrapsCanKO) | bool | False | Traps | Traps can knock party members out in exploration (off = they leave at least 1 HP). | |
Traps in Free Tactics (bTrapsInFreeTactics) | bool | True | Traps | Traps that were not found yet also go off in Free Tactics battles on the live map. |
RPG Saga Engine: Exploration RPG (Presentation)
Class URSEExploreRPGUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Presentation of the exploration RPG actions (D-109): how traps, locks, stealing, distractions and fallen members look and what the notifications say.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Aim Hint (AimHint) | FText | NSLOCTEXT("RSEExploreRPG", "AimHint", "Aim with the camera, release to throw.") | Distractions | Hint while aiming. | |
Aim Marker Material (AimMarkerMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Explore/M_RSE_ExploreMarker.M_RSE_ExploreMarker | Distractions | ||
Aim Marker Mesh (AimMarkerMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cylinder.Cylinder | Distractions | Mesh of the landing marker while aiming. Empty = /Engine basic cylinder, flattened. | |
Toggle Aim (bToggleAim) | bool | False | Distractions | Press the Distract action once to aim and again to throw (off = hold to aim, release to throw). | |
Investigate Mark (InvestigateMark) | FText | NSLOCTEXT("RSEExploreRPG", "InvestigateMark", "?") | Distractions | Over an enemy that comes to look. | |
Nothing to Throw Text (NothingToThrowText) | FText | NSLOCTEXT("RSEExploreRPG", "NothingToThrow", "Nothing to throw.") | Distractions | "Nothing to throw." (Throw Item missing). | |
Throw Arc Height (ThrowArcHeight) | float | 250.000000 | Distractions | Height of the arc (cm). | |
Throw Flight Seconds (ThrowFlightSeconds) | float | 0.700000 | Distractions | Seconds the throw flies. | |
Thrown Mesh (ThrownMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Sphere.Sphere | Distractions | The thrown thing (a small stone). Empty = /Engine basic sphere. | |
Thrown Scale (ThrownScale) | float | 0.120000 | Distractions | ||
Carried Text (CarriedText) | FText | NSLOCTEXT("RSEExploreRPG", "Carried", "The party carries {Name}.") | Fallen Members | "The party carries {Name}." | |
Got Up Text (GotUpText) | FText | NSLOCTEXT("RSEExploreRPG", "GotUp", "{Name} is back on their feet.") | Fallen Members | "{Name} is back on their feet." | |
Needs Revive Text (NeedsReviveText) | FText | NSLOCTEXT("RSEExploreRPG", "NeedsRevive", "{Name} needs a revive item or spell.") | Fallen Members | "{Name} needs a revive item or spell." | |
Revive Prompt (RevivePrompt) | FText | NSLOCTEXT("RSEExploreRPG", "RevivePrompt", "Revive {Name}") | Fallen Members | Prompt at a fallen member: "Revive {Name}". | |
Key Used Text (KeyUsedText) | FText | NSLOCTEXT("RSEExploreRPG", "KeyUsed", "Opened with the {Key}.") | Locks | "Opened with the {Key}." | |
Lockable Placeholder Mesh (LockablePlaceholderMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Locks | Body and lid of a lockable without meshes of its own (a box). Empty = /Engine basic cube. | |
Locked Text (LockedText) | FText | NSLOCTEXT("RSEExploreRPG", "Locked", "It\'s locked.") | Locks | "It's locked." (nobody may pick it, no key). | |
Lockpick Help (LockpickHelp) | FText | NSLOCTEXT("RSEExploreRPG", "LockpickHelp", "Press Confirm (or click) while the marker is in the green spot to set each pin. Back gives up.") | Locks | Line under the bar: how to play. | |
Lockpick Title (LockpickTitle) | FText | NSLOCTEXT("RSEExploreRPG", "LockpickTitle", "Locked") | Locks | Title of the lockpick screen when the lock has no Display Name. | |
Lockpick Widget Class (LockpickWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Locks | Lockpick screen (D-052). Empty = the built-in screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSELockpickViewModel (docs/product/custom-ui.md). | |
Lockpick ZOrder (LockpickZOrder) | int32 | 55 | Locks | ||
Open Seconds (OpenSeconds) | float | 0.600000 | Locks | Seconds the lid / door takes to open. | |
Pick Broke Text (PickBrokeText) | FText | NSLOCTEXT("RSEExploreRPG", "PickBroke", "The {Item} broke.") | Locks | "The {Item} broke." | |
Picked Text (PickedText) | FText | NSLOCTEXT("RSEExploreRPG", "Picked", "{Member} picked the lock.") | Locks | "{Member} picked the lock." | |
Pick Failed Text (PickFailedText) | FText | NSLOCTEXT("RSEExploreRPG", "PickFailed", "{Member} could not pick the lock.") | Locks | "{Member} could not pick the lock." | |
Unlock Prompt (UnlockPrompt) | FText | NSLOCTEXT("RSEExploreRPG", "UnlockPrompt", "Unlock") | Locks | Prompt on a locked door or chest: "Unlock". | |
Caught Text (CaughtText) | FText | NSLOCTEXT("RSEExploreRPG", "Caught", "{Name}: Thief!") | Stealing | "{Name}: Thief!" | |
Nothing Left Text (NothingLeftText) | FText | NSLOCTEXT("RSEExploreRPG", "NothingLeft", "Nothing left to take.") | Stealing | "Nothing left to take." | |
Steal Failed Text (StealFailedText) | FText | NSLOCTEXT("RSEExploreRPG", "StealFailed", "Not this time... nobody noticed.") | Stealing | "Not this time..." (nobody noticed). | |
Steal Prompt (StealPrompt) | FText | NSLOCTEXT("RSEExploreRPG", "StealPrompt", "Steal") | Stealing | Prompt behind an NPC while sneaking: "Steal". | |
Stolen Money Text (StolenMoneyText) | FText | NSLOCTEXT("RSEExploreRPG", "StolenMoney", "{Member} lifted {Money} coins.") | Stealing | "{Member} lifted {Money} coins." | |
Stolen Text (StolenText) | FText | NSLOCTEXT("RSEExploreRPG", "Stolen", "{Member} lifted {Item}.") | Stealing | "{Member} lifted {Item}." | |
Default Trap Mesh (DefaultTrapMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cylinder.Cylinder | Traps | Mesh of traps without one (a flat plate). Empty = /Engine basic cylinder. | |
Disarmed Text (DisarmedText) | FText | NSLOCTEXT("RSEExploreRPG", "Disarmed", "{Member} disarmed the {Trap}.") | Traps | "{Member} disarmed the {Trap}." | |
Disarm Failed Text (DisarmFailedText) | FText | NSLOCTEXT("RSEExploreRPG", "DisarmFailed", "{Member} could not disarm the {Trap}.") | Traps | "{Member} could not disarm it." (the trap did not go off). | |
Disarm Prompt (DisarmPrompt) | FText | NSLOCTEXT("RSEExploreRPG", "DisarmPrompt", "Disarm {Trap}") | Traps | Prompt on a spotted trap: "Disarm {Trap}". | |
Spotted Text (SpottedText) | FText | NSLOCTEXT("RSEExploreRPG", "Spotted", "{Member} spotted a trap: {Trap}.") | Traps | "{Member} spotted a {Trap}." | |
Sprung Mesh Seconds (SprungMeshSeconds) | float | 0.000000 | Traps | Seconds a trap's mesh shows after it went off unseen (0 = it stays). | |
Trap Damage Text (TrapDamageText) | FText | NSLOCTEXT("RSEExploreRPG", "TrapDamage", "{Member} takes {Damage} damage.") | Traps | "{Member} takes {Damage} damage." | |
Trap Marker Color (TrapMarkerColor) | FLinearColor | (R=1.000000,G=0.250000,B=0.150000,A=1.000000) | Traps | ||
Trap Marker Material (TrapMarkerMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Explore/M_RSE_ExploreMarker.M_RSE_ExploreMarker | Traps | Material of the marker (a bright translucent red works best). Empty = the mesh's own. | |
Trap Marker Mesh (TrapMarkerMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cylinder.Cylinder | Traps | The marker over a spotted trap (a ring on the ground). Empty = /Engine basic cylinder, flattened. | |
Trap Marker Text (TrapMarkerText) | FText | NSLOCTEXT("RSEExploreRPG", "TrapMarker", "!") | Traps | Text floating over a spotted trap. | |
Trap Meshes (TrapMeshes) | TMap<FGameplayTag,TSoftObjectPtr<UStaticMesh> > | (0 entries) | Traps | Mesh of a trap by its Kind (Trap.PressurePlate -> a flat plate). A trap actor's own mesh wins. Missing = Default Trap Mesh. | |
Triggered Text (TriggeredText) | FText | NSLOCTEXT("RSEExploreRPG", "Triggered", "{Trap}!") | Traps | "{Trap}!" when a trap goes off and the trap has no text of its own. |
RPG Saga Engine: Features
Class URSEFeatureSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Feature toggles (D-165).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Action Combat (bActionCombat) | bool | True | Battle | Real-time action battles (D-171). Off: action encounters refuse to start. | |
Grid Tactics (bGridTactics) | bool | True | Battle | Tactics battles on a tile grid. Off: grid encounters refuse to start. | |
Live Tactics (bLiveTactics) | bool | True | Battle | Free (live) Tactics on the live map. Off: its subsystem is not created and its encounters refuse to start. | |
ATB / Turn-Based (bTurnBased) | bool | True | Battle | Classic battles on a stage (ATB, turn-based, CTB). Off: classic encounters refuse to start and the ATB options row is hidden. | |
Economy (bEconomy) | bool | True | Characters and Items | Currency, shops, inns and the economy screens. | |
Growth / Progression (bGrowth) | bool | True | Characters and Items | Progression systems (points, the Growth Board) and the Growth page. | |
Inventory (bInventory) | bool | True | Characters and Items | Inventory rules, the Items and Equipment pages and the inventory options. | |
Adaptive Difficulty (bAdaptiveDifficulty) | bool | True | Extras | The adaptive AI parameter that follows the player's results. Off: the AI keeps the fixed intelligence of its profile. | |
Bestiary (bBestiary) | bool | True | Extras | The bestiary (entries, the Bestiary page, the enemy HP option). | |
Cards (bCards) | bool | True | Extras | The card minigame. | |
Tutorials (bTutorials) | bool | True | Extras | Contextual tutorials, the Help page and the tutorials option. | |
Online and Co-op (bOnline) | bool | True | Online | Online sessions, lobbies and the co-op transport. Off: the online subsystems are not created. | |
Dialog (bDialog) | bool | True | Story | Dialog runner and dialog screens. Off: dialogs do not run; quest givers cannot talk. | |
Quests (bQuests) | bool | True | Story | Quests, the quest tracker and the Journal page. | |
Story Scenes (bScenes) | bool | True | Story | Story scenes (Level Sequences played by the story). | |
Living NPCs (bLivingNPCs) | bool | True | World | Living NPCs: routines, barks and their world subsystems. | |
Map and Minimap (bMapMinimap) | bool | True | World | Area maps, the minimap and the compass, the Map page and their options. | |
Puzzles (bPuzzles) | bool | True | World | Puzzles (state and screens). | |
Stealth (bStealth) | bool | True | World | Stealth detection and ambushes. | |
Time and Weather (bTimeWeather) | bool | True | World | Time of day and weather, the clock HUD and the night lights. |
RPG Saga Engine: Free Tactics
Class URSEFreeTacticsSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Free Tactics (D-091, docs/design/free-tactics.md): turn-based battles with free movement in meters on the live map.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
AICandidate Positions (AICandidatePositions) | int32 | 40 | AI | Candidate positions the AI samples in its reachable area per decision (plus rings around the targets). | |
AICover Weight (AICoverWeight) | float | 4.000000 | AI | Value of ending in partial cover from the enemies (full cover counts double), times the profile's danger awareness. | |
AICrowding Weight (AICrowdingWeight) | float | 6.000000 | AI | D-127: value lost per meter a position cuts into an ally's personal space (0 = units may stand shoulder to shoulder). | |
AIHeight Weight (AIHeightWeight) | float | 2.000000 | AI | Value per meter of height above the nearest enemy (capped at the height damage bonus), times danger awareness. | |
AIJump Min Saving (AIJumpMinSaving) | float | 2.000000 | AI | D-121: a jump to a place walking also reaches is considered only when it saves at least this much movement (meters). | |
AIJump Samples (AIJumpSamples) | int32 | 24 | AI | D-121: points the AI tries for a jump (Free Tactics Field -> Jumping) on three rings up to its jump reach. A jump is considered where walking does not go or costs more (see AI Jump Min Saving). 0 = the AI never jumps. | |
AIMin Move Distance (AIMinMoveDistance) | float | 0.500000 | AI | The AI does not consider moves shorter than this (meters). | |
AIOpportunity Risk Weight (AIOpportunityRiskWeight) | float | 1.000000 | AI | D-127: positions weigh the opportunity attacks walking there would provoke: their expected damage times this, the profile's danger weight (at least a quarter) and its danger awareness. 0 = the AI walks out of reach regardless. | |
AIOverwatch Risk Weight (AIOverwatchRiskWeight) | float | 1.000000 | AI | D-146: positions weigh the enemy Overwatch reactions walking there would provoke (expected damage times this, the profile's danger weight, at least a quarter, and its danger awareness). 0 = the AI ignores enemy watches. | |
AIOverwatch Weight (AIOverwatchWeight) | float | 1.000000 | AI | D-146: value of going on Overwatch for an AI unit, per point of the damage its watch reaction is expected to do, times the profile's damage weight. Only offered when it is sensible: the unit has nothing to attack from where it stands or could walk to this turn, and an enemy could step into its watch next turn (a ranged unit without a good target, a guard at a choke). 0 = the AI never uses Overwatch. | |
AIPersonal Space (AIPersonalSpace) | float | 1.000000 | AI | D-127: room the AI keeps between a unit and its allies (meters, edge to edge), plus Personal Space Per Radius times the two units' radii together (big units keep more room). Positions inside it lose AI Crowding Weight per meter. | |
AIPersonal Space Per Radius (AIPersonalSpacePerRadius) | float | 0.500000 | AI | D-127: extra personal space per meter of the two units' radii together. | |
AIReposition Min Distance (AIRepositionMinDistance) | float | 1.500000 | AI | D-156: after acting, the movement left is used only for a reposition at least this far (meters): into cover, out of reach. | |
AIReposition Min Gain (AIRepositionMinGain) | float | 2.000000 | AI | D-156: ...and only when it is worth at least this much more than staying (the AI's position score: cover, danger, distance). | |
AIRing Samples Per Target (AIRingSamplesPerTarget) | int32 | 8 | AI | Points sampled on the ring around each potential target at the unit's best attack range. | |
AISingle Move (bAISingleMove) | bool | True | AI | D-156: an AI unit walks once, in one continuous move, to the spot it chose with its follow-up in mind (spacing, cover, Overwatch, the reach of its abilities): after a walk that arrived it acts or ends its turn, never takes a small corrective step. A walk stopped short (an Overwatch, a slip, a trap) is planned again. Off = every step weighs moving again (before D-156). | |
Back Arc (BackArc) | float | 90.000000 | Combat | Attacks from within this arc behind the target hit its back (full angle, degrees). | |
Areas Include Unit Radius (bAreasIncludeUnitRadius) | bool | True | Combat | Area abilities also catch units whose footprint only overlaps the area (off = the unit's center must be inside). | |
Front Arc (FrontArc) | float | 120.000000 | Combat | Attacks from within this arc around the target's facing are frontal (full angle, degrees). Side and back multipliers are in Battle. | |
Height Advantage Threshold (HeightAdvantageThreshold) | float | 0.500000 | Combat | Height advantage below this difference does not count (uneven ground). | |
Height Damage Max (HeightDamageMax) | float | 1.300000 | Combat | ||
Height Damage Min (HeightDamageMin) | float | 0.700000 | Combat | ||
Height Damage Per Meter (HeightDamagePerMeter) | float | 0.100000 | Combat | Damage change per meter the attacker stands above (+) or below (-) the target. | |
Height Hit Bonus Max (HeightHitBonusMax) | float | 15.000000 | Combat | ||
Height Hit Bonus Per Meter (HeightHitBonusPerMeter) | float | 5.000000 | Combat | Hit chance change (percent points) per meter of height advantage. | |
Cover Distance (CoverDistance) | float | 1.500000 | Cover | Partial cover counts only for blockers this close to the target (a low wall far away does not protect it). | |
Cover Provider (CoverProvider) | TSoftClassPtr<URSECoverProvider> | None | Cover | Decides the cover a blocker gives and whether it blocks sight. Empty = the built-in rules below (the blocker's own cover, else its height). A project (or the asset combat roles) may plug in its own class. | |
Full Cover Min Height (FullCoverMinHeight) | float | 1.500000 | Cover | Built-in rule: a blocker at least this high above the ground blocks sight (full cover). | |
Partial Cover Damage Multiplier (PartialCoverDamageMultiplier) | float | 1.000000 | Cover | Damage multiplier against a target in partial cover. | |
Partial Cover Hit Penalty (PartialCoverHitPenalty) | float | 20.000000 | Cover | Hit chance lost (percent points) against a target in partial cover. | |
Partial Cover Min Height (PartialCoverMinHeight) | float | 0.800000 | Cover | Built-in rule: a blocker at least this high (and below full) gives partial cover. Lower obstacles give none. | |
AIDoor Open Value (AIDoorOpenValue) | float | 6.000000 | Doors | The AI opens a closed door in reach when that opens a way to its enemies; this is the option's value. 0 = never. | |
Doors in Battle (bDoorsInBattle) | bool | True | Doors | Units can open and close doors during a battle (a door command). Off = doors stay as the battle found them. | |
Door Action Cost (DoorActionCost) | ERSEFreeActionCost | BonusAction | Doors | Separate budgets: what opening or closing a door costs (an action, a bonus action or nothing). | |
Door Action Point Cost (DoorActionPointCost) | int32 | 1 | Doors | Shared budget: Action Points a door costs. | |
Door Reach (DoorReach) | float | 1.000000 | Doors | A unit reaches a door this close (meters, from its edge to the nearest part of the doorway). | |
Fleeing (bFleeing) | bool | True | Fleeing | The party's units can run away with the Flee command (the encounter's Can Flee must allow it too). A unit that flees leaves the battle; when every standing party member got away, the battle ends as an escape. Off = no running away from Free Tactics battles. | |
Flee Provokes Opportunity Attacks (bFleeProvokesOpportunityAttacks) | bool | True | Fleeing | The Flee command's own walk provokes opportunity attacks like any move (off = fleeing disengages safely). | |
Escape Hidden Radius (EscapeHiddenRadius) | float | 3.000000 | Fleeing | An enemy that cannot see the unit (walls, full cover) stops it from fleeing only this close (meters, edge to edge). | |
Escape Radius (EscapeRadius) | float | 8.000000 | Fleeing | Flee needs this much room (meters, edge to edge): no enemy that sees the unit may stand closer. The unit can walk out first (a Move, or the Flee command's own walk), and a unit engaged in melee is always inside it. | |
Escape Rounds (EscapeRounds) | int32 | 0 | Fleeing | Rounds a fleeing unit must then stay out of every enemy's Escape Radius before it leaves (checked at the start of each round; an enemy coming close starts the count again, an action cancels the escape). 0 = it leaves at once. | |
Pursuit Leash Radius (PursuitLeashRadius) | float | 20.000000 | Fleeing | Pursuit limit of the AI: an enemy never moves farther than this from where it entered the battle (it may still walk back), so it gives up the chase of a party that runs. 0 = no limit. The party's own units are never limited. | |
Join at Next Round (bJoinAtNextRound) | bool | True | Joining | Enemies who notice the battle while it runs join at the start of the next round (off = at once, at the next turn). | |
Call for Help Radius (CallForHelpRadius) | float | 12.000000 | Joining | Enemies within this distance of those who noticed the party are called in: they join the battle from the start ("call for help"). The others keep patrolling. 0 = only the group that noticed the party. | |
Party Join Radius (PartyJoinRadius) | float | 20.000000 | Joining | Party members within this distance of the leader enter the battle from where they stand; the others stay out of it. | |
Any Angle Paths (bAnyAnglePaths) | bool | True | Navigation | Any-angle paths (straight lines across open ground) instead of 8-direction steps. Off = classic grid A*. | |
Climb Cost Per Meter (ClimbCostPerMeter) | float | 1.000000 | Navigation | Extra movement cost per meter climbed (1 = climbing one meter costs as much as walking one more meter). | |
Layer Snap Tolerance (LayerSnapTolerance) | float | 1.000000 | Navigation | Several floors (D-110): a point belongs to the highest floor at most this far above its height. Keep it above the step height and below the height between two floors. | |
Max Search Cells (MaxSearchCells) | int32 | 200000 | Navigation | Search guard: most cells a path or reach search may expand (0 = no limit). | |
Max Step Down (MaxStepDown) | float | 1.000000 | Navigation | Deepest drop a unit walks down between two neighbouring cells. | |
Max Step Up (MaxStepUp) | float | 0.500000 | Navigation | Highest step a unit walks up between two neighbouring cells (stairs, curbs). | |
Snapshot Cell Size (SnapshotCellSize) | float | 0.250000 | Navigation | Cell size of the navigation snapshot captured from the battle area. Smaller = finer paths, more memory and time. | |
Surprise Opener Acts First (bSurpriseOpenerActsFirst) | bool | True | Openings | Individual order: the side that opens with a surprise starts with full Charge Time, so it acts first (fastest first). | |
Surprise Rounds (bSurpriseRounds) | bool | True | Openings | Surprise rounds: when one side attacks the other unseen (the party sneaks up, or an ambush), the surprised units lose their first turn. Off = every battle opens normally. | |
Surprise Bonus Side (SurpriseBonusSide) | ERSESurpriseBonusSide | Party | Openings | D-151: which side's surprise earns the opener's bonus below (its first turn in round 1). | |
Surprise Opener Bonus Actions (SurpriseOpenerBonusActions) | int32 | 0 | Openings | D-151: extra actions of each opener unit in its first turn (Separate Budgets). | |
Surprise Opener Bonus AP (SurpriseOpenerBonusAP) | int32 | 1 | Openings | D-151: extra Action Points of each opener unit in its first turn (the shared budget; in Separate Budgets they add movement). | |
Surprise Opener Bonus Movement (SurpriseOpenerBonusMovement) | float | 0.000000 | Openings | D-151: extra movement of each opener unit in its first turn (meters). | |
Built in Opportunity Attack (bBuiltInOpportunityAttack) | bool | True | Opportunity Attacks | Units without their own Left Melee Range reaction still strike with their basic attack. | |
Opportunity Attacks (bOpportunityAttacks) | bool | False | Opportunity Attacks | Leaving an enemy's melee reach triggers its opportunity attack reactions (Left Melee Range). D-146: off by default in the live mode; reactions then come only from Overwatch abilities (an ability's Free Tactics Rules -> Overwatch). On = the D-091 / D-127 rule (every setting below). | |
Built in Opportunity Rule (BuiltInOpportunityRule) | ERSEBuiltInOpportunityRule | MeleeFighters | Opportunity Attacks | D-127: who gets the built-in opportunity attack. The traits Trait.Reaction.OpportunityAttack and Trait.Reaction.NoOpportunityAttack (class, character, equipment or status) decide for their unit whatever this says. | |
Max Opportunity Attacks Per Move (MaxOpportunityAttacksPerMove) | int32 | 1 | Opportunity Attacks | D-127: one move provokes at most this many opportunity attacks (the nearest units first), so walking past a group costs one strike, not one per enemy. 0 = every unit left behind strikes. | |
Melee Reach Max (MeleeReachMax) | float | 2.000000 | Opportunity Attacks | An ability reaching at most this far (meters, edge to edge) is a melee ability: its range is the unit's melee reach. | |
Opportunity Attacks Per Turn (OpportunityAttacksPerTurn) | int32 | 1 | Opportunity Attacks | Built-in opportunity attacks per unit between two of its own turns (0 = unlimited). | |
Opportunity Power Multiplier (OpportunityPowerMultiplier) | float | 1.000000 | Opportunity Attacks | Power multiplier of the built-in opportunity attack. | |
Aim Height (AimHeight) | float | 1.000000 | Space | Height above a target's ground that attacks aim at (its chest): where line of sight ends. | |
Default Unit Radius (DefaultUnitRadius) | float | 0.400000 | Space | Footprint radius of a unit whose spawn does not set one. | |
Destination Max Shift (DestinationMaxShift) | float | 0.750000 | Space | D-127: farthest a move order's point is shifted to keep Destination Min Gap (meters). | |
Destination Min Gap (DestinationMinGap) | float | 0.400000 | Space | D-127: a move order keeps this much room (meters, edge to edge) from the other units: a point picked right next to an ally moves the least it needs to (at most Destination Max Shift). 0 = the exact point. | |
Eye Height (EyeHeight) | float | 1.500000 | Space | Height of a unit's eyes above its ground: where line of sight starts. | |
Max Start Nudge (MaxStartNudge) | float | 1.500000 | Space | D-115: a unit that starts a battle where it cannot stand (touching another unit, its footprint against a wall) is moved to the nearest free spot within this distance; farther than that it stays where it is. Battles on the live map start in place: nobody is pulled somewhere else (the presentation slides the few centimeters, it never teleports). 0 = never moved. | |
Meters Per Tile (MetersPerTile) | float | 1.500000 | Space | Meters per grid tile: converts Tactics rules (ranges, areas) and tile positions (encounters, simulator) to meters. | |
Start Min Gap (StartMinGap) | float | 0.300000 | Space | D-127: units that start a battle closer than this to another unit (meters, edge to edge) slide apart to the nearest spot that keeps it, within Max Start Nudge (a short slide, never a teleport). 0 = they start exactly where they stand. | |
Unit Height (UnitHeight) | float | 1.800000 | Space | How tall a unit is (D-110): units whose feet are this far apart in height stand on different floors and do not block each other, a door or an opportunity attack does not reach across floors. | |
AISummon Placement Samples (AISummonPlacementSamples) | int32 | 24 | Summons | Points the AI tries around itself when it places a summon (rings toward the enemy; the valid one nearest the enemy wins). | |
Summon Placement Needs Sight (bSummonPlacementNeedsSight) | bool | True | Summons | The summoner must see the point (from its eyes to the summon's chest). | |
Summons at Chosen Point (bSummonsAtChosenPoint) | bool | True | Summons | Summons (a Pact's creature, Summon Units) are placed at a point the summoner picks on the ground, within Summon Placement Range. Off = next to the summoner, as on the grid. | |
Default Summon Radius (DefaultSummonRadius) | float | 0.000000 | Summons | A summoned unit's footprint radius when its Pact or effect sets none (0 = Default Unit Radius). | |
Summon Placement Range (SummonPlacementRange) | float | 6.000000 | Summons | How far from the summoner's edge the summon may appear (meters, to the summon's center). | |
Action Model (ActionModel) | ERSEFreeActionModel | SeparateBudgets | Turns | --- Turns --- | |
Actions Per Turn (ActionsPerTurn) | int32 | 1 | Turns | Separate budgets: actions per turn (abilities whose Action Cost is Action). | |
Items Use Bonus Action (bItemsUseBonusAction) | bool | True | Turns | Separate budgets: using a consumable costs a bonus action instead of an action. | |
Bonus Actions Per Turn (BonusActionsPerTurn) | int32 | 1 | Turns | Separate budgets: bonus actions per turn (abilities whose Action Cost is Bonus Action). | |
Derived Bonus Action Max Cost (DerivedBonusActionMaxCost) | int32 | 0 | Turns | Separate budgets, abilities without their own Free Tactics rules: those whose Tactics Action Point cost is at most this become bonus actions (-1 = none; 0 = only free abilities). Consumables follow Items Use Bonus Action. | |
Meters Per AP (MetersPerAP) | float | 1.500000 | Turns | Meters of movement per Action Point (shared budget), and per point of the Action Points stat (separate budgets, From Action Points). | |
Movement Meters (MovementMeters) | float | 9.000000 | Turns | Separate budgets, Fixed: movement allowance per turn. | |
Movement Source (MovementSource) | ERSEFreeMovementSource | Fixed | Turns | Separate budgets: where the movement allowance comes from. | |
Team Order (TeamOrder) | ERSEFreeTeamOrder | PlayerFirst | Turns | ||
Turn Order (TurnOrder) | ERSEFreeTurnOrder | IndividualCT | Turns | ||
Turn Share Action (TurnShareAction) | float | 0.600000 | Turns | Separate budgets: share of the turn (for the Charge Time spent at its end) that using the action, a bonus action and the whole movement stand for. The Charge Time spent follows Battle -> Turn CT Cost (nothing used .. everything used). | |
Turn Share Bonus Action (TurnShareBonusAction) | float | 0.200000 | Turns | ||
Turn Share Movement (TurnShareMovement) | float | 0.200000 | Turns |
RPG Saga Engine: Free Tactics (Co-op)
Class URSEFreeTacticsCoopSettings (module RSE), Project Settings, Project, RPG Saga Engine. Free Tactics in co-op (D-141, docs/design/networking.md §3.6, docs/product/coop.md): who commands which unit, how long a turn may wait for a player, how far players are pulled into a battle that starts away from them, and how guests present the host's battle.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Actor Binding Wait Seconds (ActorBindingWaitSeconds) | float | 1.000000 | Guests | A unit that joins on a guest's screen waits this long for the host's world actor to arrive (a reinforcement running in) before the guest shows a stand-in of its own. | |
Pull in Far Players (bPullInFarPlayers) | bool | True | Joining | Players whose explorer is farther than the party's join radius (Free Tactics -> Party Join Radius) when the battle starts are brought next to the leader (with a short fade on their screen) instead of staying out of it. | |
Reconnect Retakes Unit at Once (bReconnectRetakesUnitAtOnce) | bool | False | Joining | A player who reconnects during a battle gets their unit back at once (it was the AI's meanwhile). Off = they watch until the battle ends, then take a member (D-124 §6.3). | |
Pull in Fade Seconds (PullInFadeSeconds) | float | 0.350000 | Joining | The fade of a player brought into the battle (seconds, out then in). | |
Catch Up Backlog (CatchUpBacklog) | int32 | 24 | Pacing | A guest that falls this many events behind the host plays the backlog faster (Catch Up Playback Rate). | |
Catch Up Playback Rate (CatchUpPlaybackRate) | float | 2.000000 | Pacing | ||
Guest Playback Wait Max (GuestPlaybackWaitMax) | float | 4.000000 | Pacing | The host's battle goes on (the AI acts, the next turn starts) only once every guest has shown the events so far, or after this many seconds (a slow or stalled guest never holds the battle longer). 0 = never wait for guests. | |
Companion Units (CompanionUnits) | ERSEFreeCoopCompanionUnits | AI | Turns | Party units that no player plays (the companions): the AI, or the host. | |
Turn Timeout Action (TurnTimeoutAction) | ERSEFreeTurnTimeoutAction | HostTakesOver | Turns | ||
Turn Timeout Seconds (TurnTimeoutSeconds) | float | 45.000000 | Turns | Seconds a guest's turn waits for their command before Turn Timeout Action applies (0 = forever). Counted while the battle waits only for that player (not during animations). |
RPG Saga Engine: Free Tactics (Presentation)
Class URSEFreeTacticsPresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. How Free Tactics battles on the live map look and feel (D-097, docs/design/free-tactics.md): the seamless entry, the tactical camera, the ground overlay (movement area, ability areas, path), the pacing, and the exit.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Area Participant Margin (AreaParticipantMargin) | float | 8.000000 | Battle Area | ||
Area Size (AreaSize) | float | 44.000000 | Battle Area | Size of the area captured around the battle (meters, square): units cannot walk out of it; escapes happen inside it. | |
Grow Area to Participants (bGrowAreaToParticipants) | bool | True | Battle Area | D-113: the captured area grows past Area Size (up to Max Area Size) so that every unit of the battle stands inside it with Area Participant Margin to spare: nobody starts at, or is pulled in from, beyond the area's edge. Units never leave the area. | |
Hide World Labels (bHideWorldLabels) | bool | True | Battle Area | Hide the world labels (Text Render components) around the battle while it lasts: they face the exploration camera. | |
Max Area Size (MaxAreaSize) | float | 120.000000 | Battle Area | ||
Action Camera (ActionCamera) | ERSEFreeActionCamera | Off | Camera | D-113, the camera during actions. Off (default): the tactical camera stays, no close-up cuts. Subtle Reframe: it glides to keep the actor and the target on screen at the current zoom. Cinematic: the actions' camera shots (the classic modes' close shots stay available there whatever this says). | |
Action Camera Shake (bActionCameraShake) | bool | False | Camera | D-113: actions may shake the camera (hits, explosions). Off: the view never jolts (Cinematic shakes as its shots say). | |
Focus Actions (bFocusActions) | bool | True | Camera | Subtle Reframe and Cinematic: the camera glides to each action's target while it plays. | |
Focus Active Unit (bFocusActiveUnit) | bool | True | Camera | The camera glides to the unit whose turn starts. | |
Hide Occluders (bHideOccluders) | bool | True | Camera | Objects between the camera and the active unit or the cursor fade (opted-in materials) or hide (the rest): walls, trees, roofs. The camera never collides with them. How: Project Settings -> RPG Saga Engine -> Camera Occlusion (D-113). | |
Inherit Exploration Zoom (bInheritExplorationZoom) | bool | False | Camera | D-113: the battle camera starts from the exploration camera's angle and zoom (it is the same camera, taking over) and glides to its own angle; on: it also keeps the exploration zoom (clamped), instead of gliding to Camera Start Distance. | |
Keep Exploration Tilt (bKeepExplorationTilt) | bool | True | Camera | D-129: the battle camera keeps the tilt the player gave the exploration camera (degrees around Camera Pitch, within the exploration's tilt limits). Off: it glides to Camera Pitch. Inside interiors the interior's pitch wins. | |
Camera Field Of View (CameraFieldOfView) | float | 55.000000 | Camera | D-113: the camera's field of view (degrees; the exploration camera's tactical view uses 55). 0 = the exploration camera's. | |
Camera Focus Height (CameraFocusHeight) | float | 100.000000 | Camera | The camera orbits a point this high above the ground it looks at (a unit's chest): its probe never starts in the ground. | |
Camera Interp Speed (CameraInterpSpeed) | float | 6.000000 | Camera | How quickly the camera glides to its target (focus, yaw, zoom). | |
Camera Max Distance (CameraMaxDistance) | float | 4200.000000 | Camera | ||
Camera Min Distance (CameraMinDistance) | float | 900.000000 | Camera | ||
Camera Min Height Above Terrain (CameraMinHeightAboveTerrain) | float | 150.000000 | Camera | D-113: the camera never goes below the terrain (landscapes, Camera Occlusion -> Ground Tags); at least this high (cm). | |
Camera Motion Blur (CameraMotionBlur) | float | 0.000000 | Camera | D-113: motion blur of the battle camera (0 = none: it stays sharp while it glides; 1 = the engine's). | |
Camera Pan Speed (CameraPanSpeed) | float | 1400.000000 | Camera | Pan speed (cm/s at the start distance; faster zoomed out). | |
Camera Pawn Class (CameraPawnClass) | TSoftClassPtr<APawn> | None | Camera | Tactical camera pawn (a subclass of ARSEFreeTacticsCameraPawn). Empty = the built-in one. | |
Camera Pitch (CameraPitch) | float | 54.000000 | Camera | Downward angle of the camera (degrees below the horizon). | |
Camera Rotate Step (CameraRotateStep) | float | 45.000000 | Camera | Degrees per rotate press (keys, shoulder buttons). | |
Camera Start Distance (CameraStartDistance) | float | 2300.000000 | Camera | ||
Camera Zoom Step (CameraZoomStep) | float | 180.000000 | Camera | Distance change per zoom step. | |
Ability Effect Scale (AbilityEffectScale) | float | 1.600000 | Effects | D-120: multiplies the size of ability effects in Free Tactics (look timelines, projectiles, impacts, cast and status effects of the battle feel). The live battle camera sits farther than the Tactics one, so the packs' effects, made for close-ups, need to be bigger to read. | |
Seamless Camera Hand Off (bSeamlessCameraHandOff) | bool | True | Entry | D-127: the battle starts on exactly the picture the player saw: the view is frozen while control passes from the explorer to the battle camera, and the battle camera takes over from that very view (location, angle, field of view), so nothing jumps (before, the explorer's camera swung behind the leader for the length of the blend). Off = the D-113 hand-over. | |
Camera Blend Seconds (CameraBlendSeconds) | float | 0.900000 | Entry | Seconds the camera takes to move from the explorer to the tactical view. | |
Decal Warm Up Delay (DecalWarmUpDelay) | float | 1.000000 | Entry | D-127: seconds after the map starts before the warm-up (the player's camera exists by then). | |
Decal Warm Up Seconds (DecalWarmUpSeconds) | float | 0.500000 | Entry | D-127: seconds the battle's ground decal materials (the entry ring, the surfaces, the movement overlay) are drawn once, invisibly small, soon after a map starts. A decal material's first draw in a session fell back to the engine's default decal material for a frame (a pale wash over the whole battle area at the first battle start). 0 = off. | |
Enemy Surprise Text (EnemySurpriseText) | FText | NSLOCTEXT("RSEFreeTacticsPresentation", "EnemySurprise", "Ambush!") | Entry | ||
Entry Slow Motion (EntrySlowMotion) | float | 0.250000 | Entry | Time runs this slow the moment a battle starts, then eases back to normal (a seamless "freeze"). 1 = no slow motion. | |
Entry Slow Motion Seconds (EntrySlowMotionSeconds) | float | 0.800000 | Entry | Real seconds the slow motion takes to ease back to normal. | |
Entry Sound (EntrySound) | TSoftObjectPtr<USoundBase> | None | Entry | Sound when a battle starts (optional). | |
Normal Opening Text (NormalOpeningText) | FText | Entry | Banner of each opening (empty = none): "Ambush!", "Surprise attack!". {Name} = the encounter's name. | ||
Player Surprise Text (PlayerSurpriseText) | FText | NSLOCTEXT("RSEFreeTacticsPresentation", "PlayerSurprise", "Surprise attack!") | Entry | ||
Unit Look Wait Seconds (UnitLookWaitSeconds) | float | 5.000000 | Entry | D-141 addendum: when the battle starts, the looks of its units that are still loading (stand-ins spawned for enemies without a world actor, a pawn whose look is not in yet) load ahead of everything else, and the first turn waits for them up to this many real seconds (under the entry), so no unit fights as a placeholder. A look that takes longer still shows the moment it is in. 0 = no wait (the looks still load first). | |
Corpse Mode (CorpseMode) | ERSEFreeCorpseMode | Fade | Exit | ||
Corpse Seconds (CorpseSeconds) | float | 12.000000 | Exit | Fade: seconds before fallen enemies disappear. | |
Escape Text (EscapeText) | FText | NSLOCTEXT("RSEFreeTacticsPresentation", "Escaped", "You got away.") | Exit | Banner after an escape (empty = none). | |
Result Banner Seconds (ResultBannerSeconds) | float | 3.000000 | Exit | Seconds the victory banner stays. | |
Results Mode (ResultsMode) | ERSEFreeResultsMode | Feed | Exit | How a victory shows (D-128: the reward feed by default; Project Settings -> Reward Feed). | |
Area Color (AreaColor) | FRSEUIColor | (Token="Negative",Alpha=0.450000,Lightness=-0.007488,Chroma=1.143559,Hue=21.617987,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay | Where an ability would hit (friendly abilities use Area Support Color). | |
Area Support Color (AreaSupportColor) | FRSEUIColor | (Token="Positive",Alpha=0.450000,Lightness=-0.005095,Chroma=1.046268,Hue=2.276912,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay | ||
Move Edge Color (MoveEdgeColor) | FRSEUIColor | (Token="Info",Alpha=0.850000,Lightness=0.031412,Chroma=1.025162,Hue=-12.566440,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay | Edge of the movement area. | |
Move Fill Color (MoveFillColor) | FRSEUIColor | (Token="Info",Alpha=0.180000,Lightness=-0.056104,Chroma=1.581283,Hue=-1.063226,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay | Filled and Cells styles: inside of the movement area. | |
Overlay Cell Size (OverlayCellSize) | float | 0.500000 | Ground Overlay | Cell size of the overlay (meters): a multiple of Free Tactics -> Snapshot Cell Size; smaller = smoother edges, more upload. | |
Overlay Edge Boost (OverlayEdgeBoost) | float | 2.500000 | Ground Overlay | Filled style: opacity multiplier of the range and area outlines (the movement edge has its own color). | |
Overlay Edge Width (OverlayEdgeWidth) | float | 0.120000 | Ground Overlay | Filled style: width of the outline inside each area (0 = no outline; the mask goes from 0.5 at the edge to 1 inside). | |
Overlay Glow (OverlayGlow) | float | 1.200000 | Ground Overlay | Emissive strength of the overlay (reads in shadow). | |
Overlay Height Tolerance (OverlayHeightTolerance) | float | 35.000000 | Ground Overlay | Ground more than this above or below a cell is not painted (walls, props). | |
Overlay Material (OverlayMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Battle/M_RSE_FreeOverlay.M_RSE_FreeOverlay | Ground Overlay | Deferred decal material of the ground overlay; it must match Overlay Style (see there). | |
Overlay Smoothing (OverlaySmoothing) | int32 | 2 | Ground Overlay | Subtle and Filled styles: how far the edges are softened (overlay cells; 0 = the cell outline, only straightened). | |
Overlay Sort Order (OverlaySortOrder) | int32 | 5 | Ground Overlay | ||
Overlay Style (OverlayStyle) | ERSEFreeOverlayStyle | Subtle | Ground Overlay | How the overlay looks. Subtle (D-113, default): a thin soft outline around the movement area, an almost invisible fill, lighter ability areas (Subtle Look). Filled: filled areas with a clear outline (the colors below). Both read a blurred mask (Overlay Material = M_RSE_FreeOverlay). Cells: solid squares of Overlay Cell Size (Overlay Material is the Tactics grid decal, M_RSE_GridDecal, D-088). | |
Range Color (RangeColor) | FRSEUIColor | (Token="Warning",Alpha=0.220000,Lightness=0.069987,Chroma=0.969670,Hue=21.024740,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay | The ability's range (where it can be aimed from here). | |
Subtle Look (SubtleLook) | FRSEFreeOverlaySubtleLook | (MoveOutlineColor=(Token="Info",Alpha=0.800000,Lightness=0.088866,Chroma=0.532645,Hue=-11.446269,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)),MoveFil... | Ground Overlay|Subtle | The Subtle style's colors, outline width and softness. | |
AIReach Cells Per Frame (AIReachCellsPerFrame) | int32 | 800 | Pacing | D-111: before an AI decision, the unit's movement circle is computed this many cells per frame (spread over a few frames instead of one ~15 ms frame on a 9 m circle; a Steam Deck is ~3.5x slower). 0 = all at once. | |
AIThink Delay (AIThinkDelay) | float | 0.450000 | Pacing | Pause before each AI decision, so the player can follow. | |
End Pause (EndPause) | float | 0.800000 | Pacing | Seconds of the pause after the last hit before the battle ends. | |
Event Pause (EventPause) | float | 0.300000 | Pacing | Pause after an event without a timeline (a turn lost, a unit joining). | |
Unit Walk Speed (UnitWalkSpeed) | float | 380.000000 | Pacing | Walking speed of units along their paths (cm/s). | |
Confirm Hazardous Moves (bConfirmHazardousMoves) | bool | True | Route Hazards | Ask the player before a walk that crosses (or ends in) a dangerous surface, or a jump that lands in one (Free Tactics Field -> Route Hazards decides when). The project's default; every player may turn it off in Options ("Confirm dangerous moves"). | |
Hazard Cancel Text (HazardCancelText) | FText | NSLOCTEXT("RSEFreeTacticsPresentation", "HazardNo", "Pick another path") | Route Hazards | ||
Hazard Continue Text (HazardContinueText) | FText | NSLOCTEXT("RSEFreeTacticsPresentation", "HazardYes", "Yes") | Route Hazards | ||
Hazard Prompt Title (HazardPromptTitle) | FText | NSLOCTEXT("RSEFreeTacticsPresentation", "HazardTitle", "Danger") | Route Hazards | The warning's title and its two answers. | |
Disabled Menu Row Opacity (DisabledMenuRowOpacity) | float | 0.600000 | UI | Opacity of a command menu row that cannot be used now (the action or bonus action is spent, not enough points), on top of the disabled text color and the reason in its cost column (D-106). | |
HUDWidget Class (HUDWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | UI | The Free Tactics battle HUD (turn order, commands, forecast). Empty = the built-in one. | |
Sneaking Text (SneakingText) | FText | NSLOCTEXT("RSEFreeTacticsPresentation", "Sneaking", "Sneaking") | UI | The explorer's sneak indicator (shown while sneaking). | |
Turn Order Count (TurnOrderCount) | int32 | 8 | UI | Units shown in the turn order bar. | |
Detection Alert Color (DetectionAlertColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.067218,Chroma=1.455528,Hue=8.830938,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | UI|Detection Meter | ||
Detection Back Color (DetectionBackColor) | FRSEUIColor | (Token="Black",Alpha=0.550000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | UI|Detection Meter | ||
Detection Meter Color (DetectionMeterColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.053951,Chroma=1.144979,Hue=19.771044,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | UI|Detection Meter | ||
Detection Meter Height (DetectionMeterHeight) | float | 60.000000 | UI|Detection Meter | Height of the meter above the enemy's head (cm). | |
Detection Meter Size (DetectionMeterSize) | FVector2D | (X=64.000000,Y=9.000000) | UI|Detection Meter | Detection meter above visible enemies (D-097): size on screen (pixels) and colors. |
RPG Saga Engine: Free Tactics Capture
Class URSEFreeTacticsCaptureSettings (module RSE), Project Settings, Project, RPG Saga Engine. How the world is read into a Free Tactics navigation snapshot (D-091).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Only Pawn Blocking Surfaces (bOnlyPawnBlockingSurfaces) | bool | True | Capture | Only surfaces that block pawns count (grass, ivy and other walk-through decoration are skipped). | |
Use Combat Roles (bUseCombatRoles) | bool | True | Capture | The capture follows combat roles (D-093, D-097): decoration and clutter are looked through, rough ground costs its role's multiplier, standable objects are ground, and blockers get their role's cover (full, half, none for obstacles). | |
Floor Tag (FloorTag) | FName | RSE.Floor | Capture | Actor or component tag of surfaces that are always floor, however narrow (D-110): stair steps, a plank bridge. The combat role Standable does the same through the asset. | |
Ground Min Surface Size (GroundMinSurfaceSize) | float | 400.000000 | Capture | A surface at least this wide (its bounds' shorter side) is ground: floors, landscape, platforms. Narrower ones are objects. | |
Ignore Tag (IgnoreTag) | FName | RSE.FreeTacticsIgnore | Capture | Actors or components with this tag are ignored (actor or component tag). | |
Max Floors (MaxFloors) | int32 | 4 | Capture | Most floors a cell may hold (D-110): the ground, upper floors, balconies, a bridge over a path, a roof. 1 = only the top floor of each cell is read (a plain heightfield). Separate floors need separate collision (one slab per actor or component): the capture looks under a surface by ignoring the object it hit. | |
Max Layers (MaxLayers) | int32 | 4 | Capture | Most surfaces read per floor of a cell (the floor plus objects stacked on it). | |
Min Opening Height (MinOpeningHeight) | float | 30.000000 | Capture | A gap at least this tall between two stacked objects is an opening (D-110): a window between a sill and a lintel, a door under its lintel. Sight passes through it; what floats above it (the lintel, a balcony) is the ceiling of the floor below. | |
Min Walkable Normal Z (MinWalkableNormalZ) | float | 0.700000 | Capture | Surfaces steeper than this (normal Z below it) are not walkable. | |
Required Headroom (RequiredHeadroom) | float | 180.000000 | Capture | Free space a unit needs above the ground (a table or a low beam makes the cell unwalkable). | |
Trace Channel (TraceChannel) | TEnumAsByte<ECollisionChannel> | ECC_Visibility | Capture | Channel of the vertical traces. | |
Trace Depth Below (TraceDepthBelow) | float | 1500.000000 | Capture | ||
Trace Height Above (TraceHeightAbove) | float | 1500.000000 | Capture | Traces start this far above the area's plane and end this far below it. | |
Window Tag (WindowTag) | FName | RSE.Window | Capture | Actor or component tag of windows (D-110): the object blocks movement but not sight (a glass pane, bars). A gap in a wall (a low wall under a lintel with room above the floor) is a window without any tag. |
RPG Saga Engine: Free Tactics Field
Class URSEFreeTacticsFieldSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Free Tactics Field (D-108): surfaces and their interactions, destructible objects, positional effects in meters, jumping, falling and the AI's use of them.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
AIExplosive Weight (AIExplosiveWeight) | float | 1.000000 | AI | Weight of shooting an explosive object: the blast's expected damage on enemies, minus on allies. | |
AISurface Combo Weight (AISurfaceComboWeight) | float | 1.000000 | AI | Weight of what an ability's surfaces and elements would do to units (combos: igniting oil under enemies). | |
AISurface Danger Weight (AISurfaceDangerWeight) | float | 1.000000 | AI | Weight of the damage harmful surfaces would do to the unit where it would stand (times its danger awareness). | |
Jumping (bJumping) | bool | True | Jumping | Units can jump (a movement option: up ledges, over gaps and low obstacles). | |
Jump Provokes Opportunity Attacks (bJumpProvokesOpportunityAttacks) | bool | False | Jumping | Jumping out of an enemy's reach provokes its opportunity attack (off: a jump disengages, as in many party tactics games). | |
Jump Arc Height (JumpArcHeight) | float | 1.000000 | Jumping | How high the arc rises above the higher end (meters): obstacles lower than the arc are jumped over. | |
Jump Base Distance (JumpBaseDistance) | float | 3.000000 | Jumping | Longest jump (meters) before the unit's Jump stat: reach = base + per point x Jump. | |
Jump Base Height (JumpBaseHeight) | float | 1.250000 | Jumping | Highest ledge (meters) a unit jumps up to, before its Jump stat: base + per point x Jump. | |
Jump Cost (JumpCost) | ERSEFreeJumpCost | Movement | Jumping | What a jump costs in the separate budgets model (the shared budget pays Action Points for the movement). | |
Jump Distance Per Jump Stat (JumpDistancePerJumpStat) | float | 0.500000 | Jumping | ||
Jump Height Per Jump Stat (JumpHeightPerJumpStat) | float | 0.250000 | Jumping | ||
Jump Min Distance (JumpMinDistance) | float | 1.000000 | Jumping | Shortest jump (meters): anything nearer is a walk. | |
Jump Movement Multiplier (JumpMovementMultiplier) | float | 1.500000 | Jumping | Movement a jump costs per meter of its length. | |
Destructible Objects (bDestructibleObjects) | bool | True | Objects | World objects whose combat role is Destructible (and objects placed by abilities) can be targeted and broken. | |
Target Objects (bTargetObjects) | bool | True | Objects | Abilities aimed at an explosive may target it directly (off: only area abilities and pushes break objects). | |
Min Explosion Radius (MinExplosionRadius) | float | 2.000000 | Objects | Blast radius (meters) of an exploding object whose data sets none: its Explosion Radius tiles x Meters Per Tile, at least this. | |
Spawned Object Height (SpawnedObjectHeight) | float | 1.000000 | Objects | ||
Spawned Object Radius (SpawnedObjectRadius) | float | 0.450000 | Objects | Footprint radius and height of an object placed by an ability (Spawn Object) when its data sets none. | |
Fall Damage (bFallDamage) | bool | True | Positional | Falls (pushed off a ledge, a jump down) hurt. | |
Fall Damage Curve (FallDamageCurve) | FRuntimeFloatCurve | (EditorCurveData=(Keys=((Time=2.000000),(Time=3.000000,Value=10.000000),(Time=6.000000,Value=35.000000),(Time=10.000000,Value=80.000000),(Time=15.000000,Value=1... | Positional | Fall damage: meters dropped (X) -> percent of the unit's max HP (Y). Drops below the first key's X do nothing. Default: harmless up to 2 m, 10% at 3 m, 35% at 6 m, 80% at 10 m, 100% at 15 m. | |
Push Max Climb (PushMaxClimb) | float | 0.350000 | Positional | A push stops at a rise higher than this (meters): it hits it like a wall. | |
Hazard Aware Routes (bHazardAwareRoutes) | bool | True | Route Hazards | Paths go around dangerous surfaces when the movement left allows it (the walk shown, the walk taken and the AI's routes): each meter inside a surface weighs its Route Avoid Cost on top of its movement cost. A route that still crosses one (not enough movement to go around, or no way around) is shown in Hazard Color and the player is asked first. Off = the shortest path, as before D-156. | |
Warn Destination in Hazard (bWarnDestinationInHazard) | bool | True | Route Hazards | The player is warned when the chosen destination itself lies in a dangerous surface (the walk ends there). | |
Warn Landing in Hazard (bWarnLandingInHazard) | bool | True | Route Hazards | The player is warned when a jump lands, or an ability carries the user (Leap, Dash, Teleport), into a dangerous surface. | |
Harmful Avoid Cost (HarmfulAvoidCost) | float | 8.000000 | Route Hazards | Route Avoid Cost of a surface that hurts (damage or a harmful status) and has none of its own (meters of detour per meter inside). | |
Slippery Avoid Cost (SlipperyAvoidCost) | float | 2.000000 | Route Hazards | Route Avoid Cost of a surface that only makes units slip (ice, oil) and has none of its own. | |
Enter Effects on Create (bEnterEffectsOnCreate) | bool | True | Surfaces | Units standing where a surface appears (or changes) get its enter effects at once (lightning electrifies water under them). | |
Surfaces (bSurfaces) | bool | True | Surfaces | Surfaces work in Free Tactics battles (Create Zone effects lay them; off = Create Zone uses its classic fallback). | |
Contact Margin (ContactMargin) | float | 0.150000 | Surfaces | A unit is in a surface when its center is inside, grown by this margin (meters). | |
Default Slip Chance (DefaultSlipChance) | float | 50.000000 | Surfaces | Slippery tile zones without their own chance (bSlippery): chance to slip (percent). | |
Default Slip Status (DefaultSlipStatus) | TSoftObjectPtr<URSEStatusData> | /RPGSagaEngine/Data/Statuses/DA_Status_Prone.DA_Status_Prone | Surfaces | Status of a unit that slips when the surface names none (prone). | |
Element Hit Radius (ElementHitRadius) | float | 0.750000 | Surfaces | Radius an element hit from a single-target ability reaches on the ground (it can ignite oil or electrify water there). | |
Height Tolerance (HeightTolerance) | float | 1.000000 | Surfaces | A surface covers the ground within this height of where it was laid (meters): fire on the road does not burn the wall top above it. | |
Interactions (Interactions) | TArray<FRSESurfaceInteraction> | (18 entries) | Surfaces | What happens when a surface meets a trigger: another surface, an element, the weather. The first matching row wins (a row for Zone.Fire also matches Zone.Fire.Big). The plugin ships fire + oil, lightning + water, fire + ice / water, cold + water, rain on fire. | |
Max Chain Reactions (MaxChainReactions) | int32 | 4 | Surfaces | Surfaces changed by a surface change react in turn (burning oil lights the next puddle) up to this many times. | |
Max Surfaces (MaxSurfaces) | int32 | 64 | Surfaces | Most surfaces at once (the oldest go first). | |
Point Surface Radius (PointSurfaceRadius) | float | 1.250000 | Surfaces | Radius of a surface laid by a single-target ability (or on the aimed point only, Use Ability Area off). | |
Slide Meters (SlideMeters) | float | 1.500000 | Surfaces | A unit pushed onto a slippery surface slides this much further (meters). |
RPG Saga Engine: Free Tactics Field (Presentation)
Class URSEFreeTacticsFieldPresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. How the Free Tactics field looks (D-108): surface decals and their light effects, breaking and exploding objects, the tactical clarity overlay (cover icons, the forecast from a destination, the line of fire, tooltips) and the camera cutaway.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Cutaway (bCutaway) | bool | True | Camera Cutaway | Roofs, upper floors and tree canopies that hide the active unit or the cursor are hidden while they do. | |
Cutaway Ceiling (CutawayCeiling) | float | 3000.000000 | Camera Cutaway | How far above the focus to look for overhead parts (cm). | |
Cutaway Min Height (CutawayMinHeight) | float | 200.000000 | Camera Cutaway | Only parts starting this high above the focus are cut (upper floors, roofs; not the walls around it). | |
Cutaway Probe Radius (CutawayProbeRadius) | float | 80.000000 | Camera Cutaway | Radius of the cutaway probes (cm). | |
Cutaway Tags (CutawayTags) | TArray<FName> | (1 entries) | Camera Cutaway | Actor or component tags that mark something the camera may cut away (roles with Cutaway set count too). | |
Cover Icons (bCoverIcons) | bool | False | Clarity | Cover icons (full / half shield) all along the movement area where the unit would be in cover. D-113: off by default; the shields show only at the hovered destination (Destination Preview), on the side of each threat. | |
Destination Preview (bDestinationPreview) | bool | True | Clarity | While a destination is hovered: each enemy's hit chance from there and the unit's cover against it. | |
Line Of Fire (bLineOfFire) | bool | True | Clarity | The line of fire while aiming (clear, covered, blocked), and from a hovered destination to the enemies it could hit. | |
Tooltips (bTooltips) | bool | True | Clarity | Hovering a surface or an object shows what it is and does. | |
Cover Icon Opacity (CoverIconOpacity) | float | 0.700000 | Clarity | Opacity of the cover icons along the movement area (D-113; the hovered destination's icon is always opaque). | |
Cover Icon Size (CoverIconSize) | float | 12.000000 | Clarity | Size of a cover icon along the movement area on screen (pixels; D-113: small and discreet). | |
Cover Icon Spacing (CoverIconSpacing) | float | 1.750000 | Clarity | Spacing of the cover icons (meters) and the most shown. | |
Destination Cover Icon Size (DestinationCoverIconSize) | float | 22.000000 | Clarity | Size of the cover icons at the hovered destination (pixels). | |
Destination Enemy Chips (DestinationEnemyChips) | ERSEFreeEnemyChips | Focused | Clarity | D-120: which enemies show their chip (hit chance, "Exposed to it") over their head while a destination is hovered. Focused: only the enemy under the cursor, the aimed one, or the one last hovered this turn (the shields at the destination and the lines of fire still show every threat). | |
Destination Shield Merge Angle (DestinationShieldMergeAngle) | float | 40.000000 | Clarity | ...and enemies within this angle of each other share one shield (the weaker cover wins). | |
Destination Shield Offset (DestinationShieldOffset) | float | 110.000000 | Clarity | D-113: at the hovered destination one shield stands on the side of each threat it has cover from (full / half), this far from the destination toward the enemy (cm)... | |
Exposed Text (ExposedText) | FText | NSLOCTEXT("RSEFreeTacticsField", "Exposed", "Exposed to it") | Clarity | ||
Flanked Color (FlankedColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.022824,Chroma=1.155754,Hue=7.402624,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Clarity | A spot some enemy sees with no cover in the way. | |
Font Size (FontSize) | int32 | 13 | Clarity | Font size of the clarity texts (pixels). | |
Full Cover Color (FullCoverColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=-0.025899,Chroma=1.312299,Hue=1.460616,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Clarity | ||
Full Cover Text (FullCoverText) | FText | NSLOCTEXT("RSEFreeTacticsField", "Hidden", "Hidden from it") | Clarity | ||
Half Cover Color (HalfCoverColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.053951,Chroma=1.144979,Hue=19.771044,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Clarity | ||
Half Cover Text (HalfCoverText) | FText | NSLOCTEXT("RSEFreeTacticsField", "HalfCover", "Half cover from it") | Clarity | ||
Hit Chance Format (HitChanceFormat) | FText | NSLOCTEXT("RSEFreeTacticsField", "HitChip", "{Hit}% hit, {Crit}% crit") | Clarity | Texts (localized): the chip over an enemy ("{Hit}% hit, {Crit}% crit"), the cover names, the jump label, a surface's rounds. | |
Line Blocked Color (LineBlockedColor) | FRSEUIColor | (Token="Negative",Alpha=0.900000,Lightness=-0.041562,Chroma=1.260038,Hue=0.818512,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Clarity | ||
Line Clear Color (LineClearColor) | FRSEUIColor | (Token="Positive",Alpha=0.900000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Clarity | ||
Line Cover Color (LineCoverColor) | FRSEUIColor | (Token="Warning",Alpha=0.900000,Lightness=0.053951,Chroma=1.144979,Hue=19.771044,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Clarity | ||
Line Thickness (LineThickness) | float | 2.500000 | Clarity | ||
Max Cover Icons (MaxCoverIcons) | int32 | 40 | Clarity | ||
Rounds Left Format (RoundsLeftFormat) | FText | NSLOCTEXT("RSEFreeTacticsField", "RoundsLeft", "{Name} ({Rounds} rounds left)") | Clarity | ||
Top Margin (TopMargin) | float | 90.000000 | Clarity | Screen band (pixels, from the top) kept free for the turn order bar: enemy chips and tooltips stay below it (an enemy off screen keeps its chip at the screen's edge). | |
Break Effect (BreakEffect) | TSoftObjectPtr<UNiagaraSystem> | /RPGSagaEngine/Visual/Field/NS_RSE_ObjectBreak.NS_RSE_ObjectBreak | Objects | Effect when a destructible object breaks (its field visual's End Effect wins). | |
Debris Mesh (DebrisMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Objects | Mesh of a debris piece (a small cube by default) and its size (cm). | |
Debris Pieces (DebrisPieces) | int32 | 8 | Objects | Debris pieces thrown by a breaking object (0 = none) and how long they last. | |
Debris Seconds (DebrisSeconds) | float | 1.600000 | Objects | ||
Debris Size (DebrisSize) | float | 14.000000 | Objects | ||
Explosion Effect (ExplosionEffect) | TSoftObjectPtr<UNiagaraSystem> | /RPGSagaEngine/Visual/Field/NS_RSE_Explosion.NS_RSE_Explosion | Objects | Effect when an object explodes (its field visual's End Effect wins). | |
Explosion Sound (ExplosionSound) | TSoftObjectPtr<USoundBase> | None | Objects | Sound of an explosion (optional). | |
Placed Object Mesh (PlacedObjectMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cylinder.Cylinder | Objects | Mesh of an object placed by an ability when its field visual names none (the engine cylinder by default). | |
Loop Effect Spacing (LoopEffectSpacing) | float | 2.000000 | Surfaces | Loop effects (the surface visual's Loop Effect: embers, sparks, bubbles) are spawned on a lattice of this spacing. | |
Max Loop Effects (MaxLoopEffects) | int32 | 24 | Surfaces | Most loop effect components at once (Steam Deck budget). 0 = none. | |
Surface Cell Size (SurfaceCellSize) | float | 0.250000 | Surfaces | Texel size of the surface texture (meters; a multiple of the snapshot cell). Smaller = rounder edges, more upload. | |
Surface Glow (SurfaceGlow) | float | 3.000000 | Surfaces | Emissive strength of glowing surfaces (fire, electricity). | |
Surface Material (SurfaceMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Battle/M_RSE_FreeSurfaces.M_RSE_FreeSurfaces | Surfaces | Deferred decal material of the surfaces (M_RSE_FreeSurfaces): one decal over the battle area reads a color texture. | |
Surface Opacity (SurfaceOpacity) | float | 1.000000 | Surfaces | Opacity of the surface decals (times each surface's Color alpha). | |
Surface Smoothing (SurfaceSmoothing) | int32 | 2 | Surfaces | How far the surface edges are softened (texels). | |
Surface Sort Order (SurfaceSortOrder) | int32 | 3 | Surfaces |
RPG Saga Engine: Free Tactics Targeting
Class URSEFreeTacticsTargetingSettings (module RSE), Project Settings, Project, RPG Saga Engine. D-146: single-target aiming, the ability previews of the battle menus and the dotted walk line in the live mode.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Style (Style) | TSoftObjectPtr<URSETargetingStyle> | /RPGSagaEngine/Data/Presentation/DA_RSE_TargetingStyle.DA_RSE_TargetingStyle | Look | The look (null = the built-in defaults of URSETargetingStyle). | |
Click Away Confirms (bClickAwayConfirms) | bool | False | Picking | A click away from every unit confirms the chosen target anyway (off: it says to click a target or press Confirm). | |
Focus Offscreen Targets (bFocusOffscreenTargets) | bool | True | Picking | The camera glides to a target chosen with Next / Previous only when it is off screen. | |
Unit Picking (bUnitPicking) | bool | True | Picking | Single-target abilities pick a unit (rings, Next / Previous target) instead of aiming at the ground under the cursor. | |
Cycle Order (CycleOrder) | ERSEFreeTargetCycleOrder | Distance | Picking | The order Next / Previous target (Tab, arrows, D-pad) walks the valid targets in. | |
Hostile Auto Pick (HostileAutoPick) | ERSEFreeHostileAutoPick | Nearest | Picking | The enemy an attack highlights first. | |
Pick Radius (PickRadius) | float | 110.000000 | Picking | The mouse picks the unit whose body is nearest the cursor on screen within this many pixels (at 1080 lines; scaled with the screen), not only the one under it. | |
Support Auto Pick (SupportAutoPick) | ERSEFreeSupportAutoPick | MostNeeding | Picking | The ally a support ability highlights first. | |
Legacy Line Of Fire (bLegacyLineOfFire) | bool | False | Previews | The straight line of fire from the unit to the cursor while aiming (before D-146; the arc and the rings replace it). | |
Menu Hover Preview (bMenuHoverPreview) | bool | True | Previews | Hovering or highlighting an ability in a battle menu shows its reach around the active unit and the targets in reach. | |
Show Enemy Watches (bShowEnemyWatches) | bool | True | Previews | The watch range of enemies on Overwatch shows while you choose where to walk. | |
Path Preview (PathPreview) | ERSEFreePathPreview | WhenNotBrowsing | Previews | When the dotted line of a walk shows. |
RPG Saga Engine: GAS Export
Class URSEGASExportSettings (module RSEGASEditor), Project Settings, Project, RPG Saga Engine. Defaults of the Export to GAS tool (G3, docs/product/gas-interop.md): where the generated Gameplay Effects and Abilities go, which maps they read, and how battle turns become seconds.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Ability Map (AbilityMap) | TSoftObjectPtr<URSEGASAbilityMap> | None | Mapping | ||
Attribute Map (AttributeMap) | TSoftObjectPtr<URSEGASAttributeMap> | None | Mapping | The attribute map the export reads when the run names none. Empty = the sample attribute set's rows. | |
Seconds Per Turn (SecondsPerTurn) | float | 3.000000 | Mapping | A battle turn in seconds: status durations and periods (GAS has no turns). | |
Status Map (StatusMap) | TSoftObjectPtr<URSEGASStatusMap> | None | Mapping | ||
Ability Folder (AbilityFolder) | FString | Abilities | Output | Sub-folders of the output folder. | |
Ability Prefix (AbilityPrefix) | FString | GA_ | Output | ||
Effect Folder (EffectFolder) | FString | Effects | Output | ||
Effect Prefix (EffectPrefix) | FString | GE_ | Output | ||
Output Folder (OutputFolder) | FDirectoryPath | (set per project) | Output | Folder of the generated assets: Abilities, Effects and Statuses sub-folders. A folder of the project. | |
Status Folder (StatusFolder) | FString | Statuses | Output | ||
Ability Tag Root (AbilityTagRoot) | FString | Ability.RSE | Tags | Gameplay tag root of the generated abilities' own tags (Ability.RSE.<Name>), when no Ability Map row gives them. | |
Cooldown Tag Root (CooldownTagRoot) | FString | Cooldown.RSE | Tags | Gameplay tag root of the generated cooldown effects' tags (Cooldown.RSE.<Name>). | |
Tag Source (TagSource) | FName | None | Tags | The Gameplay Tag list the missing tags are added to (empty = the project's default list). |
RPG Saga Engine: Game Flow
Class URSEGameFlowSettings (module RSE), Project Settings, Project, RPG Saga Engine. Front-end flow (D-026): which maps the main menu and a new game use, the menu's texts, input keys, layout and transitions.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Show Continue (bShowContinue) | bool | True | Flow | Offer Continue (load the most recent save) at the top of the menu when a save exists. | |
Show Title Screen (bShowTitleScreen) | bool | True | Flow | Show a "press any key" title screen before the menu. | |
Fade Color (FadeColor) | FRSEUIColor | (Token="Black",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Flow | ||
Fade in Duration (FadeInDuration) | float | 0.600000 | Flow | Fade from black when the main menu opens. 0 = no fade. | |
Fade Out Duration (FadeOutDuration) | float | 0.500000 | Flow | Fade to black before a map change or quitting. 0 = immediate. | |
Screen Keys Toggle (bScreenKeysToggle) | bool | True | Input | D-116: a screen opened by a key closes with the same key (the area map with M / View, the party menu and its journal with the menu key); Back (Esc / B) always closes too. Off = those keys only open. | |
Menu Back Keys (MenuBackKeys) | TArray<FKey> | (3 entries) | Input | Returns from the menu to the title screen. | |
Menu Confirm Keys (MenuConfirmKeys) | TArray<FKey> | (3 entries) | Input | ||
Menu Down Keys (MenuDownKeys) | TArray<FKey> | (4 entries) | Input | ||
Menu Left Keys (MenuLeftKeys) | TArray<FKey> | (4 entries) | Input | Changes the value of an option row (options screen, D-038). | |
Menu Next Tab Keys (MenuNextTabKeys) | TArray<FKey> | (3 entries) | Input | ||
Menu Prev Tab Keys (MenuPrevTabKeys) | TArray<FKey> | (3 entries) | Input | Previous / next tab of tabbed menu screens (options). | |
Menu Right Keys (MenuRightKeys) | TArray<FKey> | (4 entries) | Input | ||
Menu Up Keys (MenuUpKeys) | TArray<FKey> | (4 entries) | Input | --- Input (the main menu reads keys directly: it has no pawn and no mapping context) --- | |
Background Color (BackgroundColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.448875,Chroma=0.275618,Hue=10.644761,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Layout | Bottom of the full-screen background gradient. Lower the alpha to show the map's scene behind it. | |
Background Glow Colors (BackgroundGlowColors) | TArray<FRSEUIColor> | (2 entries) | Layout | Soft lights drifting slowly behind the title (none = a still background). | |
Background Glow Drift (BackgroundGlowDrift) | float | 140.000000 | Layout | How far the lights drift from their place. | |
Background Glow Size (BackgroundGlowSize) | float | 1100.000000 | Layout | Diameter of the drifting lights. | |
Background Top Color (BackgroundTopColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.286595,Chroma=0.658696,Hue=8.438069,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Layout | Top of the full-screen background gradient. | |
Menu Vertical Anchor (MenuVerticalAnchor) | float | 0.650000 | Layout | Normalized screen height of the menu's (and the "press any key" text's) center. | |
Menu Width (MenuWidth) | float | 380.000000 | Layout | ||
Title Font Size (TitleFontSize) | int32 | 0 | Layout | Title size; 0 = the theme's Display font size (UI Theme -> Fonts -> Display). | |
Title Vertical Anchor (TitleVerticalAnchor) | float | 0.300000 | Layout | Normalized screen height of the title's center. | |
Vignette Opacity (VignetteOpacity) | float | 0.850000 | Layout | Darkening toward the screen corners (0 = none). | |
Main Menu Map (MainMenuMap) | TSoftObjectPtr<UWorld> | (set per project) | Maps | Map with the main menu (game mode ARSEFrontEndGameMode). Also the project's Game Default Map. | |
New Game Map (NewGameMap) | TSoftObjectPtr<UWorld> | (set per project) | Maps | Map opened by New Game, after the party is reset. | |
Menu Extensions (MenuExtensions) | TArray<TSoftClassPtr<URSEMenuExtension> > | (0 entries) | Menus | Entries a project adds to the main menu and the in-game menu (D-142): each class is a URSEMenuExtension child (C++ or Blueprint). Modules add theirs from code (RSEOnline: Host Game, Join Game, Invite). | |
Main Menu Widget Class (MainMenuWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | Title screen and main menu (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEMainMenuViewModel (docs/product/custom-ui.md). | |
Continue Label (ContinueLabel) | FText | NSLOCTEXT("RSEGameFlowSettings", "Continue", "Continue") | Texts | ||
Game Title (GameTitle) | FText | NSLOCTEXT("RSEDemo", "DemoTitle", "RPG Saga Engine Demo") | Texts | The title on the main menu. Empty = the project's name. | |
Load Label (LoadLabel) | FText | NSLOCTEXT("RSEGameFlowSettings", "Load", "Load") | Texts | ||
Load Unavailable Detail (LoadUnavailableDetail) | FText | NSLOCTEXT("RSEGameFlowSettings", "LoadNoSaves", "No saved games") | Texts | Detail next to Load when there is no save to load. | |
Menu Hint Text (MenuHintText) | FText | Texts | Hint line under the menu; hidden when empty. | ||
New Game Label (NewGameLabel) | FText | NSLOCTEXT("RSEGameFlowSettings", "NewGame", "New Game") | Texts | ||
New Game Map Missing Text (NewGameMapMissingText) | FText | NSLOCTEXT("RSEGameFlowSettings", "NewGameMapMissing", "No new game map is set (Project Settings -> RPG Saga Engine -> Game Flow).") | Texts | Shown when New Game is chosen but NewGameMap is not set. | |
Options Label (OptionsLabel) | FText | NSLOCTEXT("RSEGameFlowSettings", "Options", "Options") | Texts | Opens the options screen (D-038). Empty = no Options entry. | |
Press Any Key Text (PressAnyKeyText) | FText | NSLOCTEXT("RSEGameFlowSettings", "PressAnyKey", "Press any key") | Texts | ||
Quit Label (QuitLabel) | FText | NSLOCTEXT("RSEGameFlowSettings", "Quit", "Quit") | Texts | ||
Subtitle (Subtitle) | FText | Texts | Line under the title; hidden when empty. | ||
Version Text (VersionText) | FText | Texts | Shown in the bottom-right corner; hidden when empty. |
RPG Saga Engine: Game Foundation
Class URSEFoundationSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Game Foundation and archetype tools (D-095).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Report Settings References (bReportSettingsReferences) | bool | True | Change Safety | Also report framework settings (Pacts, Bestiary, Progression Designer...) that name a tag the foundation drops. | |
Managed Tag Roots (ManagedTagRoots) | TArray<FString> | (7 entries) | Change Safety | Tag roots the foundation defines. Content tags under them that the foundation does not list are reported as broken references before applying (change safety). | |
Library Folders (LibraryFolders) | TArray<FString> | (2 entries) | Library | Folders searched for foundation presets and archetypes (the plugin's first). | |
Applied Foundation (AppliedFoundation) | TSoftObjectPtr<URSEGameFoundation> | None | Project | The foundation the project was last set up from (written by Apply Foundation To Project; shown by the Studio). | |
New Tag Source (NewTagSource) | FString | RSE_Foundation_Project.ini | Project | Tag file (Config/Tags/<name>) that receives tags a foundation needs and the project does not have yet. | |
Project Foundation Folder (ProjectFoundationFolder) | FString | (set per project) | Project | Folder in /Game where applying a foundation writes the project's attribute registry and command menu layout. | |
Starter Content Folder (StarterContentFolder) | FString | (set per project) | Project | Folder in /Game that receives a preset's starter content (one subfolder per preset, D-100). | |
Starter Enemy Intelligence (StarterEnemyIntelligence) | float | -1.000000 | Starter Balance | AI intelligence of the starter enemies; negative = as a new game resolves it (the encounter's adaptive start value). | |
Starter Grid Size (StarterGridSize) | int32 | 12 | Starter Balance | Side length of the generated Tactics grid. | |
Starter Player Intelligence (StarterPlayerIntelligence) | float | 0.500000 | Starter Balance | AI intelligence playing the starter party. | |
Starter Runs (StarterRuns) | int32 | 40 | Starter Balance | Battles per starter encounter (seeds 1..N). | |
Starter Win Rate Max (StarterWinRateMax) | float | 0.850000 | Starter Balance | ||
Starter Win Rate Min (StarterWinRateMin) | float | 0.600000 | Starter Balance | Target band of the starter party's win rate at each battle's party level. | |
Test Accuracy (TestAccuracy) | float | 95.000000 | Test Battle | Hit chance style attributes (named Accuracy in the registry) start here so hits land. | |
Test Action Points (TestActionPoints) | float | 6.000000 | Test Battle | Action Points and Jump of the test units (Tactics). | |
Test Grid Size (TestGridSize) | int32 | 8 | Test Battle | Side length of the generated Tactics grid. | |
Test Intelligence (TestIntelligence) | float | 0.600000 | Test Battle | AI intelligence of both sides. | |
Test Jump (TestJump) | float | 2.000000 | Test Battle | ||
Test Life Value (TestLifeValue) | float | 120.000000 | Test Battle | Base value of the life resource's maximum attribute (e.g. Max HP). | |
Test Resource Value (TestResourceValue) | float | 40.000000 | Test Battle | Base value of other resources' maximum attributes (Max MP, Max Energy...). | |
Test Runs (TestRuns) | int32 | 4 | Test Battle | Battles per mode (different seeds). | |
Test Skill Cost (TestSkillCost) | float | 6.000000 | Test Battle | ||
Test Skill Power (TestSkillPower) | float | 1.500000 | Test Battle | Power of the test skill (magical, the foundation's first element) and its cost in the first spendable resource. | |
Test Speed (TestSpeed) | float | 10.000000 | Test Battle | Speed of the test units (the side's units get +1 each, so turns do not tie). | |
Test Stat Value (TestStatValue) | float | 14.000000 | Test Battle | Base value of every other plain attribute (offense, defense, accuracy...). | |
Test Units Per Side (TestUnitsPerSide) | int32 | 3 | Test Battle | Units per side. |
RPG Saga Engine: Game Terms
Class URSEGameTermsSettings (module RSECore), Project Settings, Project, RPG Saga Engine. The game's vocabulary (D-095, Game Foundation step 1): what the game calls things ("Party", "Class", "Magic", "Gold") and the player-facing names of tags (elements, equipment kinds, item and ability categories).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Tag Names (TagNames) | TMap<FGameplayTag,FText> | (0 entries) | Terms | Player-facing names of tags (Element.Fire -> "Fire", Equip.Type.Weapon.Firearm -> "Firearm"). | |
Terms (Terms) | TMap<FName,FText> | (0 entries) | Terms | Words by id (Party, Class, Level, Experience, Abilities, Magic, Items, Equipment, Money...). |
RPG Saga Engine: Generated Art
Class URSEArtSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Where the generated art of read-only content is found (D-075).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Libraries (Libraries) | TArray<TSoftObjectPtr<URSEArtLibrary> > | (1 entries) | Generated Art | Art libraries read after an asset's own Portrait / Icon field, in order. The Portrait & Icon Studio adds its library here when it creates one. Empty = only the assets' own fields. |
RPG Saga Engine: Grid
Class URSEGridSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Global rules of the tactical grid.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Height Step Size (HeightStepSize) | float | 50.000000 | Dimensions | Height of one height step, in cm. Tile heights are stored as whole steps. Global only. | |
Tile Size (TileSize) | float | 100.000000 | Dimensions | Edge length of one tile, in cm. Global only (levels are built for it). | |
Cost Rules (CostRules) | FRSEGridCostRules | (ClimbCostPerStep=1,bLevitateIgnoresTerrainCost=True) | Movement | Height costs (climbing, dropping) and levitation rules, for every unit and terrain. | |
Default Terrain (DefaultTerrain) | FGameplayTag | (TagName="Terrain.Ground") | Terrain | Terrain assigned to tiles that have no explicit terrain (when grids are built). Global only. | |
Fallback Terrain Rules (FallbackTerrainRules) | FRSETerrainRules | (MoveCost=1) | Terrain | Rules for terrains missing from TerrainRules. | |
Terrain Rules (TerrainRules) | TMap<FGameplayTag,FRSETerrainRules> | (8 entries) | Terrain | Movement rules per terrain type. Terrains not listed use FallbackTerrainRules. |
RPG Saga Engine: Growth UI
Class URSEGrowthUISettings (module RSE), Project Settings, Project, RPG Saga Engine. The progression screens (D-144): the Growth page of the party menu (points or board), the teacher screen, the results lines and the New Game question.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Available Glow Scale (AvailableGlowScale) | float | 1.350000 | Board | Glow ring around nodes that can be unlocked now, in node sizes. | |
Available Node Kind Tint (AvailableNodeKindTint) | float | 0.600000 | Board | ||
Board Token Colors (BoardTokenColors) | FRSEGrowthBoardTokenColors | (ReferenceStyle="/RPGSagaEngine/UI/Styles/DA_UIStyle_Classic.DA_UIStyle_Classic",HueFollow=1.000000,ChromaFollow=1.000000,LightnessFollow=0.350000,MaxChromaRati... | Board | P65: how board style assets with Color Mode "Follow UI Style" (the default) follow the UI style: the token each color follows, the reference style their colors were made for (Classic), and how strongly they follow. | |
Show Board Title (bShowBoardTitle) | bool | True | Board | The board's name and the selected member's points drawn in the board's top corner. | |
Show Controls Hint (bShowControlsHint) | bool | True | Board | The pan / zoom controls (Board Controls Hint) drawn in the board's bottom corner. | |
Show Gate Labels (bShowGateLabels) | bool | False | Board | Labels of gates are shown only for the selected or hovered node (their details say what opens them). | |
Show Help Button (bShowHelpButton) | bool | True | Board | D-154: a small Help button in the member strip that shows the legend of node kinds over the board. | |
Show Hub Labels (bShowHubLabels) | bool | False | Board | Labels of crossings (hubs) are shown only for the selected or hovered node. | |
Show Legend (bShowLegend) | bool | False | Board | The legend of node kinds always drawn in the board's corner. D-154: off (each kind's purpose is in the node card; the strip's Help button shows the legend on demand). | |
Center Light Steps (CenterLightSteps) | int32 | 28 | Board | Rings of the soft light behind the board's center (more = smoother). | |
Circle Segments (CircleSegments) | int32 | 28 | Board | Segments of a round node (smoothness). | |
Current Glow Scale (CurrentGlowScale) | float | 2.200000 | Board | The glow around the character's current node, in node sizes. | |
Default Kind Icons (DefaultKindIcons) | TMap<ERSEGrowthNodeKind,TSoftObjectPtr<UTexture2D> > | (4 entries) | Board | Node icons per kind for boards whose style names none (the plugin's glyphs by default). Ability and passive nodes show their ability's icon first. | |
Edge Thickness (EdgeThickness) | float | 3.000000 | Board | ||
Fallback Look (FallbackLook) | int32 | 0 | Board | Which fallback look (index). | |
Fallback Looks (FallbackLooks) | TArray<FRSEGrowthBoardLook> | (3 entries) | Board | Built-in looks of boards without a style asset (Progression Systems -> Default Board Style empty too). Original designs: a night sky, roots and a circuit. | |
Fit Padding (FitPadding) | float | 0.700000 | Board | Room around the whole board when the view is fitted (board units). | |
Fit Readable Zoom (FitReadableZoom) | float | 0.360000 | Board | A board that fits the view only below this zoom opens at this zoom instead, centered on its open part (the nodes that are open or can be opened); the whole board is one press away (right stick click). 0 = always the whole board. | |
Follow Speed (FollowSpeed) | float | 10.000000 | Board | How fast the view glides to the cursor node (0 = jump). | |
Glow Steps (GlowSteps) | int32 | 5 | Board | Rings of a soft glow (more = smoother, slower). | |
Icon Scale (IconScale) | float | 0.580000 | Board | Icons are drawn at this share of the node size. | |
Label Min Zoom (LabelMinZoom) | float | 0.300000 | Board | Labels are drawn under nodes from this zoom on (the selected node's label always). | |
Locked Node Kind Tint (LockedNodeKindTint) | float | 0.300000 | Board | D-154: how much of its kind's color a closed node shows (0 = the look's Locked Node Color, 1 = the kind's color), so every node reads clearly; nodes that can be opened now use the second value. | |
Marker Scale (MarkerScale) | float | 0.500000 | Board | Marker size (the character's place), in node sizes. | |
Max Zoom (MaxZoom) | float | 1.600000 | Board | D-154: 1.6 by default, so nodes stay proportionate when zoomed in (Look Node Size x Pixels Per Board Unit x zoom). | |
Min Node Pixels (MinNodePixels) | float | 34.000000 | Board | Nodes are never drawn smaller than this on screen (pixels at 1080p), so a fitted large board stays readable. | |
Minor Label Font Size (MinorLabelFontSize) | int32 | 0 | Board | Font size of minor nodes' labels (0 = the theme's smallest size). | |
Minor Label Min Zoom (MinorLabelMinZoom) | float | 1.600000 | Board | Minor nodes (stat boosts) show their label from this zoom on (always when selected or hovered). | |
Min Zoom (MinZoom) | float | 0.050000 | Board | ||
Nebula Clouds (NebulaClouds) | TArray<FRSEGrowthNebulaCloud> | (3 entries) | Board | Soft clouds behind boards whose style names none (depth). | |
Nebula Steps (NebulaSteps) | int32 | 26 | Board | Rings of a nebula cloud (smoothness). | |
Overview Min Node Pixels (OverviewMinNodePixels) | float | 9.000000 | Board | The whole-board overview of a board too large to read whole (right click / R3) keeps true proportions, nodes never below this. | |
Pixels Per Board Unit (PixelsPerBoardUnit) | float | 120.000000 | Board | Screen pixels per board unit at zoom 1. | |
Selected Ring Thickness (SelectedRingThickness) | float | 4.000000 | Board | ||
Socket Darkness (SocketDarkness) | float | 0.620000 | Board | How dark the socket is (0 = the node's color, 1 = black). | |
Socket Scale (SocketScale) | float | 0.740000 | Board | The dark socket inside a node that holds its icon, as a share of the node size (0 = none). | |
Stick Dead Zone (StickDeadZone) | float | 0.250000 | Board | ||
Stick Pan Per Second (StickPanPerSecond) | float | 900.000000 | Board | Pan speed of the right stick (pixels per second). | |
Trigger Zoom Per Second (TriggerZoomPerSecond) | float | 1.600000 | Board | Zoom change per second with a gamepad trigger fully pressed (left out, right in). | |
Wheel Zoom Step (WheelZoomStep) | float | 0.120000 | Board | Zoom change per mouse wheel notch (multiplier minus one). | |
Zoom Smooth Speed (ZoomSmoothSpeed) | float | 12.000000 | Board | How fast the zoom glides to its target (wheel, triggers, fit); 0 = jump. | |
Card Fill Color (CardFillColor) | FRSEUIColor | (Token="Primary",Alpha=0.920000,Lightness=-0.327827,Chroma=0.363428,Hue=8.707818,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Board|Colors | D-162: more colors of the board page, so every one of them can be set (and follows the UI style). | |
Dim Text Color (DimTextColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=0.044332,Chroma=1.182665,Hue=3.650277,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Board|Colors | A disabled menu entry and the counter at zero. | |
Locked Label Color (LockedLabelColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=0.052537,Chroma=1.162014,Hue=3.667405,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Board|Colors | The labels of locked nodes. | |
Menu Pill Color (MenuPillColor) | FRSEUIColor | (Token="Primary",Alpha=0.920000,Lightness=-0.293923,Chroma=0.304596,Hue=9.952320,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Board|Colors | Fill of a node menu entry. | |
Negative Stat Color (NegativeStatColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=0.019198,Chroma=0.887452,Hue=-0.115458,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Board|Colors | A stat that goes down in the preview. | |
Unaffordable Color (UnaffordableColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.056368,Chroma=1.144359,Hue=1.275545,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Board|Colors | A cost you cannot pay, a requirement not met. | |
Node Menu Key Hint (bNodeMenuKeyHint) | bool | True | Board|Node Menu | D-154: the small key hint ([Confirm] Choose [Back] Cancel) under the node menu. | |
Show Node Card (bShowNodeCard) | bool | True | Board|Node Menu | The hover card next to the node under the mouse or the cursor (name, kind and purpose, cost, effect). | |
Neighbour Frame Share (NeighbourFrameShare) | float | 0.750000 | Board|Node Menu | D-152: when a node is selected or its menu opens, the view frames the node with its neighbours in the board's free part (beside the docked card or the details panel), zooming out down to Min Zoom if they would not fit this share of it. | |
Node Card Margin (NodeCardMargin) | float | 12.000000 | Board|Node Menu | D-152: the docked card's distance from the board's edges (pixels at 1080p). | |
Node Card Placement (NodeCardPlacement) | ERSEGrowthNodeCardPlacement | SidePanel | Board|Node Menu | D-152: the node card docked at the board's side (default: the middle stays free) or beside the node. | |
Node Card Width (NodeCardWidth) | float | 340.000000 | Board|Node Menu | Widest the hover card gets (pixels at 1080p). | |
Node Menu Dim (NodeMenuDim) | float | 0.120000 | Board|Node Menu | D-154: how much the board darkens behind an open node menu (0 = not at all). | |
Node Menu Font Share (NodeMenuFontShare) | float | 0.320000 | Board|Node Menu | D-154: the node menu is sized from its node: its font is this share of the node's drawn diameter (clamped to Node Menu Min / Max Font Size), so the menu stays proportional to the node at any zoom. | |
Node Menu Gap (NodeMenuGap) | float | 8.000000 | Board|Node Menu | The node menu (D-149): gap between the node's ring and the menu, pixels at 1080p. D-154: 8 (close to its node). | |
Node Menu Layout (NodeMenuLayout) | ERSEGrowthNodeMenuLayout | Column | Board|Node Menu | D-152: the node menu's layout (a compact column by default). | |
Node Menu Max Font Size (NodeMenuMaxFontSize) | float | 13.000000 | Board|Node Menu | ||
Node Menu Min Font Size (NodeMenuMinFontSize) | float | 10.000000 | Board|Node Menu | ||
Node Menu Padding (NodeMenuPadding) | FVector2D | (X=9.000000,Y=3.000000) | Board|Node Menu | D-154: room inside each menu entry around its text (pixels at 1080p, horizontal and vertical). | |
Node Menu Ring Scale (NodeMenuRingScale) | float | 1.300000 | Board|Node Menu | D-154: the ring around the node while its menu is open, in node radii. | |
Node Menu Spread (NodeMenuSpread) | float | 38.000000 | Board|Node Menu | Angle between the menu's entries around the node (degrees). | |
Points Count Seconds (PointsCountSeconds) | float | 0.600000 | Board|Points | Seconds the counter takes to count to a new value. | |
Points Font Scale (PointsFontScale) | float | 2.400000 | Board|Points | The points counter on the board (D-149): its number is this many times the theme's heading size. | |
Points Gain Color (PointsGainColor) | FRSEUIColor | (Token="Positive",Alpha=1.000000,Lightness=0.024962,Chroma=0.662686,Hue=-1.154955,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Board|Points | Flash colors of the counter when points are gained and spent. | |
Points Pulse Scale (PointsPulseScale) | float | 0.250000 | Board|Points | How much the counter grows at the pop (share of its size). | |
Points Pulse Seconds (PointsPulseSeconds) | float | 0.700000 | Board|Points | Seconds of the pop and flash when the points change. | |
Points Spend Color (PointsSpendColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.011733,Chroma=0.718531,Hue=-11.985731,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Board|Points | ||
Region Label Min Zoom (RegionLabelMinZoom) | float | 0.040000 | Board|Regions | Region names are written from this zoom on. | |
Region Padding (RegionPadding) | float | 0.900000 | Board|Regions | Room around a region's nodes inside its tint (board units). | |
Region Tint Strength (RegionTintStrength) | float | 0.150000 | Board|Regions | Themed regions: how strongly their tint shows behind their nodes (multiplies the region color's alpha; 0 = none). | |
Board Details Open by Default (bBoardDetailsOpenByDefault) | bool | False | Layout | The board page opens with its details panel shown (else the node menu's Details opens it). | |
Board Show All Stats (bBoardShowAllStats) | bool | True | Layout | The board page lists every stat now and after under the details (off: only the stats the selected node changes, in its Effect). | |
Board Details Width (BoardDetailsWidth) | float | 340.000000 | Layout | The board page: details narrower (the board takes the room; members move to a strip above it). | |
Details Backing Color (DetailsBackingColor) | FRSEUIColor | (Token="Primary",Alpha=0.960000,Lightness=-0.309960,Chroma=0.330729,Hue=9.426590,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Layout | Backing of the details panel (it floats over the board on the board page). | |
Details Width (DetailsWidth) | float | 420.000000 | Layout | ||
Member Column Width (MemberColumnWidth) | float | 280.000000 | Layout | --- Layout --- | |
Portrait Fallback Color (PortraitFallbackColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.038524,Chroma=0.484163,Hue=3.557762,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Layout | Background of a member portrait slot without art (the member's initial is written on it). | |
Strip Action Gap (StripActionGap) | float | 4.000000 | Layout | D-154: space between two strip actions (pixels at 1080p). | |
Strip Action Padding (StripActionPadding) | FMargin | (Left=10.000000,Top=3.000000,Right=10.000000,Bottom=3.000000) | Layout | ||
Strip Action Text Role (StripActionTextRole) | ERSETextRole | Caption | Layout | D-154: the member strip's action buttons (Undo, Auto, Reset points, Details, Help): small and discreet. Their text role and the room around their text (pixels at 1080p). | |
Strip Portrait Size (StripPortraitSize) | float | 76.000000 | Layout | Member strip (D-149): portrait size in pixels at 1080p (names and points under / on it; no level). | |
Teacher Height (TeacherHeight) | float | 640.000000 | Layout | ||
Teacher Width (TeacherWidth) | float | 1180.000000 | Layout | Width of the teacher window. | |
New Game Prompt Timeout (NewGamePromptTimeout) | float | 30.000000 | New Game | Seconds the New Game question waits for the game to be ready (party, no dialog) before giving up. | |
Result Learned Format (ResultLearnedFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ResultLearned", "{Name} learned {Ability}!") | Result Texts | {Name} {Ability} | |
Result Mastery Format (ResultMasteryFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ResultMastery", "{Name}: +{Amount} mastery") | Result Texts | {Name} {Amount} | |
Result Points Format (ResultPointsFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ResultPoints", "{Name}: +{Amount} {Currency}") | Result Texts | {Name} {Amount} {Currency} | |
Result Rank Format (ResultRankFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ResultRank", "{Name}: {Ability} grew stronger") | Result Texts | {Name} {Ability} | |
Screen Widget Class (ScreenWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | The Growth page of the party menu (a Widget Blueprint derived from RSE Screen Widget). Empty = the built-in screen. | |
Teacher Widget Class (TeacherWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | The teacher screen. Empty = the built-in screen. | |
Can Learn Text (CanLearnText) | FText | NSLOCTEXT("RSEGrowthUI", "CanLearn", "Can learn") | Teacher Texts | ||
Close Button (CloseButton) | FText | NSLOCTEXT("RSEGrowthUI", "Close", "Leave") | Teacher Texts | ||
Confirm Learn Format (ConfirmLearnFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ConfirmLearn", "Teach {Ability} to {Name} for {Price}?") | Teacher Texts | {Ability} {Name} {Price} | |
Guest Text (GuestText) | FText | NSLOCTEXT("RSEGrowthUI", "GuestFixed", "Guest: fixed build") | Teacher Texts | A guest (Character -> Guest) keeps the build it came with: shown instead of a refusal. | |
Known Text (KnownText) | FText | NSLOCTEXT("RSEGrowthUI", "Known", "Already known") | Teacher Texts | ||
Learn Button (LearnButton) | FText | NSLOCTEXT("RSEGrowthUI", "Learn", "Learn") | Teacher Texts | ||
Learned Format (LearnedFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Learned", "{Name} learned {Ability}!") | Teacher Texts | {Name} {Ability} | |
Price Item Format (PriceItemFormat) | FText | INVTEXT("{Amount}") | Teacher Texts | {Amount} | |
Price Items Format (PriceItemsFormat) | FText | NSLOCTEXT("RSEGrowthUI", "PriceItems", "{Count}x {Item}") | Teacher Texts | {Item} {Count} | |
Required Level Format (RequiredLevelFormat) | FText | NSLOCTEXT("RSEGrowthUI", "RequiredLevel", "Level {Level}") | Teacher Texts | {Level} | |
Respec Offer Text (RespecOfferText) | FText | NSLOCTEXT("RSEGrowthUI", "RespecOffer", "Reset a hero\'s points") | Teacher Texts | ||
Teacher Learner Header (TeacherLearnerHeader) | FText | NSLOCTEXT("RSEGrowthUI", "TeacherLearner", "Who learns") | Teacher Texts | ||
Teacher Offers Header (TeacherOffersHeader) | FText | NSLOCTEXT("RSEGrowthUI", "TeacherOffers", "Lessons") | Teacher Texts | --- Teacher texts --- | |
Already Open Text (AlreadyOpenText) | FText | NSLOCTEXT("RSEGrowthUI", "AlreadyOpen", "Already open.") | Texts | Said when an open node is chosen again. | |
Attributes Header (AttributesHeader) | FText | NSLOCTEXT("RSEGrowthUI", "AttributesHeader", "Attributes") | Texts | ||
Auto Button (AutoButton) | FText | NSLOCTEXT("RSEGrowthUI", "Auto", "Auto") | Texts | ||
Auto Done Format (AutoDoneFormat) | FText | NSLOCTEXT("RSEGrowthUI", "AutoDone", "{Name} spent the points ({Count} steps).") | Texts | ||
Available Text (AvailableText) | FText | NSLOCTEXT("RSEGrowthUI", "Available", "Available") | Texts | ||
Board Controls Hint (BoardControlsHint) | FText | NSLOCTEXT("RSEGrowthUI", "BoardControls", "Drag / right stick: pan Wheel / triggers: zoom Right click / R3: whole board") | Texts | The pan / zoom controls drawn on the board (Show Controls Hint). | |
Board Progress Format (BoardProgressFormat) | FText | NSLOCTEXT("RSEGrowthUI", "BoardProgress", "{Open} / {Total} open") | Texts | {Open} {Total}: how much of the board is open, under the points (Show Board Title). Empty = not shown. | |
Bought Format (BoughtFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Bought", "{Name} learned {Ability}!") | Texts | ||
Buy Button (BuyButton) | FText | NSLOCTEXT("RSEGrowthUI", "Buy", "Learn") | Texts | ||
Cap Format (CapFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Cap", "{Points}/{Cap}") | Texts | {Points} {Cap} | |
Catalog Header (CatalogHeader) | FText | NSLOCTEXT("RSEGrowthUI", "CatalogHeader", "Abilities to learn") | Texts | ||
Classic Note (ClassicNote) | FText | NSLOCTEXT("RSEGrowthUI", "ClassicNote", "Your heroes grow with their levels: stats rise and abilities are learned on their own.") | Texts | ||
Confirm Auto Format (ConfirmAutoFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ConfirmAuto", "Spend all of {Name}\'s points automatically?") | Texts | {Name} | |
Confirm Buy Format (ConfirmBuyFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ConfirmBuy", "Learn {Ability}? It costs {Cost} of your {Currency}.") | Texts | {Ability} {Cost} {Currency} | |
Confirm Raise Format (ConfirmRaiseFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ConfirmRaise", "Raise {Stat} by {Count}? It costs {Cost} of your {Currency}.") | Texts | {Count} {Stat} {Cost} {Currency} | |
Confirm Respec Format (ConfirmRespecFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ConfirmRespec", "Reset every point {Name} spent? {Price}") | Texts | {Name} {Price} | |
Confirm Respec Penalty Format (ConfirmRespecPenaltyFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ConfirmRespecPenalty", "Reset every point {Name} spent?\nYou get back {Back} of {Spent} {Currency}: {Lost} ({Percent}%) are lost for g... | Texts | {Name} {Back} {Spent} {Lost} {Percent} {Currency} {Price}: the reset question when it costs points (Respec Point Penalty). | |
Confirm Unlock Format (ConfirmUnlockFormat) | FText | NSLOCTEXT("RSEGrowthUI", "ConfirmUnlock", "{Verb} {Node}? It costs {Cost} of your {Currency}.") | Texts | {Verb} {Node} {Cost} {Currency} | |
Cost Format (CostFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Cost", "Cost {Cost}") | Texts | {Cost} {Currency} | |
Currency Names (CurrencyNames) | TMap<FGameplayTag,FText> | (3 entries) | Texts | Names of point currencies (Progression.Points.*); board points use the board's Points Term when it has one. | |
Default Board Term (DefaultBoardTerm) | FText | NSLOCTEXT("RSEGrowthUI", "BoardTerm", "Growth Board") | Texts | ||
Default Node Term (DefaultNodeTerm) | FText | NSLOCTEXT("RSEGrowthUI", "NodeTerm", "Node") | Texts | ||
Default Unlock Verb (DefaultUnlockVerb) | FText | NSLOCTEXT("RSEGrowthUI", "UnlockVerb", "Unlock") | Texts | ||
Delta Format (DeltaFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Delta", "{Current} > {After}") | Texts | {Current} {After} | |
Details Button (DetailsButton) | FText | NSLOCTEXT("RSEGrowthUI", "DetailsButton", "Details") | Texts | ||
Details Header (DetailsHeader) | FText | NSLOCTEXT("RSEGrowthUI", "DetailsHeader", "Details") | Texts | ||
Effect Header (EffectHeader) | FText | NSLOCTEXT("RSEGrowthUI", "EffectHeader", "Effect") | Texts | ||
Element Format (ElementFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Element", "Element: {Element}") | Texts | {Element} | |
Free Text (FreeText) | FText | NSLOCTEXT("RSEGrowthUI", "Free", "Free") | Texts | ||
Gate Level Format (GateLevelFormat) | FText | NSLOCTEXT("RSEGrowthUI", "GateLevel", "Opens at level {Level}") | Texts | {Level} | |
Help Button (HelpButton) | FText | NSLOCTEXT("RSEGrowthUI", "HelpButton", "Help") | Texts | D-154: the strip's Help button (shows the legend of node kinds). | |
Junction Purpose Format (JunctionPurposeFormat) | FText | NSLOCTEXT("RSEGrowthUI", "JunctionPurpose", "Free waypoint: opens {Count} paths, choose one.") | Texts | {Count}: a junction's purpose with the number of paths it opens. | |
Legend Title (LegendTitle) | FText | NSLOCTEXT("RSEGrowthUI", "LegendTitle", "Node kinds") | Texts | D-154: the title of the legend Help shows. | |
Level Format (LevelFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Level", "Level {Level}") | Texts | {Level} | |
Locked Text (LockedText) | FText | NSLOCTEXT("RSEGrowthUI", "Locked", "Locked") | Texts | ||
Mastered Format (MasteredFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Mastered", "{Ability}: learned") | Texts | {Ability} | |
Mastery Format (MasteryFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Mastery", "Teaches {Ability}: {Points}/{Need}") | Texts | {Ability} {Points} {Need} | |
Mastery Header (MasteryHeader) | FText | NSLOCTEXT("RSEGrowthUI", "MasteryHeader", "Mastery") | Texts | ||
No Button (NoButton) | FText | NSLOCTEXT("RSEGrowthUI", "No", "No") | Texts | ||
No Cap Format (NoCapFormat) | FText | INVTEXT("{Points}") | Texts | {Points} | |
Node Kind Names (NodeKindNames) | TMap<ERSEGrowthNodeKind,FText> | (6 entries) | Texts | ||
Node Kind Purposes (NodeKindPurposes) | TMap<ERSEGrowthNodeKind,FText> | (6 entries) | Texts | What each node kind is for, one line (legend and hover card). D-149. | |
Node Menu Cancel (NodeMenuCancel) | FText | NSLOCTEXT("RSEGrowthUI", "MenuCancel", "Cancel") | Texts | ||
Node Menu Choose (NodeMenuChoose) | FText | NSLOCTEXT("RSEGrowthUI", "MenuChoose", "Choose") | Texts | The key hint under the node menu: [Confirm] this. | |
Node Menu Details (NodeMenuDetails) | FText | NSLOCTEXT("RSEGrowthUI", "MenuDetails", "Details") | Texts | ||
Node Menu Unlock Format (NodeMenuUnlockFormat) | FText | NSLOCTEXT("RSEGrowthUI", "MenuUnlock", "{Verb} {Cost} {Currency}") | Texts | {Verb} {Cost} {Currency}: the Unlock entry of the node menu. | |
No Plan Text (NoPlanText) | FText | NSLOCTEXT("RSEGrowthUI", "NoPlan", "This character grows with its levels only.") | Texts | ||
No Requirements Text (NoRequirementsText) | FText | NSLOCTEXT("RSEGrowthUI", "NoRequirements", "Next to an open node.") | Texts | ||
No Respec Text (NoRespecText) | FText | NSLOCTEXT("RSEGrowthUI", "NoRespec", "Points cannot be reset here.") | Texts | ||
Nothing to Undo Text (NothingToUndoText) | FText | NSLOCTEXT("RSEGrowthUI", "NothingToUndo", "Nothing to take back.") | Texts | ||
Open Text (OpenText) | FText | NSLOCTEXT("RSEGrowthUI", "Open", "Open") | Texts | ||
Owned Text (OwnedText) | FText | NSLOCTEXT("RSEGrowthUI", "Owned", "Known") | Texts | ||
Page Label (PageLabel) | FText | NSLOCTEXT("RSEGrowthUI", "PageLabel", "Growth") | Texts | --- Texts --- | |
Passive Text (PassiveText) | FText | NSLOCTEXT("RSEGrowthUI", "PassiveText", "Passive: always active") | Texts | ||
Points Cost Format (PointsCostFormat) | FText | INVTEXT("{Cost} {Currency}") | Texts | {Cost} {Currency} | |
Points Header (PointsHeader) | FText | NSLOCTEXT("RSEGrowthUI", "PointsHeader", "Points") | Texts | ||
Prerequisites Format (PrerequisitesFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Prereq", "Needs {List}") | Texts | {List} | |
Preview Header (PreviewHeader) | FText | NSLOCTEXT("RSEGrowthUI", "PreviewHeader", "After") | Texts | Header of the stat preview (current -> after). | |
Raise Button (RaiseButton) | FText | NSLOCTEXT("RSEGrowthUI", "Raise", "Raise") | Texts | ||
Raised Format (RaisedFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Raised", "{Name}: {Stat} raised.") | Texts | ||
Range Format (RangeFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Range", "Range: {Min}-{Max}") | Texts | {Min} {Max} (Tactics range of an ability). | |
Range Single Format (RangeSingleFormat) | FText | NSLOCTEXT("RSEGrowthUI", "RangeSingle", "Range: {Range}") | Texts | {Range} when the minimum and maximum are the same. | |
Rank Format (RankFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Rank", "{Ability}: rank {Rank} ({Uses} uses to the next)") | Texts | {Ability} {Rank} {Uses} | |
Ranks Header (RanksHeader) | FText | NSLOCTEXT("RSEGrowthUI", "RanksHeader", "Ability ranks") | Texts | ||
Requirements Header (RequirementsHeader) | FText | NSLOCTEXT("RSEGrowthUI", "RequirementsHeader", "Requirements") | Texts | ||
Respec Button (RespecButton) | FText | NSLOCTEXT("RSEGrowthUI", "Respec", "Reset points") | Texts | ||
Respec Done Format (RespecDoneFormat) | FText | NSLOCTEXT("RSEGrowthUI", "RespecDone", "{Name}\'s points are back.") | Texts | ||
Respec Final Text (RespecFinalText) | FText | NSLOCTEXT("RSEGrowthUI", "RespecFinal", "A reset cannot be undone.") | Texts | Under the reset question: the free undo does not cover a reset. | |
Stats Header (StatsHeader) | FText | NSLOCTEXT("RSEGrowthUI", "StatsHeader", "Stats") | Texts | ||
Target Format (TargetFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Target", "Target: {Target}") | Texts | {Target} | |
Target Names (TargetNames) | TMap<ERSETargetFilter,FText> | (5 entries) | Texts | ||
Top Rank Format (TopRankFormat) | FText | NSLOCTEXT("RSEGrowthUI", "TopRank", "{Ability}: rank {Rank} (top)") | Texts | {Ability} {Rank} | |
Undo Button (UndoButton) | FText | NSLOCTEXT("RSEGrowthUI", "Undo", "Undo") | Texts | ||
Undo Count Format (UndoCountFormat) | FText | NSLOCTEXT("RSEGrowthUI", "UndoCount", "Undo ({Count})") | Texts | {Count} | |
Undo Hint Text (UndoHintText) | FText | NSLOCTEXT("RSEGrowthUI", "UndoHint", "Undo is free while this page stays open.") | Texts | Under the points counter: Undo is free while the page is open. | |
Undone Format (UndoneFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Undone", "Step taken back: {Count} points returned.") | Texts | {Count}: points given back by an undo. | |
Unlocked Format (UnlockedFormat) | FText | NSLOCTEXT("RSEGrowthUI", "Unlocked", "{Name}: {Node} unlocked.") | Texts | ||
Use Cost Format (UseCostFormat) | FText | NSLOCTEXT("RSEGrowthUI", "UseCost", "Uses {Cost}") | Texts | {Cost} | |
Waiting Text (WaitingText) | FText | NSLOCTEXT("RSEGrowthUI", "Waiting", "Waiting for the host...") | Texts | ||
Yes Button (YesButton) | FText | NSLOCTEXT("RSEGrowthUI", "Yes", "Yes") | Texts | ||
You Are Here Text (YouAreHereText) | FText | NSLOCTEXT("RSEGrowthUI", "YouAreHere", "You are here") | Texts |
RPG Saga Engine: Input
Class URSEInputSettings (module RSE), Project Settings, Project, RPG Saga Engine. Input assets used by game code, so no controller hardcodes asset paths.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Back Action Text (BackActionText) | FText | NSLOCTEXT("RSEInput", "ActionBarBack", "Back") | Action Bar | ||
Confirm Action Text (ConfirmActionText) | FText | NSLOCTEXT("RSEInput", "ActionBarConfirm", "Select") | Action Bar | Names of the main screen actions a CommonUI action bar shows (the companion plugin binds them when a screen is on a CommonUI layer): Confirm and Back on every screen, the two tab actions on screens that switch tabs or pages. | |
Next Tab Action Text (NextTabActionText) | FText | NSLOCTEXT("RSEInput", "ActionBarNextTab", "Next tab") | Action Bar | ||
Previous Tab Action Text (PreviousTabActionText) | FText | NSLOCTEXT("RSEInput", "ActionBarPreviousTab", "Previous tab") | Action Bar | ||
Block Action (BlockAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_Block.IA_Block | Battle | Blocks an enemy attack during its block prompt (D-066), in both battle modes (Action Commands -> Defense Input = Block). A key and button of its own: Select / Confirm stays with the command menu while enemies act. Unset = block prompts take Select, as before. | |
ATBTime Mode Action (ATBTimeModeAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_DangerZone.IA_DangerZone | Classic Battle | Classic battles: switches Wait / Active (D-065). It may be the same action as another context's (e.g. the danger zone's): it only acts during classic battles, where the others do nothing. | |
Analog Threshold (AnalogThreshold) | float | 0.350000 | Devices | Stick / trigger deflection that switches the prompts to the gamepad. | |
Simulate Steam Deck (bSimulateSteamDeck) | bool | False | Devices | Treat the game as running on a Steam Deck (testing the Deck start and labels on PC). Detected otherwise from the SteamDeck=1 environment variable or -SteamDeck. | |
Start with Gamepad (bStartWithGamepad) | bool | False | Devices | Device assumed before any input on PC (a controller-first build may start on the gamepad). The Steam Deck always starts on the gamepad. | |
Gamepad Labels (GamepadLabels) | ERSEGamepadLabelStyle | Auto | Devices | Gamepad button labels (the player can override it in Options). Auto: Steam Deck labels on a Deck, Xbox labels elsewhere. | |
Key Prompt Icon Size (KeyPromptIconSize) | float | 26.000000 | Devices | D-176: size (Slate units) of a key prompt icon shown instead of a text key cap. | |
Key Prompt Provider (KeyPromptProvider) | TSoftClassPtr<UObject> | None | Devices | D-176: where key prompts get their labels and icons (a class implementing RSE Key Prompt Provider, C++ or Blueprint). Empty: the UI theme's labels and no icons. A provider set at runtime (the Common UI companion) wins over this one. | |
Mouse Move Threshold (MouseMoveThreshold) | float | 4.000000 | Devices | Mouse movement (pixels in one event) that switches the prompts to keyboard / mouse. | |
Prompt Device (PromptDevice) | ERSEForcedInputDevice | Auto | Devices | Device of the key prompts. Auto: keyboard / mouse on PC until a gamepad is used (and back on keyboard / mouse input); gamepad on a Steam Deck and on consoles. The other values force one device (testing; RSE.Input.ForceDevice overrides this at runtime). | |
Menu Stick Navigation (bMenuStickNavigation) | bool | True | Menu Stick | While a menu has focus (party menu, battle command menus, options, save, card album, dialog choices...), the left stick moves the menu cursor like the D-pad, and it no longer pans the camera or moves the character. | |
Menu Stick Scroll (bMenuStickScroll) | bool | True | Menu Stick | D-176 C2: the right stick scrolls the read-only panels of menus (item and quest descriptions, the bestiary, the shop's details) that a cursor cannot reach, so a gamepad can read a long text. | |
Menu Scroll Speed (MenuScrollSpeed) | float | 700.000000 | Menu Stick | Scroll speed of the right stick at full deflection, in pixels per second. | |
Menu Stick Deadzone (MenuStickDeadzone) | float | 0.500000 | Menu Stick | Stick deflection (0..1) that counts as a direction in menus. | |
Menu Stick Repeat Delay (MenuStickRepeatDelay) | float | 0.400000 | Menu Stick | Seconds a direction is held before the cursor repeats. | |
Menu Stick Repeat Interval (MenuStickRepeatInterval) | float | 0.120000 | Menu Stick | Seconds between repeats while the direction stays held. | |
Map Action (MapAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_Map.IA_Map | Menus | Opens / closes the area map (D-089, outside battles; M and the gamepad's View button by default). D-148: when it is listed in UI -> Party Menu Page Actions it opens the menu's Map tab instead (the default). | |
Menu Mapping Context (MenuMappingContext) | TSoftObjectPtr<UInputMappingContext> | /RPGSagaEngine/Input/IMC_Menus.IMC_Menus | Menus | Mapping context for menu input (party menu), active alongside the tactics context. | |
Menu Mapping Priority (MenuMappingPriority) | int32 | 1 | Menus | ||
Minimap Zoom Action (MinimapZoomAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_MinimapZoom.IA_MinimapZoom | Menus | Cycles the minimap's zoom levels (D-089; N by default). | |
Party Menu Action (PartyMenuAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_PartyMenu.IA_PartyMenu | Menus | Opens / closes the party menu (outside battles). | |
Party Menu Open Action (PartyMenuOpenAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_MenuOpen.IA_MenuOpen | Menus | D-148: opens the party menu on its start page but never closes it (Esc by default): Back keeps going back inside the menu. Unset = only the Party Menu Action opens it. | |
Cancel Action (CancelAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_Cancel.IA_Cancel | Tactics | Cancel the current selection. | |
Select Action (SelectAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_Select.IA_Select | Tactics | Confirm / select the unit or tile under the cursor. | |
Tactics Mapping Context (TacticsMappingContext) | TSoftObjectPtr<UInputMappingContext> | /RPGSagaEngine/Input/IMC_Tactics.IMC_Tactics | Tactics | Mapping context active during tactical play. | |
Tactics Mapping Priority (TacticsMappingPriority) | int32 | 0 | Tactics | ||
Ability Cycle Action (AbilityCycleAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_AbilityCycle.IA_AbilityCycle | Tactics|Battle | Cycles through the active unit's abilities (enters targeting). | |
Danger Zone Action (DangerZoneAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_DangerZone.IA_DangerZone | Tactics|Battle | Toggles the danger zone overlay: tiles enemies can hit next turn (D-033). | |
End Turn Action (EndTurnAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_EndTurn.IA_EndTurn | Tactics|Battle | Ends the turn: first press picks the facing, confirm with Select. | |
Grid Cursor Action (GridCursorAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_GridCursor.IA_GridCursor | Tactics|Battle | Axis2D: moves the tile cursor one tile per press, relative to the camera (gamepad D-pad, arrow keys). | |
Camera Pan Action (CameraPanAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_CameraPan.IA_CameraPan | Tactics|Camera | Axis2D: X = right, Y = forward, relative to the camera. | |
Camera Rotate Action (CameraRotateAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_CameraRotate.IA_CameraRotate | Tactics|Camera | Axis1D: sign gives the rotation direction; one step per press. | |
Camera Zoom Action (CameraZoomAction) | TSoftObjectPtr<UInputAction> | /RPGSagaEngine/Input/IA_CameraZoom.IA_CameraZoom | Tactics|Camera | Axis1D: positive zooms in. |
RPG Saga Engine: Interactables
Class URSEInteractablesSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Interaction library settings (D-150): Project Settings -> RPG Saga Engine -> Interactables.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Default Danger (DefaultDanger) | float | 1.000000 | Danger | The danger of a place with no progression zone and no override (an enemy level). | |
Fair Margin (FairMargin) | int32 | -2 | Danger | ||
Rating Names (RatingNames) | TArray<FText> | (4 entries) | Danger | The rating names (Safe, Fair, Risky, Deadly). | |
Risky Margin (RiskyMargin) | int32 | -5 | Danger | ||
Safe Margin (SafeMargin) | int32 | 3 | Danger | Danger ratings: the party's level minus the recommended level at or above which a place counts as Safe / Fair / Risky (else Deadly). | |
Warning Format (WarningFormat) | FText | NSLOCTEXT("RSEInteractables", "WarningFormat", "Danger ahead: {Place}. Recommended level {Level} ({Rating} for your party).") | Danger | The danger warning ({Place}, {Level}, {Rating}). | |
Populate Destructible Kinds (PopulateDestructibleKinds) | TArray<TSoftObjectPtr<URSEInteractableData> > | (3 entries) | Populate | D-157: the kinds the Populate Destructibles tool places by default (barrels, crates, pots). | |
Populate Kinds (PopulateKinds) | TArray<TSoftObjectPtr<URSEInteractableData> > | (13 entries) | Populate | The kinds the Populate Interactions tool offers by default (their Placement decides where). | |
Break Prompt (BreakPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptBreak", "Break") | Prompts | D-157: destructibles. | |
Clear Prompt (ClearPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptClear", "Clear the way") | Prompts | ||
Cross Prompt (CrossPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptCross", "Cross") | Prompts | ||
Examine Prompt (ExaminePrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptExamine", "Examine") | Prompts | ||
Extinguish Prompt (ExtinguishPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptExtinguish", "Put out") | Prompts | ||
Gather Prompt (GatherPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptGather", "Gather") | Prompts | ||
Light Prompt (LightPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptLight", "Light") | Prompts | ||
Look Prompt (LookPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptLook", "Look around") | Prompts | ||
Open Prompt (OpenPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptOpen", "Open") | Prompts | The default verbs of the kinds. | |
Pray Prompt (PrayPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptPray", "Pray") | Prompts | ||
Push Prompt (PushPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptPush", "Push") | Prompts | ||
Read Prompt (ReadPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptRead", "Read") | Prompts | ||
Rest Prompt (RestPrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptRest", "Rest") | Prompts | ||
Save Prompt (SavePrompt) | FText | NSLOCTEXT("RSEInteractables", "PromptSave", "Rest and save") | Prompts | ||
Compass Points (CompassPoints) | TArray<FText> | (8 entries) | Signposts | The eight compass points from north, clockwise (N, NE, E...): signposts. World north = +X unless North Yaw says otherwise. | |
North Yaw (NorthYaw) | float | 0.000000 | Signposts | The world yaw that counts as north (degrees; 0 = +X). | |
Place Revealed Format (PlaceRevealedFormat) | FText | NSLOCTEXT("RSEInteractables", "PlaceRevealed", "{Place} was added to the map.") | Signposts | Said when a place is added to the map ({Place}). | |
Signpost Line Format (SignpostLineFormat) | FText | NSLOCTEXT("RSEInteractables", "SignpostLine", "{Direction}: {Label}{Note}") | Signposts | A signpost line ({Direction}, {Label}, {Note}). | |
Signpost Note Format (SignpostNoteFormat) | FText | NSLOCTEXT("RSEInteractables", "SignpostNote", " ({Note})") | Signposts | ||
Blessed Format (BlessedFormat) | FText | NSLOCTEXT("RSEInteractables", "Blessed", "The party is blessed: {Status}.") | Texts | A shrine blessed ({Status}); not ready yet. | |
Done by Format (DoneByFormat) | FText | NSLOCTEXT("RSEInteractables", "DoneBy", "{Member} did it.") | Texts | Said by an action done by a member ({Member}). | |
Empty Text (EmptyText) | FText | NSLOCTEXT("RSEInteractables", "Empty", "It\'s empty.") | Texts | ||
Extinguished Text (ExtinguishedText) | FText | NSLOCTEXT("RSEInteractables", "Extinguished", "Put out.") | Texts | ||
Found Item Format (FoundItemFormat) | FText | NSLOCTEXT("RSEInteractables", "FoundItem", "Found {Item} x{Count}.") | Texts | Found lines ({Item}, {Count}; {Money}). | |
Found Money Format (FoundMoneyFormat) | FText | NSLOCTEXT("RSEInteractables", "FoundMoney", "Found {Money}.") | Texts | ||
Hurt Format (HurtFormat) | FText | NSLOCTEXT("RSEInteractables", "Hurt", "{Member} takes {Damage} damage.") | Texts | D-157: a hazard hurt a member ({Member}, {Damage}). | |
Item Used Format (ItemUsedFormat) | FText | NSLOCTEXT("RSEInteractables", "ItemUsed", "Used {Item}.") | Texts | A key or offering used ({Item}). | |
Lit Text (LitText) | FText | NSLOCTEXT("RSEInteractables", "Lit", "Lit.") | Texts | ||
Nothing to Gather Text (NothingToGatherText) | FText | NSLOCTEXT("RSEInteractables", "NothingToGather", "Nothing left to gather. It will grow back.") | Texts | ||
Rested Text (RestedText) | FText | NSLOCTEXT("RSEInteractables", "Rested", "The party rested by the fire.") | Texts | ||
Shrine Quiet Text (ShrineQuietText) | FText | NSLOCTEXT("RSEInteractables", "ShrineQuiet", "The shrine is quiet. Come back later.") | Texts | ||
Status Given Format (StatusGivenFormat) | FText | NSLOCTEXT("RSEInteractables", "StatusGiven", "{Member}: {Status}.") | Texts | D-157: a hazard gave a member a status ({Member}, {Status}). |
RPG Saga Engine: Interaction
Class URSEInteractionSettings (module RSE), Project Settings, Project, RPG Saga Engine. Interactables and NPCs in exploration (Project Settings -> RPG Saga Engine -> Interaction): focus rules, the on-screen prompt, NPC placeholders, facing and barks.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Angle Weight (AngleWeight) | float | 2.000000 | Focus | Focus score = distance to the bounds / range + AngleWeight * angle / 180 - Priority. Lowest wins. Higher values favor what the player faces over what is nearest. | |
Bodies Use Default Range (bBodiesUseDefaultRange) | bool | False | Focus | Objects with a body (meshes, blocking shapes) are also in range within DefaultRange of their origin (the rule before the 2026-09-27 playtest; it lets small objects be used from far away). Off: only CloseReach from the body, or the actor's own Interaction Radius, counts. | |
Center Distance Weight (CenterDistanceWeight) | float | 0.150000 | Focus | Weight of the distance from the player to the object's center, added to the score (tie-break between neighbors that are both within reach, e.g. two things on one table; the facing weighs more). | |
Close Reach (CloseReach) | float | 55.000000 | Focus | Reach from the object's body (its meshes and blocking shapes): the player's capsule within this distance of the body is in range, however big the object or far its origin. The interaction volume grows to cover it. Actors can set their own (Reach Override). | |
Default Range (DefaultRange) | float | 120.000000 | Focus | Range around the origin of interactables without a body (trigger areas, optional scene zones) that do not set their own Interaction Radius: the player's capsule within this distance of the origin is in range. Objects with a body use CloseReach from their body instead (unless bBodiesUseDefaultRange). | |
Focus Check Interval (FocusCheckInterval) | float | 0.100000 | Focus | How often the focused interactable is re-evaluated while the player stands in at least one range. | |
Focus Keep Slack (FocusKeepSlack) | float | 25.000000 | Focus | The focused object stays in range this much farther than its range (no flicker at the edge). | |
Focus Switch Margin (FocusSwitchMargin) | float | 0.150000 | Focus | Another object takes the focus only when its score beats the focused one's by this much (no flicker between neighbors). | |
Ignore Facing Distance (IgnoreFacingDistance) | float | 30.000000 | Focus | Closer than this to the object's bounds, the facing does not matter (standing against it works in any direction). | |
Max Focus Angle (MaxFocusAngle) | float | 75.000000 | Focus | Objects farther than this angle from the pawn's facing are not focused, unless closer than IgnoreFacingDistance. Within the angle the facing weighs in the score (AngleWeight). Actors can set their own (Facing Rule). | |
Vertical Tolerance (VerticalTolerance) | float | 50.000000 | Focus | Largest vertical gap between the player's capsule and the object's body (or origin) that still counts as in range: objects on the floor above or below, on a balcony or down a ledge are left out. Actors can set their own. | |
Player Faces Interactable (bPlayerFacesInteractable) | bool | True | NPC | The player's pawn also turns toward what it interacts with. | |
Standing NPCs Block Navigation (bStandingNPCsBlockNavigation) | bool | True | NPC | D-120: an NPC that stands still (no schedule, Stay) carves a hole in the level's navmesh, so walkers go around it. NPCs that walk (a schedule, or Wander / Route) never do: the static navmesh would keep holes where they once stood (a guard line across a bridge cut the bridge in two for everyone, the guards included). | |
Default Bark Cooldown (DefaultBarkCooldown) | float | 30.000000 | NPC | Time before an NPC may bark again, for NPCs that do not set their own. | |
Default Bark Radius (DefaultBarkRadius) | float | 450.000000 | NPC | Proximity bark range of NPCs that do not set their own. | |
Face Turn Seconds (FaceTurnSeconds) | float | 0.250000 | NPC | NPC and player turn toward each other over this time when a conversation starts (0 = snap). | |
Face Turn Step Seconds (FaceTurnStepSeconds) | float | 0.016000 | NPC | Update step of the facing turn. | |
NPCCapsule Half Height (NPCCapsuleHalfHeight) | float | 88.000000 | NPC | ||
NPCCapsule Radius (NPCCapsuleRadius) | float | 34.000000 | NPC | ||
NPCPlaceholder Mesh (NPCPlaceholderMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cylinder.Cylinder | NPC | Placeholder body of NPCs without their own mesh. | |
NPCPlaceholder Scale (NPCPlaceholderScale) | FVector | (X=0.700000,Y=0.700000,Z=1.800000) | NPC | ||
Prompt at Actor (bPromptAtActor) | bool | True | Prompt | Prompt above the focused actor (else at PromptScreenAnchor). | |
Prompt Avoids Player (bPromptAvoidsPlayer) | bool | True | Prompt | Actor prompts never cover the player's character: they move above its head when they would. | |
Prompt Shows Object Name (bPromptShowsObjectName) | bool | True | Prompt | The prompt names the object it acts on (so two things close together are told apart), when it has a name. | |
Default Prompt (DefaultPrompt) | FText | NSLOCTEXT("RSEInteraction", "DefaultPrompt", "Examine") | Prompt | Action shown by interactables without their own prompt text. | |
Fallback Keys (FallbackKeys) | FText | NSLOCTEXT("RSEInteraction", "FallbackKeys", "E / A") | Prompt | {Keys} when the Interact action's keys cannot be read from the input mapping. | |
Key Separator (KeySeparator) | FText | NSLOCTEXT("RSEInteraction", "KeySeparator", " / ") | Prompt | Between the keyboard and gamepad key names in {Keys}. | |
Prompt Fade Seconds (PromptFadeSeconds) | float | 0.120000 | Prompt | Fade in / out of the prompt (0 = none). | |
Prompt Follow Speed (PromptFollowSpeed) | float | 20.000000 | Prompt | How fast an actor prompt follows its point on screen (per second; 0 = sticks to it). Smooths camera jitter. | |
Prompt Font Size (PromptFontSize) | int32 | 18 | Prompt | ||
Prompt Format (PromptFormat) | FText | NSLOCTEXT("RSEInteraction", "PromptFormat", "[{Keys}] {Action}") | Prompt | Prompt layout. Arguments: {Keys} (e.g. "E / A"), {Action}. | |
Prompt Height Above Bounds (PromptHeightAboveBounds) | float | 25.000000 | Prompt | Height of the prompt above the top of the object's bounds (objects without their own prompt point). | |
Prompt Named Format (PromptNamedFormat) | FText | NSLOCTEXT("RSEInteraction", "PromptNamedFormat", "{Action}: {Name}") | Prompt | Action + object name. Arguments: {Action}, {Name}. | |
Prompt Panel Color (PromptPanelColor) | FRSEUIColor | (Token="Primary",Alpha=0.820000,Lightness=-0.327827,Chroma=0.363428,Hue=8.707818,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Prompt | ||
Prompt Player Clearance (PromptPlayerClearance) | float | 10.000000 | Prompt | Gap between the prompt and the top of the player's head when it moves out of the way. | |
Prompt Screen Anchor (PromptScreenAnchor) | FVector2D | (X=0.500000,Y=0.780000) | Prompt | Normalized screen point of screen-space prompts (and of actor prompts whose actor is off screen). | |
Prompt Screen Margin (PromptScreenMargin) | float | 24.000000 | Prompt | Actor prompts stay this far inside the screen edges. | |
Prompt Text Color (PromptTextColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Prompt | ||
Prompt Widget Class (PromptWidgetClass) | TSoftClassPtr<URSEScreenWidget> | /Script/RSE.RSEInteractionPromptWidget | Prompt | Interaction prompt (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEInteractionPromptViewModel (docs/product/custom-ui.md). | |
Prompt World Height (PromptWorldHeight) | float | 120.000000 | Prompt | Height above the interactable's origin, for objects without bounds (trigger areas) or prompt point. | |
Prompt ZOrder (PromptZOrder) | int32 | 20 | Prompt | ||
Talk Prompt (TalkPrompt) | FText | NSLOCTEXT("RSEInteraction", "TalkPrompt", "Talk") | Prompt | Action shown by NPCs without their own prompt text. |
RPG Saga Engine: Interior Kits
Class URSEKitLibrarySettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Interior Kits settings (D-164): Project Settings -> RPG Saga Engine -> Interior Kits.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Grid Rules (GridRules) | FRSEKitGridRules | (ModuleBin=5.000000,HeightBin=5.000000,ThicknessBin=2.000000,ModuleMultiples=(0.500000,1.000000,2.000000,3.000000,4.000000),SpanTolerance=5.000000,SpanTolerance... | Detection | Kit grouping and grid detection. | |
Probe Rules (ProbeRules) | FRSEKitProbeRules | (ProbeStep=5.000000,MinProbeCells=16,MaxProbeCells=128,MaxWallThickness=60.000000,MinWallHeight=100.000000,MinWallRunRatio=2.000000,DoorRules=(MinWidth=70.00000... | Detection | Probe thresholds (openings, fronts, corners, pivots). | |
Library Asset Name (LibraryAssetName) | FString | DA_KitLibrary | Output | ||
Library Folder (LibraryFolder) | FDirectoryPath | (set per project) | Output | Project folder of the library asset. Project content only. | |
Output Folder (OutputFolder) | FDirectoryPath | (set per project) | Output | Where the Create step writes kits, furniture and themes. Project content only. | |
Inspector Exposure EV100 (InspectorExposureEV100) | float | 2.000000 | Preview | ||
Interior Exposure EV100 (InteriorExposureEV100) | float | 2.000000 | Preview | Wizard preview and piece inspector: fixed exposure (EV100) of the 3D views. | |
Preview Floors (PreviewFloors) | int32 | 2 | Preview | ||
Preview Footprint (PreviewFootprint) | FVector2D | (X=1700.000000,Y=1300.000000) | Preview | Wizard preview: the sample house's footprint (cm; X along the facade), floors and seed. | |
Preview Light Brightness (PreviewLightBrightness) | float | 4.000000 | Preview | Wizard preview and piece inspector: the brightness of the scene's sun (the sky gets half). | |
Preview Program (PreviewProgram) | FSoftObjectPath | /RPGSagaEngine/Data/Interiors/Programs/DA_InteriorProgram_Inn.DA_InteriorProgram_Inn | Preview | Wizard preview: the program (rooms) of the sample house and the theme whose furnishings, light and materials it borrows (empty = the first the project has). | |
Preview Seed (PreviewSeed) | int32 | 11 | Preview | ||
Preview Theme (PreviewTheme) | FSoftObjectPath | /RPGSagaEngine/Data/Interiors/Themes/DA_InteriorTheme_Common.DA_InteriorTheme_Common | Preview | ||
Expected Kinds (ExpectedKinds) | TArray<FGameplayTag> | (0 entries) | Review | Kinds a complete kit has; the wizard's Kits step warns about the missing ones. Empty = the built-in list (walls, door and window walls, corner, floor, ceiling, stairs, railing, door leaf). | |
Thumbnail Pool Size (ThumbnailPoolSize) | int32 | 128 | Review | Thumbnails kept by the review table (0 = no thumbnail column). | |
Thumbnail Size (ThumbnailSize) | int32 | 64 | Review | Thumbnail size in the review table (px). | |
Batch Size (BatchSize) | int32 | 64 | Scan | Meshes loaded per batch (one worker task per batch). | |
Garbage Collect Every Batches (GarbageCollectEveryBatches) | int32 | 8 | Scan | Collect garbage every this many batches (loaded meshes are released); 0 = never. | |
Max Batches in Flight (MaxBatchesInFlight) | int32 | 2 | Scan | Batches allowed in flight on workers (memory cap on copied triangles). | |
Read Options (ReadOptions) | FRSEKitMeshReadOptions | (MinProbeTriangles=8,MaxProbeTriangles=100000,bAllowMeshDescription=True,bAllowCollision=True,bAllowBounds=True) | Scan | How triangles are read. | |
Time Slice Ms (TimeSliceMs) | float | 12.000000 | Scan | Game-thread time per editor frame while scanning (ms): the editor stays responsive. | |
Taxonomy (Taxonomy) | TSoftObjectPtr<URSEKitTaxonomy> | None | Taxonomy | How meshes are classified (kinds, words, languages, shape tests). |
RPG Saga Engine: Interiors
Class URSEInteriorSettings (module RSE), Project Settings, Project, RPG Saga Engine. Interiors (D-110, docs/design/free-tactics.md section 17): doors, ladders and the camera inside buildings and dungeons.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Battle Area Margin (BattleAreaMargin) | float | 1.000000 | Battle | A Free Tactics battle that starts inside an Interior Volume captures only the volume (plus this margin, meters) instead of Free Tactics (Presentation) -> Area Size: the rooms, not the whole street. | |
Close Door Text (CloseDoorText) | FText | NSLOCTEXT("RSEInteriors", "CloseDoor", "Close") | Doors | ||
Door Close Sound (DoorCloseSound) | TSoftObjectPtr<USoundBase> | None | Doors | ||
Door Leaf Mesh (DoorLeafMesh) | TSoftObjectPtr<UStaticMesh> | None | Doors | Mesh of a door leaf without its own (scaled to the leaf size; a 1 m cube). Empty = the engine cube. | |
Door Open Sound (DoorOpenSound) | TSoftObjectPtr<USoundBase> | None | Doors | D-150: played when a door without its own sounds swings open / shut (empty = silent). | |
Door Swing Seconds (DoorSwingSeconds) | float | 0.450000 | Doors | Seconds a door takes to swing open or shut (0 = at once). Doors may override it. | |
Locked Door Text (LockedDoorText) | FText | NSLOCTEXT("RSEInteriors", "LockedDoor", "It\'s locked.") | Doors | Said when a locked door is tried. | |
Open Door Text (OpenDoorText) | FText | NSLOCTEXT("RSEInteriors", "OpenDoor", "Open") | Doors | Prompts of doors without their own. | |
Climb Text (ClimbText) | FText | NSLOCTEXT("RSEInteriors", "Climb", "Climb") | Ladders | Prompt of ladders in exploration (the explorer climbs to the other end). | |
Ladder Mesh (LadderMesh) | TSoftObjectPtr<UStaticMesh> | None | Ladders | Mesh of a ladder without its own (scaled between its ends; a 1 m cube). Empty = the engine cube. |
RPG Saga Engine: Inventory Rules
Class URSEInventoryRulesSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Inventory rules (D-143): how the party carries items, in which containers, and who receives what it gains.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Bag (Bag) | FRSEItemContainerDef | (Id="Bag",DisplayName=NSLOCTEXT("RSEInventoryRules", "BagName", "Bag"),Grid=(Width=8,MinHeight=5,MaxHeight=5),Filter=(TagQuery=())) | Containers | Each member's bag: its id (the command and layout key), name, icon and size (8 x 5 by default; bounded). | |
Pending Loot (PendingLoot) | FRSEItemContainerDef | (Id="PendingLoot",DisplayName=NSLOCTEXT("RSEInventoryRules", "PendingName", "Pending Loot"),Grid=(Width=8,MinHeight=5),Filter=(TagQuery=())) | Containers | Loot nobody could carry: shown as its own tab until taken or distributed. Grows. | |
Stash (Stash) | FRSEItemContainerDef | (Id="Stash",DisplayName=NSLOCTEXT("RSEInventoryRules", "StashName", "Stash"),Grid=(Width=8,MinHeight=7,SpareRows=1),Filter=(TagQuery=())) | Containers | The shared stash (large; Max Height 0 = it grows). | |
Stash Access (StashAccess) | ERSEStashAccess | SavePoints | Containers | Where the stash opens. | |
Stash Access Radius (StashAccessRadius) | float | 600.000000 | Containers | How close to a save point / rest place the player must stand for the stash to open (the presentation measures it). | |
Auto Distribute Rule (AutoDistributeRule) | TSoftClassPtr<URSELootDistributionRule> | /Script/RSECore.RSELootRule_Smart | Distribution | The rule of the inventory's Auto-distribute button (re-deals every bag and, when open, the stash). | |
Pickups to Picker in Coop (bPickupsToPickerInCoop) | bool | True | Distribution | Co-op: what a player picks up (chests, pick-ups, shop purchases) goes to that player's member first. | |
Distribution Rule (DistributionRule) | TSoftClassPtr<URSELootDistributionRule> | /Script/RSECore.RSELootRule_Smart | Distribution | Who receives what the party gains (chests, battles, quests, shops, pick-ups). Blueprintable: write your own. | |
Overflow (Overflow) | ERSELootOverflow | PendingLoot | Distribution | When no member has room, the stash takes it if the source stands at a stash point or the stash opens anywhere; otherwise this decides (pending loot by default). Nothing is ever lost. | |
Minimum Upgrade (MinimumUpgrade) | float | 0.001000 | Distribution|Smart | Smart rule: an upgrade must be worth at least this (sum of weighted relative changes) to beat free space. | |
Role Rules (RoleRules) | TArray<FRSELootRoleRule> | (0 entries) | Distribution|Smart | Smart rule: who receives which consumables (ethers to mages). Items no rule matches are balanced among everyone. | |
Stat Weights (StatWeights) | TMap<FGameplayTag,float> | (0 entries) | Distribution|Smart | Smart rule: how much each stat counts when equipment is compared (relative change x weight). Missing stats count 1. | |
Migration (Migration) | ERSEModeMigration | Distribute | Mode | A game played in the Per Character mode for the first time (or after a switch from Shared): what happens to its items. | |
Mode (Mode) | ERSEInventoryMode | Shared | Mode | Shared: one party grid (JRPG, ATB, Tactics). Per Character: a bag per member, a stash, pending loot (live / Free Tactics). | |
Shared Kinds (SharedKinds) | TArray<ERSEItemKind> | (2 entries) | Mode | Item kinds that stay shared in the Per Character mode (story items): they never go into bags. | |
Money Mode (MoneyMode) | ERSEMoneyMode | Shared | Money | --- Money --- | |
Use Weight (bUseWeight) | bool | False | Weight | Items weigh something and each member carries up to a capacity. Off by default. | |
Carry Capacity Base (CarryCapacityBase) | float | 40.000000 | Weight | Capacity every member has. | |
Carry Capacity Per Stat Point (CarryCapacityPerStatPoint) | float | 1.000000 | Weight | Capacity per point of Carry Capacity Stat. | |
Carry Capacity Stat (CarryCapacityStat) | FGameplayTag | () | Weight | The stat that adds capacity (Stat.Strength...). Empty = only the base and equipment. | |
Overweight Rule (OverweightRule) | ERSEOverweightRule | BlockAdding | Weight |
RPG Saga Engine: Inventory UI
Class URSEInventoryUISettings (module RSE), Project Settings, Project, RPG Saga Engine. The grid inventory screen (D-123, docs/design/inventory-grid.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Board (Board) | FRSEInventoryBoardStyle | (CellSize=60.000000,CellGap=3.000000,CornerRadius=4.000000,CellFill=(Token="Primary",Alpha=0.850000,Lightness=-0.309568,Chroma=0.498216,Hue=4.227151,Override=(R... | Board | ||
Menu Height (MenuHeight) | float | 860.000000 | Layout | ||
Menu Width (MenuWidth) | float | 1500.000000 | Layout | Party menu window size while the grid page shows (the grid needs more room than the lists). | |
Party Card Width (PartyCardWidth) | float | 210.000000 | Layout | Width of one party strip card. | |
Party Portrait Size (PartyPortraitSize) | float | 44.000000 | Layout | Portrait on the party strip cards (0 = none). | |
Stats Panel Width (StatsPanelWidth) | float | 280.000000 | Layout | Width of the stats panel right of the board. | |
Tooltip Width (TooltipWidth) | float | 330.000000 | Layout | Width of the item tooltip. | |
Visible Rows (VisibleRows) | int32 | 8 | Layout | Grid rows shown before the grid scrolls. | |
Body Anchors (BodyAnchors) | TArray<FRSEPaperdollAnchor> | (9 entries) | Paperdoll | Body parts on the figure area (D-126): where slots of each body part are placed and their connectors end. | |
Default Slot Size (DefaultSlotSize) | FVector2D | (X=1.100000,Y=1.100000) | Paperdoll | ||
Figure Image (FigureImage) | TSoftObjectPtr<UTexture2D> | None | Paperdoll | Shown on the figure area when the character has neither a live preview nor a portrait. Empty = nothing. | |
Paperdoll Size (PaperdollSize) | FIntPoint | (X=7,Y=8) | Paperdoll | Size of the paperdoll area, in cells. | |
Paperdoll Slots (PaperdollSlots) | TArray<FRSEPaperdollSlotLayout> | (9 entries) | Paperdoll | Placement of the equipment slots (body part anchor + offset, or a fixed position) and their sizes. Slots of Items -> Equipment Slots not listed here are placed from their body part (beside the figure, on the side of the anchor), or down the edges of the paperdoll without one, at Default Slot Size. | |
Portrait Position (PortraitPosition) | FVector2D | (X=1.350000,Y=1.300000) | Paperdoll | The figure area (the live 3D preview, else the portrait, else the fallback figure), in cells of the paperdoll. | |
Portrait Size (PortraitSize) | FVector2D | (X=4.300000,Y=6.700000) | Paperdoll | ||
Action Portrait Size (ActionPortraitSize) | float | 28.000000 | Per Character | Portrait beside each "Give to" entry of the action menu. | |
Capacity Color (CapacityColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=-0.057774,Chroma=2.643006,Hue=-31.508739,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Per Character | Colors of the capacity line: normal and over capacity / full. | |
Over Capacity Color (OverCapacityColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.006601,Chroma=0.942214,Hue=0.319182,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Per Character | ||
Live Preview (bLivePreview) | bool | True | Preview | The selected character in 3D on the paperdoll, wearing its equipment (weapons and accessories on sockets, armor on modular bodies). Off, or RSE.Inventory.LivePreview 0 = the portrait. | |
Preview Backdrop Color (PreviewBackdropColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.348259,Chroma=0.363512,Hue=9.359602,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Preview | Behind the character (match the paperdoll panel: the edges fade into it). | |
Preview Capture Rate (PreviewCaptureRate) | float | 30.000000 | Preview | Captures per second while the preview is on screen (the idle animation). 0 = only when something changes (equipment, turning, zoom): a still pose. RSE.Inventory.PreviewRate overrides it (the Steam Deck profile: 15). | |
Preview Class (PreviewClass) | TSoftClassPtr<URSEPaperdollPreview> | None | Preview | Who makes the picture: a Blueprint or C++ class derived from RSEPaperdollPreview. Empty = the scene capture preview. | |
Preview Drag Degrees (PreviewDragDegrees) | float | 0.600000 | Preview | Turning by dragging the figure: degrees per screen unit. | |
Preview Framing (PreviewFraming) | FName | Paperdoll | Preview | Framing of the preview (Project Settings -> Portraits -> Framings). The plugin's "Paperdoll" preset fits every character head to feet with its hat and held weapon (Fit Head Top, Fit Whole Look), with room under the helmet slot. | |
Preview Light Rig (PreviewLightRig) | FName | Studio | Preview | Lighting of the preview (Project Settings -> Portraits -> Light Rigs). | |
Preview Resolution (PreviewResolution) | FIntPoint | (X=360,Y=560) | Preview | Render target size (match the figure area's aspect). RSE.Inventory.PreviewScale scales it (the Steam Deck profile: 0.75). | |
Preview Scene Location (PreviewSceneLocation) | FVector | (X=0.000000,Y=40000.000000,Z=-60000.000000) | Preview | Where the preview scene stands in the world: far from the playable space and from the dialog portrait scene. | |
Preview Start Zoom (PreviewStartZoom) | float | 0.850000 | Preview | The zoom the preview opens at (D-128): below 1 shows the figure a bit smaller in its frame, with air around it. Clamped to Preview Zoom Range. | |
Preview Stick Dead Zone (PreviewStickDeadZone) | float | 0.200000 | Preview | Stick tilt ignored before it turns or zooms the preview. | |
Preview Stick Degrees Per Second (PreviewStickDegreesPerSecond) | float | 200.000000 | Preview | Turning with the right stick: degrees per second at full tilt. | |
Preview Stick Zoom Per Second (PreviewStickZoomPerSecond) | float | 0.600000 | Preview | Zoom per second with the right stick (up / down) at full tilt. | |
Preview Zoom Range (PreviewZoomRange) | FVector2D | (X=0.700000,Y=2.200000) | Preview | Zoom range (1 = the framing; below 1 = wider, the figure smaller) and the step of one mouse wheel notch. | |
Preview Zoom Step (PreviewZoomStep) | float | 0.150000 | Preview | ||
Default Style (DefaultStyle) | ERSEInventoryScreenStyle | Grid | Style | The product default; players can change it in Options -> Game -> Inventory. | |
Screen Widget Class (ScreenWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Style | The grid page of the party menu. Empty = the built-in RSEInventoryScreenWidget. A Widget Blueprint derived from RSEScreenWidget receives the party menu's RSEPartyMenuViewModel and can create a RSEInventoryViewModel. | |
Cancel Action Text (CancelActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Cancel", "Cancel") | Texts | ||
Combine Action Text (CombineActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Combine", "Combine") | Texts | ||
Combine Prompt Text (CombinePromptText) | FText | NSLOCTEXT("RSEInventoryUI", "CombinePrompt", "Choose the item to combine with {Item}.") | Texts | Combining: pick the second key item. | |
Compare for Format (CompareForFormat) | FText | NSLOCTEXT("RSEInventoryUI", "CompareFor", "For {Character}:") | Texts | Tooltip: the stat comparison is for {Character}. | |
Discard Action Text (DiscardActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Discard", "Discard") | Texts | ||
Equip Action Text (EquipActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Equip", "Equip") | Texts | --- Texts --- | |
Equipped Format (EquippedFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Equipped", "{Character} equips {Item}.") | Texts | Messages after commands. {Item} {Character} {Slot}. | |
In Battle Text (InBattleText) | FText | NSLOCTEXT("RSEInventoryUI", "InBattle", "The inventory cannot change during a battle.") | Texts | ||
Locked Text (LockedText) | FText | NSLOCTEXT("RSEInventoryUI", "Locked", "Fixed equipment (guest)") | Texts | Guests' slots (D-011). | |
Move Action Text (MoveActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Move", "Move") | Texts | ||
No Room Text (NoRoomText) | FText | NSLOCTEXT("RSEInventoryUI", "NoRoom", "There is no room there.") | Texts | ||
Not Allowed Text (NotAllowedText) | FText | NSLOCTEXT("RSEInventoryUI", "NotAllowed", "You may not change this.") | Texts | ||
Place Prompt Text (PlacePromptText) | FText | NSLOCTEXT("RSEInventoryUI", "PlacePrompt", "Choose where to put {Item}.") | Texts | Move mode: place the held item. | |
Read Action Text (ReadActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Read", "Read") | Texts | ||
Replaces Format (ReplacesFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Replaces", "Replaces: {Item}") | Texts | Tooltip: the item the comparison replaces. {Item}. | |
Size Format (SizeFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Size", "{Width}x{Height} x{Count}") | Texts | Tooltip: size and count. {Width} {Height} {Count}. | |
Size Only Format (SizeOnlyFormat) | FText | NSLOCTEXT("RSEInventoryUI", "SizeOnly", "{Width}x{Height}") | Texts | Tooltip of a worn item (none in the inventory): size only. {Width} {Height}. | |
Slot Format (SlotFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Slot", "Slot: {Slot}") | Texts | Tooltip: the slot it goes into. {Slot}. | |
Sort Action Text (SortActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Sort", "Sort") | Texts | ||
Sorted Text (SortedText) | FText | NSLOCTEXT("RSEInventoryUI", "Sorted", "Sorted.") | Texts | ||
Stats Title (StatsTitle) | FText | NSLOCTEXT("RSEInventoryUI", "StatsTitle", "Stats") | Texts | ||
Unequip Action Text (UnequipActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Unequip", "Unequip") | Texts | ||
Unequipped Format (UnequippedFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Unequipped", "{Item} back in the inventory.") | Texts | ||
Use Action Text (UseActionText) | FText | NSLOCTEXT("RSEInventoryUI", "Use", "Use") | Texts | ||
Use on Format (UseOnFormat) | FText | NSLOCTEXT("RSEInventoryUI", "UseOn", "Use on {Target}") | Texts | {Target}: the object the player stands at. | |
Auto Distribute Confirm Text (AutoDistributeConfirmText) | FText | NSLOCTEXT("RSEInventoryUI", "AutoDistributeConfirm", "Deal every bag again by the Smart rule?") | Texts|Per Character | ||
Auto Distributed Text (AutoDistributedText) | FText | NSLOCTEXT("RSEInventoryUI", "AutoDistributed", "The bags were dealt again.") | Texts|Per Character | ||
Auto Distribute Text (AutoDistributeText) | FText | NSLOCTEXT("RSEInventoryUI", "AutoDistribute", "Auto-distribute") | Texts|Per Character | The tab-row button and its confirmation. | |
Bag Tab Format (BagTabFormat) | FText | NSLOCTEXT("RSEInventoryUI", "BagTab", "{Bag}: {Member}") | Texts|Per Character | The bag tab of the selected member. {Member}, {Bag} (Inventory Rules -> Bag name). | |
Capacity Format (CapacityFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Capacity", "{Used}/{Total}") | Texts|Per Character | The bag's capacity under the tabs. {Used} {Total}. | |
Container Full Text (ContainerFullText) | FText | NSLOCTEXT("RSEInventoryUI", "ContainerFull", "There is no room in that bag.") | Texts|Per Character | ||
Gave Format (GaveFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Gave", "{Item} → {Member}") | Texts|Per Character | After a give / take / send. {Item} {Member} (the receiver; the stash's name when sent there). | |
Give to Format (GiveToFormat) | FText | NSLOCTEXT("RSEInventoryUI", "GiveTo", "Give to {Member}") | Texts|Per Character | Action: give the item to another member. {Member}. | |
Pending Hint Text (PendingHintText) | FText | NSLOCTEXT("RSEInventoryUI", "PendingHint", "Loot nobody could carry. Take it or give it to someone.") | Texts|Per Character | Shown above the pending loot grid. | |
Send to Stash Text (SendToStashText) | FText | NSLOCTEXT("RSEInventoryUI", "SendToStash", "Send to stash") | Texts|Per Character | ||
Stash Unavailable Text (StashUnavailableText) | FText | NSLOCTEXT("RSEInventoryUI", "StashUnavailable", "The stash opens only at a save point.") | Texts|Per Character | ||
Take Format (TakeFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Take", "Take ({Member})") | Texts|Per Character | Action: take the item from the stash or the pending loot into the selected member's bag. {Member}. | |
Used Cells Format (UsedCellsFormat) | FText | NSLOCTEXT("RSEInventoryUI", "UsedCells", "Cells used: {Used}") | Texts|Per Character | A container that grows (the stash, the pending loot). {Used}. | |
Weight Format (WeightFormat) | FText | NSLOCTEXT("RSEInventoryUI", "Weight", "{Weight}/{Capacity} kg") | Texts|Per Character | Weight (Inventory Rules -> Use Weight). {Weight} {Capacity}. | |
Wrong Mode Text (WrongModeText) | FText | NSLOCTEXT("RSEInventoryUI", "WrongMode", "Not in this inventory mode.") | Texts|Per Character |
RPG Saga Engine: Items
Class URSEItemSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Item and equipment rules.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Equipment Slots (EquipmentSlots) | TArray<FRSEEquipmentSlotDef> | (9 entries) | Equipment | Character equipment slots, in display order (D-024). | |
Off Hand Slot Id (OffHandSlotId) | FName | OffHand | Equipment | Slot a two-handed weapon also occupies. | |
Allow Discard (bAllowDiscard) | bool | False | Grid Inventory | The player may discard consumables and equipment from the inventory (the Discard command). Key items and documents can never be discarded. Off by default: classic JRPGs do not drop items. | |
Max Item Grid Size (MaxItemGridSize) | FIntPoint | (X=4,Y=4) | Grid Inventory | Largest Grid Size an item may have (data validation). | |
Permission Policy Class (PermissionPolicyClass) | TSoftClassPtr<URSEInventoryPermissionPolicy> | None | Grid Inventory | Who may change what through inventory commands (co-op, D-094 / D-124): a Blueprint or C++ class derived from RSEInventoryPermissionPolicy. Empty = everyone may do everything (single player; the host decides later). | |
Sort Order (SortOrder) | TArray<ERSEItemSortKey> | (5 entries) | Grid Inventory | Auto-sort order: the first key decides, the next ones break ties. | |
Stash Tabs (StashTabs) | TArray<FRSEItemContainerDef> | (3 entries) | Grid Inventory | Tabs of the party's stash in grid inventories, each a grid container. An item shows in the first tab whose filter accepts it (the first tab when none does), so every item always has a place. | |
Default Rarity (DefaultRarity) | FGameplayTag | (TagName="Item.Rarity.Common") | Grid Inventory|Rarity | ||
Rarity Tiers (RarityTiers) | TArray<FRSEItemRarityTier> | (5 entries) | Grid Inventory|Rarity | Rarity tiers (name, color, rank). Items without a rarity use Default Rarity. | |
Default Max Stack (DefaultMaxStack) | int32 | 99 | Inventory | Stack limit for items that do not set their own. | |
Starting Items (StartingItems) | TMap<TSoftObjectPtr<URSEItemData> ,int32> | (15 entries) | Inventory | Items in the inventory when a new game starts. |
RPG Saga Engine: Level Tools
Class URSELevelToolsSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Level tools of D-062 (docs/design/encounter-editor.md): the encounter layout editor mode, the character preview actor and the gallery map builder.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Blast Color (BlastColor) | FLinearColor | (R=1.000000,G=0.500000,B=0.000000,A=0.300000) | Encounter Layout|Colors | Tiles an explosive field object would hit (shown for the selected object), tinted by the zone it leaves when it has one. | |
Blocked Color (BlockedColor) | FLinearColor | (R=0.000000,G=0.000000,B=0.000000,A=0.450000) | Encounter Layout|Colors | Unwalkable tiles. | |
Deployment Color (DeploymentColor) | FLinearColor | (R=0.150000,G=0.450000,B=1.000000,A=0.450000) | Encounter Layout|Colors | Tiles where the player deploys (the encounter's Deployment Tiles). | |
Enemy Color (EnemyColor) | FLinearColor | (R=1.000000,G=0.250000,B=0.200000,A=0.400000) | Encounter Layout|Colors | Tile of an enemy. | |
Field Object Color (FieldObjectColor) | FLinearColor | (R=0.800000,G=0.600000,B=0.300000,A=0.400000) | Encounter Layout|Colors | Tile of a field object (its own color is used for the box). | |
Grid Line Color (GridLineColor) | FLinearColor | (R=0.080000,G=0.080000,B=0.100000,A=1.000000) | Encounter Layout|Colors | Outline of every tile of the zone. | |
Hover Invalid Color (HoverInvalidColor) | FLinearColor | (R=1.000000,G=0.000000,B=0.000000,A=0.500000) | Encounter Layout|Colors | Tile under the cursor when the action is refused there (blocked, occupied, outside). | |
Hover Valid Color (HoverValidColor) | FLinearColor | (R=0.200000,G=1.000000,B=0.350000,A=0.500000) | Encounter Layout|Colors | Tile under the cursor when the action is allowed there. | |
Issue Color (IssueColor) | FLinearColor | (R=1.000000,G=0.000000,B=0.600000,A=0.600000) | Encounter Layout|Colors | Tiles with a validation problem (overlap, unwalkable...). | |
Row Color (RowColor) | FLinearColor | (R=0.600000,G=0.600000,B=1.000000,A=0.350000) | Encounter Layout|Colors | ATB stage: the rows of the enemy side. | |
Selection Color (SelectionColor) | FLinearColor | (R=1.000000,G=0.900000,B=0.100000,A=1.000000) | Encounter Layout|Colors | The selected element's outline. | |
ATBPick Radius (ATBPickRadius) | float | 80.000000 | Encounter Layout|Drawing | ATB stage: distance around a slot that counts as a click on its unit. | |
Show Appearance (bShowAppearance) | bool | True | Encounter Layout|Drawing | Enemy markers use the character's appearance (else only the placeholder shape). | |
Show Labels (bShowLabels) | bool | True | Encounter Layout|Drawing | Name and level labels above the enemies, names above field objects. | |
Label Height (LabelHeight) | float | 220.000000 | Encounter Layout|Drawing | Height of the labels above the tile. | |
Surface Offset (SurfaceOffset) | float | 3.000000 | Encounter Layout|Drawing | Height of the drawn tiles above the surface (avoids flicker with the floor). | |
Tile Fill (TileFill) | float | 0.900000 | Encounter Layout|Drawing | Drawn tile size as a fraction of the tile (a gap shows the grid). | |
Validate on Change (bValidateOnChange) | bool | True | Encounter Layout|Editing | Validate the layout after every edit (the Issues list and the tile markers). | |
Max Brush Radius (MaxBrushRadius) | int32 | 6 | Encounter Layout|Editing | Largest radius of the deployment brush (0 = one tile). | |
Delete Key (DeleteKey) | FKey | Delete | Encounter Layout|Keys | Deletes the selected enemy or field object. | |
Rotate Clockwise Key (RotateClockwiseKey) | FKey | E | Encounter Layout|Keys | Rotates the selected enemy clockwise (Tactics facing). | |
Rotate Counter Clockwise Key (RotateCounterClockwiseKey) | FKey | Q | Encounter Layout|Keys | Rotates the selected enemy counter-clockwise. | |
Toggle Row Key (ToggleRowKey) | FKey | R | Encounter Layout|Keys | ATB: moves the selected enemy to the other row. | |
Content Root (ContentRoot) | FDirectoryPath | (Path="/Game") | Gallery | Only content under this path goes on display ("/Game" = the whole project). | |
Excluded Paths (ExcludedPaths) | TArray<FDirectoryPath> | (2 entries) | Gallery | Content paths left out (test and dev data). | |
Floor Mesh (FloorMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Gallery | Floor of the gallery map (scaled to cover every row). | |
Game Mode (GameMode) | TSoftClassPtr<AGameModeBase> | /Script/RSE.RSEExplorationGameMode | Gallery | Game mode of the gallery map (the player walks between the stations). | |
Label World Size (LabelWorldSize) | float | 28.000000 | Gallery | Size of the label text panels. | |
Max Ability Pads (MaxAbilityPads) | int32 | 0 | Gallery | Most ability pads (0 = every ability). | |
Pad Mesh (PadMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cylinder.Cylinder | Gallery | Pad under each ability demo. Empty = none. | |
Pad Scale (PadScale) | FVector | (X=2.500000,Y=2.500000,Z=0.050000) | Gallery | Scale of the pad mesh. | |
Pedestal Mesh (PedestalMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Gallery | Pedestal shown under field objects and class stations. | |
Row Spacing (RowSpacing) | float | 900.000000 | Gallery | Distance between two rows (characters, classes, abilities, field objects, world actors). | |
Station Spacing (StationSpacing) | float | 350.000000 | Gallery | Distance between two stations of a row. | |
Stations Per Line (StationsPerLine) | int32 | 12 | Gallery | Stations per row before a new line starts. |
RPG Saga Engine: Living NPCs
Class URSENPCSettings (module RSE), Project Settings, Project, RPG Saga Engine. Living NPCs in the world (D-104, docs/product/living-npcs.md): how they walk, pause, look around, make way for the player, stop to talk, sleep far from the player and show their activities.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Activity Animations (ActivityAnimations) | TMap<FGameplayTag,FRSECharacterAnim> | (0 entries) | Activities | Looping animations of the activities (NPC.Activity.Work -> hammering, NPC.Activity.Sit -> sitting) on characters built with an RSE anim set, while the NPC stays at its place. Missing = the locomotion idle. | |
Activity Blend Out (ActivityBlendOut) | float | 0.250000 | Activities | Blend out of an activity animation when the NPC starts walking or talking. | |
Activity Idle Slots (ActivityIdleSlots) | TMap<FGameplayTag,FGameplayTag> | (3 entries) | Activities | D-153: an activity can play an idle slot of the NPC's own animation set instead (NPC.Activity.Chat -> Idle.Anim.Chat, NPC.Activity.Sit -> Idle.Anim.Sit): the same slots the party's idle life uses, filled by the Animation & FX Library for any skeleton. Tried first; an NPC whose set has no clip for the slot falls back to Activity Animations. | |
Appear Distance (AppearDistance) | float | 3000.000000 | Arriving | When the hour changes, an NPC walks to its next place, unless where it is and where it goes are both farther than this from the player: then it appears there (nobody sees it). Time skips and sleeping NPCs always appear. 0 = always walk. | |
Max Walk Seconds (MaxWalkSeconds) | float | 90.000000 | Arriving | A walk that takes longer than this (stuck, blocked) ends with the NPC appearing at its place. 0 = never. | |
Chat Ends when Focused (bChatEndsWhenFocused) | bool | True | Chats | The talk is interrupted when the player comes closer than this to either NPC and looks at it (its prompt shows). Off: it goes on. | |
Chat Line Gap (ChatLineGap) | FVector2D | (X=2.400000,Y=4.200000) | Chats | Seconds between two lines of a talk between NPCs (random between the two). | |
Idle Life Seed (IdleLifeSeed) | int32 | 1729 | Idle Life | Seed of the idle life's random choices (the NPC's id is mixed in): the same level plays the same way. | |
Look Around Angle (LookAroundAngle) | float | 70.000000 | Looking Around | Largest look-around turn either way. | |
Look Around Chance (LookAroundChance) | float | 0.500000 | Looking Around | Chance to look around at each pause (turn a little, then back). | |
Acceptance Radius (AcceptanceRadius) | float | 30.000000 | Moving | A point counts as reached within this distance. | |
Snap to Ground (bSnapToGround) | bool | True | Moving | NPCs that are not pawns keep their feet on the ground with a trace down (the Visibility channel). | |
Use Navigation (bUseNavigation) | bool | True | Moving | Walks follow the navigation mesh when the level has one; without it (or off) they walk straight. | |
Default Wander Radius (DefaultWanderRadius) | float | 500.000000 | Moving | Wander: default distance from the place (an activity or a place may set its own). | |
Ground Trace Height (GroundTraceHeight) | float | 120.000000 | Moving | Height of the ground trace above and below the feet. | |
Pause Max (PauseMax) | float | 6.000000 | Moving | ||
Pause Min (PauseMin) | float | 2.000000 | Moving | Pause at a wander point or a route stop without its own pause (random between the two). | |
Turn Rate (TurnRate) | float | 360.000000 | Moving | How fast they turn toward where they walk. | |
Walk Speed (WalkSpeed) | float | 140.000000 | Moving | Walking speed (an NPC may set its own; an activity scales it). | |
Face Player when Talking (bFacePlayerWhenTalking) | bool | True | Player | It turns to face the player when a conversation starts (NPCs that are not RSE NPC actors; those have their own setting). | |
Stop when Focused (bStopWhenFocused) | bool | True | Player | It stops walking while the player looks at it (its talk prompt is shown), so the player can talk. | |
Make Way Distance (MakeWayDistance) | float | 160.000000 | Player | A walking NPC with the player this close ahead makes way: it stops and steps aside. | |
Make Way Step (MakeWayStep) | float | 110.000000 | Player | How far it steps aside. | |
Resume Delay (ResumeDelay) | float | 1.200000 | Player | After a conversation, it waits this long before going on. | |
Assault Noise Radius (AssaultNoiseRadius) | float | 1500.000000 | Reactions | ||
Assault Is Crime (bAssaultIsCrime) | bool | True | Reactions | A battle begun against a living NPC (the party attacked it) is a crime of assault, heard this far (cm). | |
Guards Detect Crimes (bGuardsDetectCrimes) | bool | True | Reactions | Guards (reactions with Crime rules) notice crimes: theft, trespass, assault, and the Report Crime effect. Off = nobody answers crimes. | |
React to Battles (bReactToBattles) | bool | True | Reactions | NPCs react to a battle on the live map (flee, watch, cower, help: their Reaction data). Off = they go on with their day as if nothing happened (before D-173 they froze). | |
Theft Is Crime (bTheftIsCrime) | bool | True | Reactions | A thief who stole from an NPC is a crime of theft (NPC.Crime.Theft), seen or heard by guards. | |
Default Reaction (DefaultReaction) | TSoftObjectPtr<URSENPCReactionData> | None | Reactions | The reaction of NPCs whose schedule and component name none (a civilian who watches from a distance by default). Empty = the defaults of the Reaction Data class: watch from 11 m, within 22 m of the fight. | |
Theft Noise Radius (TheftNoiseRadius) | float | 0.000000 | Reactions | How far a theft is heard (cm) by guards who do not see it: 0 = only seen. | |
Activation Check Interval (ActivationCheckInterval) | float | 0.750000 | Updates | How often the NPCs' distance to the player is checked (sleep / wake), in one batch for the whole level. | |
Offscreen Seconds (OffscreenSeconds) | float | 2.000000 | Updates | Seconds without being rendered that count as "off screen". | |
Offscreen Sleep Distance (OffscreenSleepDistance) | float | 2500.000000 | Updates | NPCs off screen for a while and farther than this also sleep (0 = only by distance). | |
Sleep Distance (SleepDistance) | float | 6000.000000 | Updates | NPCs farther than this from the player sleep: no thinking, no walking (Steam Deck budget). 0 = never sleep. | |
Think Interval (ThinkInterval) | float | 0.250000 | Updates | How often a living NPC decides what to do (next wander point, route stop, making way). No per-frame tick while standing. |
RPG Saga Engine: Living World
Class URSELivingWorldSettings (module RSE), Project Settings, Project, RPG Saga Engine. Project Settings -> RPG Saga Engine -> Living World (D-157): how interactables show themselves (a highlight when near, a hint from farther, a sparkle on valuables, card players marked among NPCs), the strike that breaks objects, the effects of hazards and world reactions.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Caravan Skip Snap Hours (CaravanSkipSnapHours) | float | 0.500000 | Caravans | A clock skip at least this long puts caravans where the clock says at once (game hours); shorter ones they walk. | |
Caravan Smooth Distance (CaravanSmoothDistance) | float | 6000.000000 | Caravans | A caravan this near a player moves every frame (cm). | |
Caravan Snap Distance (CaravanSnapDistance) | float | 3000.000000 | Caravans | Farther behind its timetable than this, it jumps there while nobody sees it (cm). | |
Caravan Update Interval (CaravanUpdateInterval) | float | 1.000000 | Caravans | How often a caravan far from the players updates its place (s). | |
Caravan Walk Speed (CaravanWalkSpeed) | float | 140.000000 | Caravans | Its walking speed when it catches up after a halt (cm/s, times the data's Catch Up Multiplier). | |
Hazard Fx (HazardFx) | TMap<FGameplayTag,FRSEWorldFx> | (4 entries) | Effects | What a broken object's hazard looks like (Interactable.Hazard.*). | |
Hurt Color (HurtColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=0.016834,Chroma=0.914864,Hue=7.362913,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Effects | A member hurt by a hazard: the notification color. | |
Reaction Fx (ReactionFx) | TMap<FGameplayTag,FRSEWorldFx> | (6 entries) | Effects | What a world reaction looks like (World.Reaction.Fx.*). | |
Hints Avoid Overlap (bHintsAvoidOverlap) | bool | True | Hints | Hints of objects close together stack upward instead of drawing over each other. | |
Challenger Color (ChallengerColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.066506,Chroma=0.653430,Hue=-3.701602,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Hints | ||
Challenger Distance (ChallengerDistance) | float | 2000.000000 | Hints | ||
Challenger Head Socket (ChallengerHeadSocket) | FName | head | Hints | Socket or bone of the NPC's body mesh the mark floats over. Missing on the mesh = the top of the NPC's visible bounds. | |
Challenger Height (ChallengerHeight) | float | 35.000000 | Hints | Over the top of the NPC's head (cm): the Challenger Head Socket of its body mesh, else the top of its visible bounds. | |
Challenger Mark (ChallengerMark) | FText | INVTEXT("♠") | Hints | NPCs who play cards wear this mark over their heads (a short glyph) within Challenger Distance. | |
Hint Background (HintBackground) | FRSEUIColor | (Token="Primary",Alpha=0.600000,Lightness=-0.327827,Chroma=0.363428,Hue=8.707818,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Hints | ||
Hint Font Size (HintFontSize) | int32 | 13 | Hints | ||
Hint Format (HintFormat) | FText | NSLOCTEXT("RSELivingWorld", "HintFormat", "{Name} · {Action}") | Hints | A hint: {Name}, {Action}. | |
Hint Height (HintHeight) | float | 40.000000 | Hints | Height of the hint above the object's top (cm). | |
Hint Stack Gap (HintStackGap) | float | 3.000000 | Hints | Gap between stacked hints (screen units). | |
Hint Stack Max Steps (HintStackMaxSteps) | int32 | 6 | Hints | The most moves a hint makes to find a free place (the rest of a crowd overlaps; the farthest hints are the first to give way). | |
Hints ZOrder (HintsZOrder) | int32 | 4 | Hints | ||
Hint Text Color (HintTextColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=-0.001490,Chroma=4.197116,Hue=169.197342,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Hints | ||
Debris Mesh (DebrisMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Strike | The engine mesh thrown as debris. | |
Debris Seconds (DebrisSeconds) | float | 1.400000 | Strike | ||
Default Interact Anims (DefaultInteractAnims) | TMap<FGameplayTag,FRSECharacterAnim> | (0 entries) | Strike | Interaction slots (Interact.Anim.*) of characters whose anim set has none: the strike that breaks objects. | |
Procedural Lunge Distance (ProceduralLungeDistance) | float | 35.000000 | Strike | Without any clip: the body lunges this far toward the object and back (cm). | |
Strike Impact Seconds (StrikeImpactSeconds) | float | 0.300000 | Strike | The object breaks this long after the strike starts (s): the blow lands. | |
Enabled (bEnabled) | bool | True | Visibility | Interactables show themselves before use (highlight, hints, sparkles). Off = only the prompt in reach, as before. | |
Check Interval (CheckInterval) | float | 0.200000 | Visibility | How often the nearby objects are checked (s). | |
Default Highlight Color (DefaultHighlightColor) | FLinearColor | (R=1.000000,G=0.850000,B=0.450000,A=1.000000) | Visibility | ||
Highlight Color Parameter (HighlightColorParameter) | FName | Color | Visibility | ||
Highlight Distance (HighlightDistance) | float | 500.000000 | Visibility | Objects this near the player get the highlight (cm). | |
Highlight Material (HighlightMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/LivingWorld/M_RSE_InteractHighlight.M_RSE_InteractHighlight | Visibility | The highlight: an overlay material over the object's meshes (a rim glow); its Color Parameter takes the kind's color. | |
Hint Distance (HintDistance) | float | 1000.000000 | Visibility | Objects this near show their name and action over them (cm; a kind's Hint Distance wins). | |
Kind Colors (KindColors) | TMap<FGameplayTag,FLinearColor> | (5 entries) | Visibility | The highlight's color per kind (Interactable.Kind.*; the closest parent tag counts). | |
Max Hints (MaxHints) | int32 | 5 | Visibility | At most this many hints at once (the nearest). | |
Sparkle Distance (SparkleDistance) | float | 3000.000000 | Visibility | Sparkles show only this near the player (cm; 0 = always). | |
Sparkle Height (SparkleHeight) | float | 25.000000 | Visibility | Above the top of the object (cm). | |
Sparkle Material (SparkleMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/LivingWorld/M_RSE_Sparkle.M_RSE_Sparkle | Visibility | The sparkle of valuables: a small camera-facing sprite with this material (or a Niagara system, which wins). | |
Sparkle Niagara (SparkleNiagara) | TSoftObjectPtr<UNiagaraSystem> | None | Visibility | ||
Sparkle Size (SparkleSize) | float | 36.000000 | Visibility |
RPG Saga Engine: Map & Minimap
Class URSEMapSettings (module RSE), Project Settings, Project, RPG Saga Engine. Area map and minimap (D-089).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Area Map Backdrop (AreaMapBackdrop) | FRSEUIColor | (Token="Primary",Alpha=0.900000,Lightness=-0.526921,Chroma=0.679858,Hue=0.163523,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Area Map | Background of the area map screen around the map. | |
Area Map Size (AreaMapSize) | float | 760.000000 | Area Map | Side of the square map view on the area map screen, in pixels at 1080p (smaller screens scale the window down). | |
Area Map View Height (AreaMapViewHeight) | float | 760.000000 | Area Map | ||
Area Map View Width (AreaMapViewWidth) | float | 1300.000000 | Area Map | The map view on the area map screen, in pixels at 1080p (D-092): a wide view that fills the screen. 0 = the square Area Map Size. Smaller screens scale the window down. | |
Area Map Widget Class (AreaMapWidgetClass) | TSoftClassPtr<URSEScreenWidget> | /Script/RSE.RSEAreaMapWidget | Area Map | Full area map screen (D-052). Empty = the built-in screen; a Widget Blueprint derived from RSEScreenWidget receives a RSEAreaMapViewModel. | |
Area Map ZOrder (AreaMapZOrder) | int32 | 60 | Area Map | ||
Area Map in Party Menu (bAreaMapInPartyMenu) | bool | True | Area Map | D-148: the area map is a tab of the party menu (Map), like the other pages: the Map key opens the menu on it, the journal's "Show on map" moves to it. Off (or a game without the built-in party menu) = the area map screen of D-089 on its own. | |
Fit Playable Area (bFitPlayableArea) | bool | True | Area Map | At zoom 1 the view fits the playable area (not the whole picture), and panning stays near it. | |
Open on Player (bOpenOnPlayer) | bool | True | Area Map | The area map opens centered on the player (else on the whole map). | |
Show Region Names (bShowRegionNames) | bool | True | Area Map | ||
Center Keys (CenterKeys) | TArray<FKey> | (2 entries) | Area Map | Center the view on the player. | |
Legend Keys (LegendKeys) | TArray<FKey> | (2 entries) | Area Map | Keys of the area map beyond the menu keys: show / hide the legend filters (gamepad: move into the legend). | |
Legend Width (LegendWidth) | float | 260.000000 | Area Map | Width of the legend column in pixels. | |
Major Region Label Size (MajorRegionLabelSize) | int32 | 24 | Area Map | ||
Max Zoom (MaxZoom) | float | 6.000000 | Area Map | Zoom range of the area map (1 = the whole map fits the view). | |
Menu Tab Zoom Prompt Keys (MenuTabZoomPromptKeys) | TArray<FKey> | (2 entries) | Area Map | D-148: the keys the Map tab's hint shows for zooming (the camera zoom input's: the wheel, the gamepad's triggers). | |
Minor Region Label Size (MinorRegionLabelSize) | int32 | 13 | Area Map | Region names by importance (Minor, Normal, Major): size at zoom 1 (theme display font). | |
Minor Region Label Zoom (MinorRegionLabelZoom) | float | 1.800000 | Area Map | Minor region names show from this zoom. | |
Open Zoom (OpenZoom) | float | 1.000000 | Area Map | Zoom the area map opens at (1 = the playable area fits the view). | |
Pan Step (PanStep) | float | 0.120000 | Area Map | Share of the visible map one D-pad / arrow press pans. | |
Pin Wheel Back Prompt Keys (PinWheelBackPromptKeys) | TArray<FKey> | (3 entries) | Area Map | D-152: the keys the pin wheel names to back out (those of the device in use; a click outside the slices cancels too). | |
Player Arrow Icon (PlayerArrowIcon) | TSoftObjectPtr<UTexture2D> | None | Area Map | Optional arrow icon (points up); empty = a drawn triangle. | |
Player Arrow Size (PlayerArrowSize) | float | 22.000000 | Area Map | Player arrow size in pixels on the area map. | |
Player Color (PlayerColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Lightness=0.044895,Chroma=0.961445,Hue=11.376876,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Area Map | ||
Region Label Color (RegionLabelColor) | FRSEUIColor | (Token="Text",Alpha=0.950000,Lightness=0.012879,Chroma=4.664923,Hue=165.714676,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Area Map | ||
Region Label Outline (RegionLabelOutline) | FRSEUIColor | (Token="Primary",Alpha=0.850000,Lightness=-0.277798,Chroma=0.166567,Hue=167.457993,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Area Map | Outline of region names (dark, for contrast on any ground). | |
Region Label Outline Size (RegionLabelOutlineSize) | int32 | 2 | Area Map | ||
Region Label Size (RegionLabelSize) | int32 | 14 | Area Map | Region name size (theme display font) at zoom 1; it grows a little as the player zooms in. | |
Zoom Step (ZoomStep) | float | 1.400000 | Area Map | Zoom factor of one wheel notch or one tab press. | |
Compass North from Map (bCompassNorthFromMap) | bool | True | Compass | North on the compass is the map's north (else the world's +X). | |
Compass Pin Objective to Edge (bCompassPinObjectiveToEdge) | bool | True | Compass | The tracked objective stays at the bar's edge with an arrow when it is behind the player. | |
Compass Show Distance (bCompassShowDistance) | bool | True | Compass | Distance in meters under the tracked objective and pins. | |
Show Compass (bShowCompass) | bool | True | Compass | The compass at the top of the screen: cardinal points, the tracked objective, pins and important places (players can turn it off). | |
Compass Background (CompassBackground) | FRSEUIColor | (Token="Primary",Alpha=0.550000,Lightness=-0.348694,Chroma=0.179359,Hue=21.284424,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Compass | ||
Compass Cardinal Names (CompassCardinalNames) | TArray<FText> | (8 entries) | Compass | Letters of the cardinal points (north, east, south, west) and of the four between them (NE, SE, SW, NW). | |
Compass Fade Start (CompassFadeStart) | float | 12000.000000 | Compass | Places start fading out from this distance (to Compass Max Distance). | |
Compass Field Of View (CompassFieldOfView) | float | 170.000000 | Compass | How much of the horizon the bar shows (degrees from edge to edge). | |
Compass Height (CompassHeight) | float | 34.000000 | Compass | ||
Compass Max Distance (CompassMaxDistance) | float | 25000.000000 | Compass | Places farther than this are not shown (the tracked objective and pins always are). | |
Compass North Color (CompassNorthColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=0.024303,Chroma=0.871947,Hue=7.490834,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Compass | ||
Compass Tick Color (CompassTickColor) | FRSEUIColor | (Token="Text",Alpha=0.800000,Lightness=-0.001490,Chroma=4.197116,Hue=169.197342,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Compass | ||
Compass Top Offset (CompassTopOffset) | float | 18.000000 | Compass | Distance from the top of the screen in pixels at 1080p. | |
Compass Vertical Threshold (CompassVerticalThreshold) | float | 400.000000 | Compass | Up / down arrow when a place is this much higher or lower than the player. | |
Compass Widget Class (CompassWidgetClass) | TSoftClassPtr<URSEScreenWidget> | /Script/RSE.RSECompassWidget | Compass | Compass HUD (D-052). Empty = the built-in one; a Widget Blueprint derived from RSEScreenWidget receives a RSECompassViewModel. | |
Compass Width (CompassWidth) | float | 620.000000 | Compass | Width and height of the compass bar in pixels at 1080p. | |
Compass ZOrder (CompassZOrder) | int32 | 2 | Compass | ||
Show Difficulty Overlay (bShowDifficultyOverlay) | bool | True | Difficulty Overlay | The area map tints each zone of the level by how dangerous it is for the party now: a zone is a part of the level covered by an RSE Area Volume whose area names a progression zone (its level = the middle of the zone's enemy levels). The rating uses Interactables -> Danger margins, like the danger warnings. The player can turn it off (options menu). | |
Difficulty Colors (DifficultyColors) | TArray<FLinearColor> | (4 entries) | Difficulty Overlay | The tint per rating: Safe, Fair, Risky, Deadly. Keep the alpha low: the overlay should be barely there, but noticeable. | |
Difficulty Overlay Blur (DifficultyOverlayBlur) | int32 | 3 | Difficulty Overlay | Blur passes that soften the zones' edges (0 = hard edges). | |
Difficulty Overlay Resolution (DifficultyOverlayResolution) | int32 | 128 | Difficulty Overlay | Overlay pixels per map side (blurred and filtered: zones get soft edges; 128 costs 64 KB). | |
Fog Of War (bFogOfWar) | bool | False | Fog Of War | Unexplored parts of maps stay hidden until the player comes near (a map can override it). | |
Fog Color (FogColor) | FLinearColor | (R=0.020000,G=0.020000,B=0.030000,A=0.920000) | Fog Of War | ||
Fog Resolution (FogResolution) | int32 | 96 | Fog Of War | Fog cells per map side (the saved mask is Resolution x Resolution bits). | |
Reveal Interval (RevealInterval) | float | 0.500000 | Fog Of War | How often the fog is revealed around the player. | |
Reveal Radius (RevealRadius) | float | 2500.000000 | Fog Of War | How far around the player the map is revealed. | |
Auto Markers (AutoMarkers) | TArray<FRSEMapAutoMarkerRule> | (10 entries) | Markers | Which actors get markers automatically (first match wins). | |
Card Player Category (CardPlayerCategory) | FGameplayTag | (TagName="Map.Marker.CardPlayer") | Markers | D-157: NPCs with a Card Challenger component (card players) get this category when no rule gave them another. | |
Categories (Categories) | TArray<FRSEMapMarkerCategory> | (18 entries) | Markers | How every marker category looks. Categories without an entry use a white dot. | |
Objective Category (ObjectiveCategory) | FGameplayTag | (TagName="Map.Marker.Objective") | Markers | Category of the tracked quest's objective marker. | |
Pin Category (PinCategory) | FGameplayTag | (TagName="Map.Marker.Pin") | Markers | Category of player pins. | |
Quest Giver Category (QuestGiverCategory) | FGameplayTag | (TagName="Map.Marker.QuestGiver") | Markers | NPCs whose Map Marker component (or quest-giver id) names the giver of a quest the player can start get this category. | |
Quest Objective Category (QuestObjectiveCategory) | FGameplayTag | (TagName="Map.Marker.QuestObjective") | Markers | Category of current objectives of active quests that are not tracked (D-092). | |
Update Interval (UpdateInterval) | float | 0.100000 | Markers | How often moving markers (roaming enemies) and the player position are refreshed. | |
Battle Check Interval (BattleCheckInterval) | float | 0.250000 | Minimap | How often the minimap checks whether a battle runs (it hides during battles). | |
Minimap Compass Ring (bMinimapCompassRing) | bool | True | Minimap | D-148: a compass ring around the minimap with N / E / S / W (turning with the map; north highlighted). | |
Minimap Info Lines (bMinimapInfoLines) | bool | True | Minimap | Shows the extra lines other systems put under the minimap (the clock, D-104; URSEMapWorldSubsystem::SetMinimapInfo). | |
Minimap Region Name (bMinimapRegionName) | bool | True | Minimap | Shows the name of the region the player is in under the minimap. | |
Minimap Smooth Motion (bMinimapSmoothMotion) | bool | True | Minimap | D-152: the minimap glides between its position updates (a few per second): the view, the player arrow and the markers move every frame from where they are shown toward the newest update, over the time between updates, so it never steps or jumps while following, turning or stopping. Ticks only while the minimap is shown and moving. | |
Pin Objective to Edge (bPinObjectiveToEdge) | bool | True | Minimap | The objective marker sticks to the minimap's edge with an arrow when it is out of view. | |
Show Minimap (bShowMinimap) | bool | True | Minimap | --- Minimap --- | |
Default Minimap Zoom (DefaultMinimapZoom) | int32 | 1 | Minimap | ||
Game Modes Without Minimap (GameModesWithoutMinimap) | TArray<TSoftClassPtr<AGameModeBase> > | (1 entries) | Minimap | No minimap in worlds run by these game modes (main menu). | |
Minimap Alignment (MinimapAlignment) | FVector2D | (X=1.000000,Y=0.000000) | Minimap | ||
Minimap Anchor (MinimapAnchor) | FVector2D | (X=1.000000,Y=0.000000) | Minimap | Normalized screen anchor and pivot of the minimap, plus a pixel offset. | |
Minimap Background (MinimapBackground) | FRSEUIColor | (Token="Primary",Alpha=0.850000,Lightness=-0.348694,Chroma=0.179359,Hue=21.284424,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Minimap | ||
Minimap Frame Color (MinimapFrameColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Lightness=-0.003934,Chroma=0.384095,Hue=0.870895,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Minimap | ||
Minimap Frame Width (MinimapFrameWidth) | float | 3.000000 | Minimap | ||
Minimap Glide Max Seconds (MinimapGlideMaxSeconds) | float | 0.350000 | Minimap | ||
Minimap Glide Min Seconds (MinimapGlideMinSeconds) | float | 0.040000 | Minimap | D-152: the glide toward an update lasts the time since the previous update, kept inside these limits (seconds). | |
Minimap Icon Scale (MinimapIconScale) | float | 0.750000 | Minimap | Minimap icons are this share of their area map size. | |
Minimap Offset (MinimapOffset) | FVector2D | (X=-24.000000,Y=24.000000) | Minimap | ||
Minimap Ring Color (MinimapRingColor) | FRSEUIColor | (Token="Primary",Alpha=0.820000,Lightness=-0.310384,Chroma=0.141913,Hue=21.671797,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Minimap | ||
Minimap Ring Text Color (MinimapRingTextColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=-0.001490,Chroma=4.197116,Hue=169.197342,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Minimap | ||
Minimap Ring Width (MinimapRingWidth) | float | 22.000000 | Minimap | D-148: width of the compass ring (pixels at 1080p, outside the map's edge) and its colors. | |
Minimap Rotation (MinimapRotation) | ERSEMinimapRotation | RotateWithPlayer | Minimap | How the minimap turns (the player may choose in Options -> Interface; D-148 default: around the player). | |
Minimap Shape (MinimapShape) | ERSEMinimapShape | Round | Minimap | ||
Minimap Size (MinimapSize) | float | 220.000000 | Minimap | Side (or diameter) in pixels at 1080p. | |
Minimap Snap Span Fraction (MinimapSnapSpanFraction) | float | 0.500000 | Minimap | D-152: a jump longer than this share of the visible span (a teleport, a zone change) is shown at once, not glided. | |
Minimap Turn Speed (MinimapTurnSpeed) | float | 540.000000 | Minimap | D-148: how fast a turning minimap follows the heading (degrees per second; 0 = at once). Smooths the 10 Hz position updates. | |
Minimap Widget Class (MinimapWidgetClass) | TSoftClassPtr<URSEScreenWidget> | /Script/RSE.RSEMinimapWidget | Minimap | Minimap HUD (D-052). Empty = the built-in screen; a Widget Blueprint derived from RSEScreenWidget receives a RSEMinimapViewModel. | |
Minimap Zoom Levels (MinimapZoomLevels) | TArray<float> | (3 entries) | Minimap | World width the minimap shows at each zoom level (meters across); the player cycles them. | |
Minimap ZOrder (MinimapZOrder) | int32 | 2 | Minimap | ||
Allow Pins (bAllowPins) | bool | True | Pins | Player pins on the area map (Confirm / right click). | |
Replace Oldest Pin (bReplaceOldestPin) | bool | True | Pins | With Max Pins Per Map reached, a new pin replaces the oldest one (off = it is refused). | |
Max Pins Per Map (MaxPinsPerMap) | int32 | 8 | Pins | Pins per map (0 = no limit). | |
Pin Pick Radius (PinPickRadius) | float | 0.030000 | Pins | A pin press this close (share of the visible map) to a pin edits it (change its type or remove it). | |
Pin Types (PinTypes) | TArray<FRSEMapPinType> | (6 entries) | Pins | The pin types the pin wheel offers, in wheel order (clockwise from the top). The first one is the default. | |
Pin Wheel Dead Zone (PinWheelDeadZone) | float | 0.300000 | Pins | Stick or mouse movement (share of the wheel radius) needed to pick a slice. | |
Pin Wheel Radius (PinWheelRadius) | float | 120.000000 | Pins | Radius of the pin wheel in pixels at 1080p. | |
Click Objective Opens Journal (bClickObjectiveOpensJournal) | bool | True | Quests | A click on an objective of the area map opens its quest in the journal. | |
Point to Exit for Other Levels (bPointToExitForOtherLevels) | bool | True | Quests | Objectives on another level point at the exit toward that level. | |
Show Quest Objectives (bShowQuestObjectives) | bool | True | Quests | Objectives of active quests with a place in the world show on the maps and the compass (players can turn it off). | |
Show Untracked Objectives (bShowUntrackedObjectives) | bool | True | Quests | Also the objectives of quests that are not tracked (smaller, dimmer). Off = only the tracked quest. | |
Objective Area Color (ObjectiveAreaColor) | FRSEUIColor | (Token="Accent",Alpha=0.180000,Lightness=-0.001825,Chroma=1.113716,Hue=1.749989,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Quests | Fill and outline of area objectives ("search the forest") on the maps. |
RPG Saga Engine: Map Generator
Class URSEMapGeneratorSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. How Generate Map pictures a level (D-089).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Landscape Bounds (bLandscapeBounds) | bool | True | Bounds | With a landscape, the map covers the landscape only (else every mesh of the level). | |
Bounds Source (BoundsSource) | ERSEMapBoundsSource | PlayableArea | Bounds | What the map frames when the level has no RSE Map Bounds Volume. Playable Area (default) leaves out the background (horizon mountains, sea, sky); without a navmesh or gameplay actors it falls back to the landscape, then every mesh. | |
Floating Margin (FloatingMargin) | float | 500.000000 | Bounds | Meshes floating this far above the playable area's top are left out (clouds, sky props). | |
Max Content Size (MaxContentSize) | float | 150000.000000 | Bounds | Meshes wider than this are background (sky spheres, horizon planes) and do not count for the bounds. | |
Padding (Padding) | float | 0.030000 | Bounds | Space around the level's content, as a share of its size on each side. | |
Playable Margin (PlayableMargin) | float | 1500.000000 | Bounds | Space kept around each gameplay actor when the playable area is measured from them. | |
Hide Canopies (bHideCanopies) | bool | True | Hidden | ||
Hide Foliage (bHideFoliage) | bool | False | Hidden | Leaves painted foliage out of the picture (grass and trees of the Foliage tool). | |
Hide Skeletal Meshes (bHideSkeletalMeshes) | bool | True | Hidden | Leaves skeletal meshes out (characters, animals, NPCs placed as plain meshes). | |
Canopy Tags (CanopyTags) | TArray<FName> | (1 entries) | Hidden | Tree canopies and roofs: actors or components with one of these tags are left out when Hide Canopies is on. | |
Hidden Classes (HiddenClasses) | TArray<TSoftClassPtr<AActor> > | (0 entries) | Hidden | Actors of these classes are left out of the picture (pawns and characters always are). | |
Hidden Tags (HiddenTags) | TArray<FName> | (1 entries) | Hidden | Actors or components with one of these tags are left out of the picture. | |
Building Keywords (BuildingKeywords) | TArray<FString> | (28 entries) | Layers | Buildings: drawn as clear shapes with an outline and a shadow. Very low ones (Flat Height) count as ground (floors, paving). | |
Building Min Height (BuildingMinHeight) | float | 250.000000 | Layers | ||
Building Min Size (BuildingMinSize) | float | 400.000000 | Layers | Unnamed meshes at least this wide and deep (and Building Min Height tall) are buildings; smaller ones are props. | |
Building Tag (BuildingTag) | FName | MapBuilding | Layers | Actor or component tags that put a mesh in a layer, whatever its name: MapBuilding, MapWater, MapForest, MapRock, MapGround. | |
Flat Height (FlatHeight) | float | 80.000000 | Layers | Building pieces lower than this are ground (floors, paving, docks). | |
Forest Keywords (ForestKeywords) | TArray<FString> | (14 entries) | Layers | Trees and bushes: merged into forest shapes. | |
Forest Tag (ForestTag) | FName | MapForest | Layers | ||
Ground Keywords (GroundKeywords) | TArray<FString> | (17 entries) | Layers | Ground surfaces (terrain meshes, roads, floors): their colors make the terrain. The landscape always is ground. | |
Ground Min Size (GroundMinSize) | float | 3000.000000 | Layers | Unnamed meshes wider than this are ground (big terrain pieces). | |
Ground Tag (GroundTag) | FName | MapGround | Layers | ||
Ignore Keywords (IgnoreKeywords) | TArray<FString> | (16 entries) | Layers | Meshes with these words are left out (grass tufts, flowers, logs, clouds...). Checked first. | |
Min Rock Height (MinRockHeight) | float | 60.000000 | Layers | Rocks lower than this are left out (pebbles). | |
Road Keywords (RoadKeywords) | TArray<FString> | (5 entries) | Layers | Ground meshes that are roads and paths (drawn in the style's road color). | |
Rock Keywords (RockKeywords) | TArray<FString> | (4 entries) | Layers | Rocks and cliffs. | |
Rock Tag (RockTag) | FName | MapRock | Layers | ||
Water Keywords (WaterKeywords) | TArray<FString> | (5 entries) | Layers | Water (mesh or material name). | |
Water Tag (WaterTag) | FName | MapWater | Layers | ||
Batch Excluded Folders (BatchExcludedFolders) | TArray<FString> | (2 entries) | Output | Batch generation (RSE.Map.Generate All) skips levels under these folders. | |
Data Prefix (DataPrefix) | FString | DA_Map_ | Output | ||
Output Subfolder (OutputSubfolder) | FString | Map | Output | Folder, next to the level, where the map's picture and data go. | |
Texture Prefix (TexturePrefix) | FString | T_Map_ | Output | ||
Default Style (DefaultStyle) | TSoftObjectPtr<URSEMapStyle> | /RPGSagaEngine/Data/Map/DA_MapStyle_Clean.DA_MapStyle_Clean | Picture | Style of new maps (a map data asset can name its own). Empty = the Clean look. | |
Resolution (Resolution) | int32 | 2048 | Picture | Picture size in pixels (square). 2048 is sharp on a Steam Deck and costs about 3 MB; a map can ask for its own. | |
Supersample (Supersample) | int32 | 2 | Picture | Renders at this multiple of the size and scales down (smoother edges). | |
Target Mid Gray (TargetMidGray) | float | 0.220000 | Picture | Target brightness of the picture's middle tones (0.18 = photographic middle gray). | |
Warmup Captures (WarmupCaptures) | int32 | 2 | Picture | Extra frames rendered before the picture (textures stream in, shadows settle). |
RPG Saga Engine: Mobile Rendering
Class URSEMobileSettings (module RSE), Project Settings, Project, RPG Saga Engine. Mobile rendering (M4, D-180, docs/product/mobile.md "Rendering"): the Low / Mid / High tiers with their device profiles and frame budgets, the maps of the Mobile Preview and the materials flagged with a mobile fallback.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Material Fallbacks (MaterialFallbacks) | TArray<FRSEMobileMaterialFallback> | (2 entries) | Materials | Materials known not to compile for ES3.1, with their fallback. | |
Apply RSEProfile in Preview (bApplyRSEProfileInPreview) | bool | True | Preview | Applies the tier's RSE device profile on top of the engine preview profile while the preview runs. The editor only lets scalability (sg.*) CVars through in a preview, so this mostly matters for the report. | |
Default Preview Platform (DefaultPreviewPlatform) | ERSEMobilePlatform | Android | Preview | Platform the Mobile Preview uses when none is given. | |
Default Preview Tier (DefaultPreviewTier) | FName | Mid | Preview | Tier the Mobile Preview uses when none is given, and the device tier when the engine's pick has no Low / Mid / High family. | |
Preview Maps (PreviewMaps) | TArray<FRSEMobilePreviewMap> | (2 entries) | Preview | Maps the Mobile Preview can open and capture. | |
Preview Settle Seconds (PreviewSettleSeconds) | float | 8.000000 | Preview | Seconds between the start of the play session and the first capture (assets stream in, shaders compile). | |
Report Folder (ReportFolder) | FString | Perf/Mobile | Preview | Report folder under Saved/ (a sub-folder per run). | |
Apply on Device (bApplyOnDevice) | bool | True | Tiers | On Android and iOS, applies the RSE device profile of the device's tier at game start (the tier is read from the engine's own device profile pick: Low / Mid / High family). A -dp= command line always wins. | |
Tiers (Tiers) | TArray<FRSEMobileTier> | (3 entries) | Tiers | Low / Mid / High: device profiles and budgets. Defaults: 30 FPS, <= 600 draw calls and <= 400k triangles on a high phone (design/industry-gaps.md 4.1). |
RPG Saga Engine: Narrative
Class URSENarrativeSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Narrative rules (Project Settings -> RPG Saga Engine -> Narrative): the story state of a new game.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Starting Flags (StartingFlags) | FGameplayTagContainer | () | New Game | Flags that are true when a new game starts. | |
Starting Unlocked Areas (StartingUnlockedAreas) | FGameplayTagContainer | () | New Game | Areas open from the start. | |
Starting Variables (StartingVariables) | TMap<FGameplayTag,int32> | (0 entries) | New Game | Variables with a non-zero starting value. |
RPG Saga Engine: Online
Class URSEOnlineSettings (module RSEOnline), Project Settings, Project, RPG Saga Engine. Online sessions (D-135, docs/product/online-sessions.md): which online service hosts and finds sessions, how many players, who can see a session, timeouts, reconnecting and the lobby screen.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Keep Slots for Reconnect (bKeepSlotsForReconnect) | bool | True | Hosting | Keep a dropped player's slot and character for them; it is given away only when a new player needs the place. | |
Host Map (HostMap) | TSoftObjectPtr<UWorld> | None | Hosting | Map the host opens when the session starts. Empty = stay on the current map and start listening there (drop-in on the map being played). | |
Join in Progress Policy (JoinInProgressPolicy) | ERSEJoinInProgressPolicy | SpectateUntilBattleEnds | Hosting | Players who join while a battle runs (D-124 §6: they watch until it ends, then get their character). | |
LANPort (LANPort) | int32 | 7777 | Hosting | Game port the host listens on (LAN and other IP services; Steam and EOS use their own relays). 0 = the engine's default. | |
Lobby Update Interval (LobbyUpdateInterval) | float | 1.000000 | Hosting | Seconds between two lobby advertisement updates (slots, characters, battle flag); changes in between are merged. | |
Max Players (MaxPlayers) | int32 | 4 | Hosting | Players in a session, host included. The co-op rules (D-094) are made for 2 to 4. | |
Visibility (Visibility) | ERSELobbyVisibility | FriendsOnly | Hosting | Who can find and join a hosted session (Steam / EOS; LAN sessions are always visible on the local network). | |
Hide Incompatible Sessions (bHideIncompatibleSessions) | bool | False | Joining | Hide sessions of other game versions from search results (otherwise they are listed as incompatible). | |
Leave Map (LeaveMap) | TSoftObjectPtr<UWorld> | None | Joining | Map a client opens after leaving a session. Empty = the project's Game Default Map. | |
Max Search Results (MaxSearchResults) | int32 | 50 | Joining | Sessions shown per search. | |
Search Seconds (SearchSeconds) | float | 5.000000 | Joining | Seconds a search may run (LAN broadcast window; online services answer sooner). | |
Lobby Panel Width (LobbyPanelWidth) | float | 720.000000 | Lobby Screen | Width of the built-in lobby window (slate units at the reference resolution). | |
Lobby Widget Class (LobbyWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Lobby Screen | The lobby screen (host, find, join, invite, character choice). Empty = the built-in screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSELobbyViewModel (docs/product/custom-ui.md). | |
Lobby ZOrder (LobbyZOrder) | int32 | 60 | Lobby Screen | Viewport Z order of the lobby screen. | |
Add Menu Entries (bAddMenuEntries) | bool | True | Menus | Adds Host Game and Join Game to the main menu and Host Here, Join Game, Invite and Leave to the in-game menu (D-142, RSE's menu extension point). Off = the project shows its own entries (the session nodes do the same). | |
Auto Reconnect (bAutoReconnect) | bool | True | Reliability | A client whose connection drops tries to join the same session again. | |
Operation Timeout Seconds (OperationTimeoutSeconds) | float | 30.000000 | Reliability | Seconds any session operation (create, search, join, travel, leave) may take before it fails with Timeout. | |
Reconnect Attempts (ReconnectAttempts) | int32 | 3 | Reliability | Reconnect attempts before giving up. | |
Reconnect Delay Seconds (ReconnectDelaySeconds) | float | 3.000000 | Reliability | Seconds before each reconnect attempt. | |
Fallback to LAN (bFallbackToLAN) | bool | True | Service | When the chosen service is not available (Steam not running, EOS not configured, -nosteam), use the LAN provider instead of failing. The switch is logged and reported once as a notice. | |
Game Version (GameVersion) | FString | Service | Game version advertised by hosts and compared by joiners: players join only hosts with the same version. Empty = Project Settings -> Description -> Project Version. | ||
Provider Class (ProviderClass) | TSoftClassPtr<URSESessionProvider> | /Script/RSEOnline.RSESessionProvider_LAN | Service | The online service for sessions: RSESessionProvider_LAN (local network, no setup), RSESessionProvider_Steam, RSESessionProvider_EOS, or your own class derived from RSESessionProvider. Steam and EOS need their engine plugin enabled and configured (docs/product/online-sessions.md). The command line -RSESessionProvider=LAN|Steam|EOS|<class path> overrides it for one run. | |
Session Name (SessionName) | FName | GameSession | Service | The online service's name for the session (one session per game). |
RPG Saga Engine: Options
Class URSEOptionsSettings (module RSE), Project Settings, Project, RPG Saga Engine. The options screen (D-038): layout, the values offered to the player and the display defaults.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Volume Step (VolumeStep) | float | 0.050000 | Audio | Volume step of the audio sliders (left / right). | |
Action Names (ActionNames) | TArray<FRSEOptionsActionName> | (31 entries) | Controls | Names of the input actions in the controls list (the action's own Description wins when set; without either, the asset name is shown). | |
Allow Video Mode in Editor (bAllowVideoModeInEditor) | bool | False | Display | Resolution and window mode can be changed in the editor's play-in-editor (off: they only work in the game). | |
Default VSync (bDefaultVSync) | bool | True | Display | ||
Show Visual Style (bShowVisualStyle) | bool | True | Display | Offer the visual style presets (D-037) to the player. | |
Confirm Seconds (ConfirmSeconds) | float | 15.000000 | Display | Seconds the "Keep these settings?" question waits before the resolution / window mode goes back. | |
Default Frame Rate Limit (DefaultFrameRateLimit) | float | 0.000000 | Display | Frame rate limit restored by "Reset to defaults" (0 = uncapped). | |
Default Quality Level (DefaultQualityLevel) | int32 | 3 | Display | Overall quality restored by "Reset to defaults" (0 = Low / Steam Deck ... 3 = Epic). | |
Frame Rate Limits (FrameRateLimits) | TArray<float> | (4 entries) | Display | Frame rate limits offered (frames per second; 0 = uncapped). | |
Battle Speed Steps (BattleSpeedSteps) | TArray<float> | (4 entries) | Game | Battle presentation speeds offered (multipliers of Battle Presentation -> Playback Speed). | |
Default Language (DefaultLanguage) | FString | en | Game | The game's language until the player picks one in the options (D-083): a culture code (en, ro...). Used when neither the command line (-culture=), the player's saved choice nor the project's [Internationalization] Culture in DefaultGame.ini names one, so a new project starts in this language instead of the system's. Also the options screen's default. Empty = the system language. | |
Languages (Languages) | TArray<FString> | (0 entries) | Game | Allow-list of the languages offered (culture codes, e.g. en, fr). Empty = every culture with a compiled translation in any localization target (the plugin's, the game's, yours); otherwise only those of the list that are compiled. | |
Session Rule Locked Text (SessionRuleLockedText) | FText | NSLOCTEXT("RSEOptionsSettings", "SessionRuleLocked", "Set by the host") | Game | Note of a rule-of-play row a co-op guest cannot change (D-139): the host's value is shown, greyed out. Which rows are rules: Rules Profiles -> Co-op -> Session Rule Options. | |
Text Speed Names (TextSpeedNames) | TArray<FText> | (4 entries) | Game | Names of the dialog text speeds, one per Dialog -> Text Speed Steps entry (same order). Missing names show the speed in characters per second ("Instant" for 0). | |
Tutorials Off in Session Text (TutorialsOffInSessionText) | FText | NSLOCTEXT("RSEOptionsSettings", "TutorialsOffInSession", "Off in co-op") | Game | Note of the Tutorials row while a co-op session runs (no tutorials in co-op, D-124 §6.9). | |
Background Color (BackgroundColor) | FRSEUIColor | (Token="Primary",Alpha=0.800000,Lightness=-0.526921,Chroma=0.679858,Hue=0.163523,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Screen | Dims whatever is behind the screen. A UI color (D-162): it follows the UI style; old .ini colors load as a fixed color. | |
Choice Value Width (ChoiceValueWidth) | float | 260.000000 | Screen | Minimum width of the value between the arrows of choice rows; the column widens to the tab's longest value (measured, D-106). | |
Label Column Share (LabelColumnShare) | float | 0.460000 | Screen | Share of the list width taken by the option names (the values take the rest). | |
List Height (ListHeight) | float | 400.000000 | Screen | Height of the scrolling list of rows. | |
Next Glyph (NextGlyph) | FText | INVTEXT("›") | Screen | ||
Previous Glyph (PreviousGlyph) | FText | INVTEXT("‹") | Screen | Glyphs of the value arrows on choice rows (clickable). | |
Slider Height (SliderHeight) | float | 8.000000 | Screen | ||
Slider Width (SliderWidth) | float | 220.000000 | Screen | Width of slider bars. | |
Vertical Anchor (VerticalAnchor) | float | 0.500000 | Screen | Normalized screen height of the window's center. | |
Widget Class (WidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screen | Options screen (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEOptionsViewModel (docs/product/custom-ui.md). | |
Width (Width) | float | 900.000000 | Screen | ||
ZOrder (ZOrder) | int32 | 60 | Screen | Z-order in the viewport (above HUDs, the party menu and the main menu). |
RPG Saga Engine: Pacts
Class URSEPactSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Global Pact rules (D-013).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Award Fallen Members (bAwardFallenMembers) | bool | False | Points | Whether members that ended the battle KO still earn points for their Pact. | |
Points Per Enemy Defeated (PointsPerEnemyDefeated) | int32 | 2 | Points | Extra points per enemy defeated in that battle. | |
Points Per Victory (PointsPerVictory) | int32 | 10 | Points | Points each Pact that fought (bound to a party member) earns for a victory. | |
Summon Resource (SummonResource) | FGameplayTag | (TagName="Resource.Resonance") | Resonance | The resource a summon costs: a full bar is required and consumed (D-013). Resonance is an ordinary resource of the attribute registry (D-054): its bar size, start value, gains (Pact rates: Pact.OnAct, Pact.OnHit, Pact.PerDamagePercent) and whether it grows while the summon is out are set there (Attributes settings). | |
Backlash Can Defeat (bBacklashCanDefeat) | bool | False | Summon | Whether backlash damage may defeat the summoner (false: it leaves at least 1 HP). | |
Summoner Return ATBFraction (SummonerReturnATBFraction) | float | 0.000000 | Summon | ATB: gauge the summoner has when it comes back, as a fraction of the full gauge. | |
Summon Initial ATBFraction (SummonInitialATBFraction) | float | 0.500000 | Summon | ATB: gauge a summon starts with, as a fraction of the full gauge. | |
Summon Initial CTFraction (SummonInitialCTFraction) | float | 0.500000 | Summon | Tactics: CT a summon starts with, as a fraction of the CT threshold. | |
Summon Placement Range (SummonPlacementRange) | int32 | 3 | Summon | Tactics: how far from the summoner (tiles) a summon or a reinforcement may appear when the tiles next to it are taken (D-081): the nearest free walkable tile. 1 = next to it only. |
RPG Saga Engine: Paired Animation Detection
Class URSEPairedDetectSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. How the Animation & FX Library recognizes paired clips in packs (D-172): role words ("Attacker" / "Victim"), pair words ("Sync", "Paired", "Finisher"...) and the words of each kind.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Counter Words (CounterWords) | TArray<FString> | (3 entries) | Kinds | ||
Finisher Words (FinisherWords) | TArray<FString> | (7 entries) | Kinds | ||
Grab Words (GrabWords) | TArray<FString> | (5 entries) | Kinds | ||
Parry Words (ParryWords) | TArray<FString> | (2 entries) | Kinds | ||
Register Library (bRegisterLibrary) | bool | True | Output | Create Pairs adds the library to Project Settings -> Paired Animations -> Libraries. | |
Library Asset Name (LibraryAssetName) | FString | DA_PairedLibrary | Output | Name of the library Create Pairs adds the pairs to (created in the output folder when missing). | |
Output Folder (OutputFolder) | FDirectoryPath | () | Output | Folder (under the scanned one) where Create Pairs writes the montages, pair assets and the library. Empty = "<folder>/Paired". | |
Length Tolerance (LengthTolerance) | float | 0.250000 | Pairs | Clips whose lengths differ by more than this share are still proposed, with a lower confidence. | |
Pair Words (PairWords) | TArray<FString> | (14 entries) | Pairs | Words that mark a clip as half of a pair (in its name or folder). | |
Attacker Words (AttackerWords) | TArray<FString> | (13 entries) | Roles | Words of the attacker's clip (the unit acting). One-letter words ("A") count only when the clip also has a pair word. | |
Victim Words (VictimWords) | TArray<FString> | (10 entries) | Roles | Words of the victim's clip. One-letter words ("B") count only when the clip also has a pair word. |
RPG Saga Engine: Paired Animations
Class URSEPairedAnimationSettings (module RSE), Project Settings, Project, RPG Saga Engine. Paired animations and finishers (D-172): which libraries hold the pairs, how often finishers play, the alignment, the default camera and slow motion.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Libraries (Libraries) | TArray<TSoftObjectPtr<URSEPairedAnimationLibrary> > | (0 entries) | Content | Libraries the pairs are picked from (in order; all of them are searched). | |
Default Camera Distance (DefaultCameraDistance) | float | 420.000000 | Default Look | Distance of the default shot (cm; negative = Battle Presentation's). | |
Default Camera FOV (DefaultCameraFOV) | float | 50.000000 | Default Look | Field of view of the default shot (0 = Battle Presentation's). | |
Default Camera Height (DefaultCameraHeight) | float | 20.000000 | Default Look | ||
Default Camera Shot (DefaultCameraShot) | ERSECameraShot | TwoShot | Default Look | Camera of pairs without their own (when the battle allows camera shots). | |
Default Slow Motion Blend Out (DefaultSlowMotionBlendOut) | float | 0.400000 | Default Look | ||
Default Slow Motion Dilation (DefaultSlowMotionDilation) | float | 0.300000 | Default Look | Slow motion at the sync point of pairs without their own curve: dilation (1 = none). Reduced effects turn it off. | |
Default Slow Motion Hold (DefaultSlowMotionHold) | float | 0.300000 | Default Look | Real seconds the default slow motion holds, then eases back over Default Slow Motion Blend Out. | |
Finishers (bFinishers) | bool | True | Finishers | Master switch: kills may play a finisher. | |
Player Side Only (bPlayerSideOnly) | bool | False | Finishers | Only kills by the player's side play finishers (enemies' kills keep their ordinary look). | |
Cooldown Actions (CooldownActions) | int32 | 2 | Finishers | Actions that must pass after a finisher before the next one may play by chance (0 = none; Always ignores it). | |
Default Frequency (DefaultFrequency) | ERSEFinisherFrequency | Sometimes | Finishers | How often finishers play when the player never chose (Options -> Finishers overrides it). | |
Last Kill Chance (LastKillChance) | float | 1.000000 | Finishers | Chance when the kill ends the battle (the last foe falls), frequency Sometimes. | |
Sometimes Chance (SometimesChance) | float | 0.350000 | Finishers | Chance of a finisher on a kill when the frequency is Sometimes (and a pair fits). | |
Align Seconds (AlignSeconds) | float | 0.200000 | Playback | Seconds the alignment slide takes when the pair does not say. | |
Approach Beyond (ApproachBeyond) | float | 150.000000 | Playback | The attacker runs to the victim first (and back after) when farther than the pair's distance plus this (cm; the ATB stage). | |
Hold Victim Down Pose (bHoldVictimDownPose) | bool | True | Playback | A victim that falls holds the last pose of its montage (no second fall from its knock-out animation). | |
Skippable (bSkippable) | bool | True | Playback | Confirm / Cancel skip a pair (its results still show). | |
Use Motion Warping (bUseMotionWarping) | bool | True | Playback | Attackers with a motion warping component are carried by their montage's warp window instead of the slide. | |
Motion Warping Component Class (MotionWarpingComponentClass) | FSoftClassPath | /Script/MotionWarping.MotionWarpingComponent | Playback | The motion warping component class looked for on the attacker (optional plugin; nothing breaks when it is missing). | |
Synced Counters (bSyncedCounters) | bool | True | Reactions | Counter abilities play a Counter pair when one fits (else their ordinary look). | |
Synced Parries (bSyncedParries) | bool | True | Reactions | Parries known before the presentation (action battles, Blueprint) play a Parry pair when one fits. |
RPG Saga Engine: Party
Class URSEPartySettings (module RSECore), Project Settings, Project, RPG Saga Engine. Party rules and the new-game party.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Defeat Recovery HPPercent (DefeatRecoveryHPPercent) | float | 0.000000 | Defeat | HP fallen members get back after a story battle the party may lose, in percent of maximum HP. | |
Defeat Recovery Min HP (DefeatRecoveryMinHP) | float | 1.000000 | Defeat | At least this much HP (so 0% still means "back on their feet"). | |
Starting Members (StartingMembers) | TArray<TSoftObjectPtr<URSECharacterData> > | (4 entries) | New Game | Party members when a new game starts (recruitment adds more later, Phase 8). Global only. |
RPG Saga Engine: Party Field
Class URSEPartyFieldSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Party field settings (D-097): the visible party in exploration, its formation and the delegated commands.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Arrive Distance (ArriveDistance) | float | 150.000000 | Commands | A member who reaches the target of Search / Interact within this distance acts (cm). | |
Commands (Commands) | TArray<TSoftObjectPtr<URSEPartyCommandData> > | (6 entries) | Commands | The delegated commands of the radial menu (in Sort Order). | |
Guard Warning Radius (GuardWarningRadius) | float | 1500.000000 | Commands | Guard: a guarding member warns when an enemy comes this close (cm). | |
Scout Report Radius (ScoutReportRadius) | float | 1800.000000 | Commands | Scout: enemies within this distance of the scout's path are reported (cm). | |
Formation Slots (FormationSlots) | TArray<FVector2D> | (3 entries) | Formation | Places of the followers relative to the leader (cm; X forward, Y right): one per follower in order; more followers than places line up behind the last rows. | |
Hold Distance (HoldDistance) | float | 90.000000 | Formation | A follower closer than this to its place stands. | |
Run Distance (RunDistance) | float | 650.000000 | Formation | Farther than this it runs to catch up (closer: walks). D-150: 650 (was 400): members may lag a little before they run. | |
Run Speed (RunSpeed) | float | 600.000000 | Formation | Running speed of followers catching up (cm/s). | |
Teleport Distance (TeleportDistance) | float | 3000.000000 | Formation | Farther than this from the leader it appears near the leader (stuck, another floor). 0 = never. | |
Think Interval (ThinkInterval) | float | 0.200000 | Formation | Seconds between the followers' decisions (a timer, no Tick). | |
Walk Speed (WalkSpeed) | float | 250.000000 | Formation | Walking speed of followers (cm/s). | |
Avoidance Radius (AvoidanceRadius) | float | 300.000000 | Life | D-129: how far a follower looks for others to steer around (cm). D-150: 300 (was 150), for the roomier spacing. | |
Followers Avoid Each Other (bFollowersAvoidEachOther) | bool | True | Life | D-129: followers steer around each other (the engine's RVO avoidance on their movement): no crowding in corridors. | |
Followers Avoid Leader (bFollowersAvoidLeader) | bool | True | Life | D-150: followers also steer around the leader (the leader is an avoidance agent that never yields itself: its movement stays exactly the player's). Needs Followers Avoid Each Other. | |
Interactables Are Points Of Interest (bInteractablesArePointsOfInterest) | bool | True | Life | D-129: resting members also look at interactable objects nearby (chests, doors, NPCs), besides RSE Idle Spots of interest. | |
Catch Up Speed Margin (CatchUpSpeedMargin) | float | 90.000000 | Life | D-129: a member catching up (running) is always at least this much faster than the leader (cm/s), whatever its own pace. | |
Follower Avoidance Weight (FollowerAvoidanceWeight) | float | 0.500000 | Life | D-150: how much a follower yields to others it meets (the engine's avoidance weight, 0..1; the leader never yields). | |
Follower Profile (FollowerProfile) | TSoftObjectPtr<URSEFollowerProfile> | /RPGSagaEngine/Data/PartyField/DA_FollowerProfile_Default.DA_FollowerProfile_Default | Life | D-129: how the party's members follow and live (their loose places, their pace, their idle behaviours). A character may have its own (Character -> Follower Profile). Empty = the formation slots exactly and no idle life. | |
Follower Seed (FollowerSeed) | int32 | 129 | Life | D-129: the seed of the followers' choices (drift, pace, idle picks): the same seed plays the same party life. | |
Leader Moving Speed (LeaderMovingSpeed) | float | 40.000000 | Life | D-129: the leader counts as walking above this speed (cm/s): followers react, idle life stops at once. | |
Move Acceptance Radius (MoveAcceptanceRadius) | float | 40.000000 | Life | D-150: a follower's move ends this close to where it aims (cm). | |
Repath Distance (RepathDistance) | float | 60.000000 | Life | D-150: a follower asks for a new path only when where it aims moved at least this far (cm; fewer path queries). | |
Spot Arrive Distance (SpotArriveDistance) | float | 30.000000 | Life | P32d: a member walking to an idle spot (a seat, a wall) arrives within this distance (cm), then steps onto the spot's exact place and facing (swept: never into a wall) before its loop starts, so it sits on the bench, not next to it. | |
Show Party in Exploration (bShowPartyInExploration) | bool | True | Visible Party | Party members walk behind the leader in exploration (off = only the leader is visible, as before D-097). | |
Max Followers (MaxFollowers) | int32 | 3 | Visible Party | Most members following the leader (the ATB formation order; the rest stay hidden). |
RPG Saga Engine: Performance
Class URSEPerformanceSettings (module RSE), Project Settings, Project, RPG Saga Engine. Performance (D-048, docs/design/performance.md): the Steam Deck device profile selection and the scripted benchmark (RSE.Perf.Benchmark).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Benchmark Steps (BenchmarkSteps) | TArray<FRSEBenchmarkStep> | (17 entries) | Benchmark | The scripted sequence of RSE.Perf.Benchmark. Runs unattended: no step needs input. | |
Quit when Unattended (bQuitWhenUnattended) | bool | True | Benchmark | Quits the game when the benchmark ends if it was started unattended (-unattended) or with the Quit argument. | |
Budget (Budget) | FRSEPerfBudget | (MinAverageFPS=30.000000,MinOnePercentLowFPS=25.000000,HitchFrameMs=100.000000,MaxAverageGPUMs=17.000000,MaxDrawCalls=1500,MaxPrimitives=2000000,MaxUsedPhysical... | Benchmark | Limits every segment is checked against (Steam Deck: 30 FPS minimum). | |
Uncap Frame Rate (bUncapFrameRate) | bool | True | Benchmark | Removes the frame rate limit and VSync while the benchmark runs (measures the headroom); restored after. | |
Write Frame Csv (bWriteFrameCsv) | bool | True | Benchmark | Also writes frames.csv (every recorded frame). | |
Map Load Timeout Seconds (MapLoadTimeoutSeconds) | float | 60.000000 | Benchmark | Time limit for a map load before the step is skipped. | |
Report Folder (ReportFolder) | FString | Perf | Benchmark | Report folder under Saved/ (a sub-folder per run: <timestamp>[_Deck]). | |
Warmup Seconds (WarmupSeconds) | float | 1.000000 | Benchmark | Frames skipped at the start of each capture (after loads and camera cuts). | |
Apply Deck Profile (bApplyDeckProfile) | bool | True | Steam Deck | Applies the Deck profile at startup when the game runs on a Steam Deck (SteamDeck=1 from Steam, -SteamDeck, or Input -> Devices -> Simulate Steam Deck). A -dp= / -DeviceProfile= command line always wins. | |
Deck Device Profile (DeckDeviceProfile) | FString | SteamDeck | Steam Deck | Device profile applied on a Steam Deck (Windows build under Proton, and the default name for RSE.Visual.DeckPreview / -dp=). | |
Deck First Run Frame Rate Limit (DeckFirstRunFrameRateLimit) | float | 40.000000 | Steam Deck | Frame rate limit set once, on the first start on a Deck (the player can change it in Options -> Display). 40 matches the Deck's 40 Hz mode; 30 saves battery. 0 = leave the limit alone. | |
Deck Linux Device Profile (DeckLinuxDeviceProfile) | FString | SteamDeck_Linux | Steam Deck | Device profile applied on a Steam Deck running a native Linux build. Empty = DeckDeviceProfile. | |
Deck Preview Resolution (DeckPreviewResolution) | FIntPoint | (X=1280,Y=800) | Steam Deck | Window size of RSE.Visual.DeckPreview (the Deck screen). |
RPG Saga Engine: Phone UI
Class URSEPhoneUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Phone UI (D-180, docs/product/mobile.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Use Phone Layouts (bUsePhoneLayouts) | bool | True | Phone Layouts | Screens use their phone layout while the phone UI is on (a UI style's custom layout still wins). | |
Phone ATB / Turn-Based HUD Layout (PhoneATBHUDLayout) | TSoftClassPtr<URSEATBHUDLayout> | None | Phone Layouts | ||
Phone Dialog Layout (PhoneDialogLayout) | TSoftClassPtr<URSEDialogLayout> | None | Phone Layouts | ||
Phone Grid Tactics HUD Layout (PhoneGridHUDLayout) | TSoftClassPtr<URSEGridHUDLayout> | None | Phone Layouts | ||
Phone Live Tactics HUD Layout (PhoneLiveHUDLayout) | TSoftClassPtr<URSELiveHUDLayout> | None | Phone Layouts | ||
Phone Party Menu Layout (PhonePartyMenuLayout) | TSoftClassPtr<URSEPartyMenuLayout> | None | Phone Layouts | ||
Max Phone Diagonal Inches (MaxPhoneDiagonalInches) | float | 7.600000 | Phone UI | Screens up to this diagonal are phones (bigger ones are tablets: physical scaling, but the regular layouts). | |
Phone UI (PhoneUI) | ERSEPhoneUIMode | Auto | Phone UI | ||
Desktop DPI (DesktopDPI) | float | 96.000000 | Physical Scaling | DPI assumed for desktop screens (millimetre sizes of touch controls on PC). | |
Fallback Phone DPI (FallbackPhoneDPI) | float | 420.000000 | Physical Scaling | DPI assumed when a phone does not report one. | |
Max Canvas Short Side (MaxCanvasShortSide) | float | 1080.000000 | Physical Scaling | ...and at most this many (big tablets do not get a tiny UI). | |
Min Canvas Short Side (MinCanvasShortSide) | float | 620.000000 | Physical Scaling | The screen's short side keeps at least this many layout units (small phones shrink the unit instead of losing the UI). | |
Target Unit Millimetres (TargetUnitMillimetres) | float | 0.105000 | Physical Scaling | Size of one layout unit on the glass of a phone or tablet. | |
Apply Platform Safe Area (bApplyPlatformSafeArea) | bool | True | Safe Area | The platform's safe area (notch, rounded corners, home indicator) moves every screen's parts inside it. | |
Simulate Phone (bSimulatePhone) | bool | False | Simulation | Simulate a phone on PC (physical scaling with Simulated DPI, phone layouts, the simulated safe area). RSE.UI.Phone.Simulate overrides it. | |
Simulated DPI (SimulatedDPI) | float | 405.000000 | Simulation | DPI of the simulated phone (a 6.5" 2400 x 1080 phone is about 405). | |
Simulated Resolution (SimulatedResolution) | FIntPoint | (X=2400,Y=1080) | Simulation | Screen size used when there is no game viewport (headless tests, tools). | |
Simulated Safe Insets (SimulatedSafeInsets) | FMargin | (Left=96.000000,Right=48.000000,Bottom=42.000000) | Simulation | Safe-area insets of the simulated phone, in pixels (left, top, right, bottom; a landscape notch is on the left). | |
Min Touch Target MM (MinTouchTargetMM) | float | 9.000000 | Touch Targets | Smallest size of anything a finger presses (buttons, rows, touch controls): 9 mm is about 48 dp. |
RPG Saga Engine: Platform
Class URSEPlatformSettings (module RSE), Project Settings, Project, RPG Saga Engine. How the game reacts to platform events (D-170, docs/product/platforms.md): controller disconnects, sign-outs, app suspend and the front end's "press start".
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Pause on Suspend (bPauseOnSuspend) | bool | True | App Lifecycle | The app being suspended (sent to the background) pauses the game until it resumes. Bind On App Resumed (Platform User subsystem) to open a pause menu on resume instead. | |
Allow Continue Without Controller (bAllowContinueWithoutController) | bool | True | Controllers | The reconnect screen can be dismissed with Confirm from another device (keyboard on PC, the built-in controls of a handheld). Off = only a reconnecting controller closes it (console behaviour). | |
Pause on Controller Disconnect (bPauseOnControllerDisconnect) | bool | True | Controllers | The primary user's controller disconnecting pauses the game and shows the reconnect screen until it reconnects. | |
Continue Action Text (ContinueActionText) | FText | NSLOCTEXT("RSEPlatform", "ContinueAction", "Continue") | Controllers | Action of the confirm prompt when the screen may be dismissed without a controller. | |
Reconnect Detail (ReconnectDetail) | FText | NSLOCTEXT("RSEPlatform", "ReconnectDetail", "Reconnect the controller to continue.") | Controllers | ||
Reconnect Title (ReconnectTitle) | FText | NSLOCTEXT("RSEPlatform", "ReconnectTitle", "Controller disconnected") | Controllers | ||
Reconnect Widget Class (ReconnectWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Controllers | The reconnect screen (a Widget Blueprint derived from RSE Screen Widget; empty = the framework's screen). | |
Reconnect ZOrder (ReconnectZOrder) | int32 | 950 | Controllers | Z-order of the reconnect screen (above every other screen). | |
Return to Title on Sign Out (bReturnToTitleOnSignOut) | bool | True | Users | The primary user signing out returns to the title screen (Game Flow -> Main Menu Map). | |
Select User on Press Start (bSelectUserOnPressStart) | bool | True | Users | The front end's "press start" makes the user of the pressing device the primary user (whose saves are used). |
RPG Saga Engine: Players & Authority
Class URSEPlayersSettings (module RSE), Project Settings, Project, RPG Saga Engine. Who the players are, who has authority over the game logic and how pause and time dilation behave (D-134, docs/design/networking.md §3.7–3.9).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Authority Policy Class (AuthorityPolicyClass) | TSubclassOf<URSEAuthorityPolicy> | /Script/CoreUObject.Class'/Script/RSE.RSEAuthorityPolicy' | Authority | Decides whether this machine runs the game logic (encounters, spawners, roaming enemies, NPC schedules, traps, map fog, travel...) and whether a multiplayer session is running. Default: authority everywhere except on network clients. | |
Guest Start Spacing (GuestStartSpacing) | float | 150.000000 | Players | Distance between the host and each other player when they start a map (side by side, alternating sides). | |
Player Provider Class (PlayerProviderClass) | TSubclassOf<URSEPlayerProvider> | /Script/CoreUObject.Class'/Script/RSE.RSEPlayerProvider' | Players | Lists the players (controllers), their slots and the host. The default works with the engine's player controllers (single-player, listen server); the networking module replaces it with one that reads the player states. | |
Time Policy Class (TimePolicyClass) | TSubclassOf<URSETimePolicy> | /Script/CoreUObject.Class'/Script/RSE.RSETimePolicy' | Time and Pause | Decides who may pause the world, change the world's time dilation (hit-stop, slow motion) and show tutorials. Default: single-player behaves as always; in a multiplayer session nothing pauses or slows the world for everyone and tutorials stay hidden (D-124 §6). |
RPG Saga Engine: Portrait Studio
Class URSEPortraitStudioSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Portrait & Icon Studio (D-075): renders portraits of characters and speakers from their appearance, and icons for items, abilities and statuses (a mesh render for equipment with a mesh, else a template: theme frame, glyph, tint), into textures under Output Root, and fills the assets' Portrait / Icon...
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Icon Frame (bIconFrame) | bool | False | Icons | The Look's frame around icons too (off by default: the UI frames items by rarity). | |
Render Equipment Meshes (bRenderEquipmentMeshes) | bool | True | Icons | Items with a mesh get a render of it (else a template icon): the item's Item Mesh, else (equipment) its Appearance Part's static mesh, else its skeletal mesh in the reference pose. | |
Buff Tint (BuffTint) | FLinearColor | (R=0.250000,G=0.650000,B=0.350000,A=1.000000) | Icons | ||
Debuff Tint (DebuffTint) | FLinearColor | (R=0.750000,G=0.250000,B=0.300000,A=1.000000) | Icons | ||
Default Tint (DefaultTint) | FLinearColor | (R=0.300000,G=0.360000,B=0.550000,A=1.000000) | Icons | Tint of icons no rule matches. | |
Glyph Fill (GlyphFill) | float | 0.860000 | Icons | Silhouette icons: share of the icon the shape fills. | |
Glyph Letters (GlyphLetters) | int32 | 2 | Icons | Letters taken from the name when no rule gives a glyph. | |
Glyph Outline Color (GlyphOutlineColor) | FLinearColor | (R=0.020000,G=0.020000,B=0.030000,A=0.900000) | Icons | Silhouette icons: outline color and width (share of the icon size; 0 = none). | |
Glyph Outline Width (GlyphOutlineWidth) | float | 0.012000 | Icons | ||
Glyph Rules (GlyphRules) | TArray<FRSEIconGlyphRule> | (44 entries) | Icons | Glyph and tint per tag: the first rule matching the entry's element, type, status or category wins. | |
Glyph Scale (GlyphScale) | float | 0.420000 | Icons | Glyph height as a share of the icon. | |
Glyph Shade Bottom (GlyphShadeBottom) | float | 0.550000 | Icons | ||
Glyph Shade Top (GlyphShadeTop) | float | 1.350000 | Icons | Silhouette icons (rules with a Glyph Texture): the tint is scaled by these at the top and the bottom of the shape. | |
Icon Background (IconBackground) | ERSEStudioBackground | Transparent | Icons | Behind icons (D-126): transparent by default, so the UI draws its own rarity frame and fill around them. Portraits use Look -> Background. | |
Icon Field Of View (IconFieldOfView) | float | 20.000000 | Icons | Field of view of mesh icons (narrow = flat, consistent silhouettes). | |
Icon Fill (IconFill) | float | 1.000000 | Icons | Share of the icon a mesh's bounding sphere fills (the same framing for every item). | |
Icon Light Rig (IconLightRig) | FName | None | Icons | Lighting of mesh icons (Project Settings -> Portraits -> Light Rigs). Empty = Light Rig. | |
Icon Size (IconSize) | ERSEStudioTextureSize | Size256 | Icons | --- Icons --- | |
Item Glyph Rules (ItemGlyphRules) | TArray<FRSEIconGlyphRule> | (35 entries) | Icons | Template icons of items (D-126), checked before Glyph Rules: matched against the item's equipment type, slot type, category and (consumables) its ability's element and type, its name and its kind. The first matching rule wins. | |
Mesh Icon View (MeshIconView) | FRotator | (Pitch=-25.000000,Yaw=35.000000,Roll=0.000000) | Icons | Direction the mesh icons are seen from (items can turn their mesh first: Icon Mesh Rotation). | |
Background (Background) | ERSEStudioBackground | Gradient | Look | --- Look --- | |
Background Bottom (BackgroundBottom) | FLinearColor | (R=0.010000,G=0.012000,B=0.040000,A=1.000000) | Look | ||
Background Top (BackgroundTop) | FLinearColor | (R=0.080000,G=0.100000,B=0.220000,A=1.000000) | Look | ||
Frame (bFrame) | bool | True | Look | A frame (the theme's outline color and corner radius) around portraits and icons. | |
Use Theme Colors (bUseThemeColors) | bool | True | Look | Colors from the UI theme (window fill, outline): portraits and icons match the menus. | |
Corner Radius (CornerRadius) | float | 0.060000 | Look | Corner radius as a share of the texture size (0 = square). | |
Frame Color (FrameColor) | FLinearColor | (R=0.420000,G=0.500000,B=0.720000,A=1.000000) | Look | ||
Frame Thickness (FrameThickness) | float | 0.012000 | Look | Frame width as a share of the texture size. | |
Art Library Name (ArtLibraryName) | FString | DA_GeneratedArt | Output | Name of the generated art library asset (portraits and icons of content outside /Game, e.g. the plugin's starter content). | |
Overwrite Hand Authored (bOverwriteHandAuthored) | bool | False | Output | Replace textures the team set by hand (not made by the studio). Off = those assets are skipped. | |
Register Library (bRegisterLibrary) | bool | True | Output | Adds the library to Project Settings -> Generated Art -> Libraries when it is created. | |
Output Root (OutputRoot) | FDirectoryPath | (set per project) | Output | Folder of the generated textures (Portraits/, Icons/) and of the generated art library. Must be under /Game. | |
Pick Upright Frame (bPickUprightFrame) | bool | True | Portraits | When the pose has no Start Time of its own, the studio samples the animation and keeps the frame where the head is most upright (D-081): idles that nod or look down still give a straight portrait. An anim set's Portrait Pose with a Start Time is the per-character override. | |
Variant Portraits (bVariantPortraits) | bool | True | Portraits | Portraits of each appearance variant (Portrait Variants of characters). | |
Default Pose (DefaultPose) | TSoftObjectPtr<UAnimSequenceBase> | None | Portraits | Pose when the anim set has no Portrait Pose: this animation (on the character's skeleton), else the locomotion idle. | |
Dialog Framing (DialogFraming) | FName | Head | Portraits | Framing of dialog (emotion) portraits of speakers. | |
Emotions (Emotions) | TArray<FGameplayTag> | (5 entries) | Portraits | Dialog portraits per expression for speakers. An expression renders only when the anim set has an animation for it (Portraits -> Expressions); the others fall back to the neutral portrait in the dialog box. | |
Light Rig (LightRig) | FName | Studio | Portraits | Lighting (Project Settings -> Portraits -> Light Rigs). | |
Portrait Framing (PortraitFraming) | FName | Bust | Portraits | Framing of menu portraits (Project Settings -> Portraits -> Framings). | |
Portrait Size (PortraitSize) | ERSEStudioTextureSize | Size512 | Portraits | --- Portraits --- | |
Pose Time (PoseTime) | float | 0.000000 | Portraits | Seconds into the pose animation when it has no Start Time of its own (and Pick Upright Frame is off). | |
Supersample (Supersample) | int32 | 2 | Portraits | Renders at this multiple of the size, then filters down (smooth edges). | |
Upright Frame Samples (UprightFrameSamples) | int32 | 16 | Portraits | Frames sampled for Pick Upright Frame. | |
Warmup Captures (WarmupCaptures) | int32 | 3 | Portraits | Frames rendered before the kept one (shadows and caches settle). | |
Quest Camera Distance (QuestCameraDistance) | float | 1100.000000 | Quest Images | The camera looks at the quest's place (its giver, else its first objective's map marker) from this far (cm, horizontally)... | |
Quest Camera FOV (QuestCameraFOV) | float | 50.000000 | Quest Images | ||
Quest Camera Height (QuestCameraHeight) | float | 450.000000 | Quest Images | ...this high above it (cm)... | |
Quest Camera Yaw (QuestCameraYaw) | float | 225.000000 | Quest Images | ...from this direction (world yaw, degrees; the camera stands on that side of the place). | |
Quest Image Folder (QuestImageFolder) | FString | Quests | Quest Images | Folder under Output Root for the journal pictures of quests (RPG Saga Engine -> Content -> Capture Quest Images). | |
Quest Image Height (QuestImageHeight) | int32 | 240 | Quest Images | ||
Quest Image Width (QuestImageWidth) | int32 | 640 | Quest Images | ||
Quest Target Height (QuestTargetHeight) | float | 120.000000 | Quest Images | The point looked at, above the place (cm): a character's chest. | |
SRGB (bSRGB) | bool | True | Texture | ||
Compression (Compression) | TEnumAsByte<TextureCompressionSettings> | TC_EditorIcon | Texture | ||
LODGroup (LODGroup) | TEnumAsByte<TextureGroup> | TEXTUREGROUP_UI | Texture | --- Texture --- | |
Mip Gen (MipGen) | TEnumAsByte<TextureMipGenSettings> | TMGS_NoMipmaps | Texture |
RPG Saga Engine: Portraits
Class URSEPortraitSettings (module RSE), Project Settings, Project, RPG Saga Engine. Portraits (D-075): framing and lighting presets (shared by the Portrait & Icon Studio and live dialog portraits) and live 3D options.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Allow Live Portraits (bAllowLivePortraits) | bool | True | Dialog Portraits | Live 3D portraits may render (off = images). The Steam Deck profile turns them off with RSE.Dialog.LivePortraits 0. | |
Allow Video Portraits (bAllowVideoPortraits) | bool | True | Dialog Portraits | Video portraits may play (off = every speaker shows its image). | |
Portrait Video Audio (bPortraitVideoAudio) | bool | False | Dialog Portraits | Play the portrait clips' own sound (off: voices stay in the dialog audio system). | |
Live Backdrop Color (LiveBackdropColor) | FLinearColor | (R=0.060000,G=0.080000,B=0.160000,A=1.000000) | Live Portraits | Backdrop color behind a live portrait (a lit plane; alpha 0 = no backdrop: the capture's clear color). | |
Live Capture Interval (LiveCaptureInterval) | float | 0.033333 | Live Portraits | Seconds between live captures (0 = every frame; 1/30 is smooth and half the cost at 60 fps). | |
Live Framing (LiveFraming) | FName | Bust | Live Portraits | Framing of live portraits. | |
Live Light Rig (LiveLightRig) | FName | Studio | Live Portraits | Lighting of live portraits. | |
Live Resolution (LiveResolution) | int32 | 256 | Live Portraits | Render target size of the live portrait (square; one capture is shared by the dialog box). | |
Live Scene Location (LiveSceneLocation) | FVector | (X=0.000000,Y=0.000000,Z=-60000.000000) | Live Portraits | Where the portrait scene stands in the world: far from the playable space (only the subject is rendered). | |
Talk Nod Cm (TalkNodCm) | float | 0.800000 | Live Portraits | Nod while talking, cm up and down. | |
Talk Sway Degrees (TalkSwayDegrees) | float | 2.500000 | Live Portraits | Head sway while talking when the character has no Talk animation (degrees of the body's yaw / roll). | |
Talk Sway Speed (TalkSwaySpeed) | float | 6.000000 | Live Portraits | Speed of the talking sway and nod. | |
Framings (Framings) | TArray<FRSEPortraitFraming> | (5 entries) | Presets | Framing presets, by name. | |
Light Rigs (LightRigs) | TArray<FRSEPortraitLightRig> | (2 entries) | Presets | Lighting rigs, by name. | |
Max Upright Correction (MaxUprightCorrection) | float | 25.000000 | Presets | Most the character is tilted back for Upright Correction. | |
Upright Correction (UprightCorrection) | float | 0.800000 | Presets | Share of the head's remaining lean the studio straightens by tilting the whole character back (D-081): idles that hunch or look down keep their pose, the face comes up. 0 = off. | |
Upright Scan Seconds (UprightScanSeconds) | float | 4.000000 | Presets | Portraits posed by the character's Anim Blueprint (no pose animation): how long its idle is played while the most upright moment of the head is searched (D-081). |
RPG Saga Engine: Progression
Class URSEProgressionSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Character progression rules (D-030): maximum level, the experience curve and the experience enemies give.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Scale Enemy Levels (bScaleEnemyLevels) | bool | True | Enemy Levels | Regular encounters (Level Mode "Scaled") fought in a progression zone set their enemies' level from the party: PartyLevel + EnemyLevelOffset + OverlevelBias * max(0, PartyLevel - ZoneEntryTarget) + the encounter's offset, plus a random spread of +-EnemyLevelVariance per enemy, clamped to the zone's range and the level cap. Off = authored levels everywhere. Encounters in Level Mode "Fixed" never scale. | |
Enemy Level Offset (EnemyLevelOffset) | float | 0.000000 | Enemy Levels | Levels added to the party level (negative = enemies a bit below the party). | |
Enemy Level Variance (EnemyLevelVariance) | int32 | 1 | Enemy Levels | Random spread per enemy: each one gets -N..+N levels (seeded by the battle), then the zone's range clamps it. | |
Overlevel Bias (OverlevelBias) | float | 0.000000 | Enemy Levels | Share of the party's lead over the zone's entry target added on top (0 = none, 1 = enemies climb twice as fast as the party). A player who farmed meets enemies near the top of the zone's range sooner. | |
Party Level Source (PartyLevelSource) | ERSEPartyLevelSource | Average | Enemy Levels | ||
Enemy Defense Bonus Per Level (EnemyDefenseBonusPerLevel) | float | 0.000000 | Enemy Stats | ||
Enemy Defense Stats (EnemyDefenseStats) | FGameplayTagContainer | (GameplayTags=((TagName="Stat.Defense"),(TagName="Stat.Spirit"))) | Enemy Stats | Stats that EnemyDefenseBonusPerLevel raises. Global only. | |
Enemy HPBonus Per Level (EnemyHPBonusPerLevel) | float | 0.000000 | Enemy Stats | Extra growth of enemy stats on top of their class, in percent per level above 1 (enemy characters only, Roster Enemy). 2 = +2% per level, i.e. +98% at level 50. Lets enemies share a class with the party yet scale differently. Negative values weaken high-level enemies; the total never goes below -90%. | |
Enemy HPStats (EnemyHPStats) | FGameplayTagContainer | (GameplayTags=((TagName="Stat.MaxHP"))) | Enemy Stats | Stats that EnemyHPBonusPerLevel raises. Global only. | |
Enemy Offense Bonus Per Level (EnemyOffenseBonusPerLevel) | float | 0.000000 | Enemy Stats | ||
Enemy Offense Stats (EnemyOffenseStats) | FGameplayTagContainer | (GameplayTags=((TagName="Stat.Attack"),(TagName="Stat.Magic"))) | Enemy Stats | Stats that EnemyOffenseBonusPerLevel raises. Global only. | |
Experience Base (ExperienceBase) | float | 15.000000 | Experience Curve | --- Experience curve --- | |
Experience Curve (ExperienceCurve) | TSoftObjectPtr<UCurveFloat> | None | Experience Curve | Optional: total experience (Y) needed to reach each level (X). Replaces the formula when set. | |
Experience Exponent (ExperienceExponent) | float | 2.000000 | Experience Curve | ||
Experience Per Level (ExperiencePerLevel) | float | 0.000000 | Experience Curve | ||
Max Level (MaxLevel) | int32 | 99 | Levels | Highest level. Global only, like the experience curve (saved levels and totals must stay consistent); profiles change rewards. | |
Enemy Experience Base (EnemyExperienceBase) | float | 12.000000 | Rewards | Experience an enemy gives when its character sets none: EnemyExperienceBase + EnemyExperiencePerLevel * (Level - 1). | |
Enemy Experience Per Level (EnemyExperiencePerLevel) | float | 6.000000 | Rewards |
RPG Saga Engine: Progression Designer
Class URSEProgressionDesignerSettings (module RSECore), Project Settings, Project, RPG Saga Engine. The Progression Designer's projection and advisor (D-051, docs/design/progression-designer.md): which stats a class growth recommendation touches, how the advisor weighs the targets, how long it searches and within which bounds.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Max Class Growth Scale (MaxClassGrowthScale) | float | 1.500000 | Advisor|Bounds | Class growth scales stay within [1/x, x]. | |
Max Enemy Bonus Per Level (MaxEnemyBonusPerLevel) | float | 5.000000 | Advisor|Bounds | ||
Max Experience Exponent (MaxExperienceExponent) | float | 3.500000 | Advisor|Bounds | ||
Min Enemy Bonus Per Level (MinEnemyBonusPerLevel) | float | -0.500000 | Advisor|Bounds | ||
Min Experience Exponent (MinExperienceExponent) | float | 1.200000 | Advisor|Bounds | --- Bounds --- | |
Min Recommended Change (MinRecommendedChange) | float | 0.020000 | Advisor|Bounds | Changes smaller than this (relative, or percent points for the bonuses) are not recommended. | |
Recommend Zone Ranges (bRecommendZoneRanges) | bool | True | Advisor|Scope | Suggest zone range changes where the projected party levels leave a zone's range by more than the overlevel margin (unchecked by default in the list). | |
Tune Class Growth (bTuneClassGrowth) | bool | True | Advisor|Scope | Only the campaign's standard classes. | |
Tune Enemy Experience (bTuneEnemyExperience) | bool | True | Advisor|Scope | ||
Tune Enemy Stats (bTuneEnemyStats) | bool | True | Advisor|Scope | ||
Tune Experience Curve (bTuneExperienceCurve) | bool | True | Advisor|Scope | --- What the advisor may change --- | |
Battle Feel Passes (BattleFeelPasses) | int32 | 2 | Advisor|Search | Passes of "battle feel search, then level rounds" after the first level rounds. | |
Initial Percent Step (InitialPercentStep) | float | 0.500000 | Advisor|Search | First step of the enemy stat bonuses (percent points per level). | |
Initial Relative Step (InitialRelativeStep) | float | 0.250000 | Advisor|Search | First step of multiplicative parameters (0.2 = try x1.2 and /1.2); halves when a sweep finds nothing better. | |
Level Rounds (LevelRounds) | int32 | 3 | Advisor|Search | Rounds of "levels search on the fast model, then a full projection": each round replays the newest projection, so battles that change outcome (a party no longer underleveled) feed the next round. | |
Max Battle Evaluations (MaxBattleEvaluations) | int32 | 60 | Advisor|Search | Hard cap on probe evaluations (each = ProbeBattlesPerZone battles per zone plus the key battles). | |
Max Battle Iterations (MaxBattleIterations) | int32 | 6 | Advisor|Search | Sweeps of the coordinate search over enemy stats and class growth (each step simulates probe battles). | |
Max Experience Iterations (MaxExperienceIterations) | int32 | 60 | Advisor|Search | Sweeps of the coordinate search over the experience parameters (fast model, no battles). | |
Min Relative Step (MinRelativeStep) | float | 0.010000 | Advisor|Search | The search stops when every multiplicative step is below this. | |
Model Outcome Margin (ModelOutcomeMargin) | float | 3.000000 | Advisor|Search | Fast model: a battle's outcome flips when the party-minus-enemy level gap moved this many levels away from the baseline's (lost -> won when the gap is also at least -this). | |
Probe Battles Per Zone (ProbeBattlesPerZone) | int32 | 3 | Advisor|Search | Regular battles simulated per zone for each probe evaluation. | |
Boredom Weight (BoredomWeight) | float | 2.000000 | Advisor|Weights | Each 0.1 of boredom index above the maximum. | |
Change Weight (ChangeWeight) | float | 0.500000 | Advisor|Weights | Keeps recommendations small: squared log-ratio of every multiplicative change (and squared percent points of the enemy bonuses / 10). | |
Completion Weight (CompletionWeight) | float | 3.000000 | Advisor|Weights | Each level outside the tolerance of the completion target. | |
Damage Weight (DamageWeight) | float | 2.000000 | Advisor|Weights | Each 10 points of damage taken outside its band. | |
Grind Weight (GrindWeight) | float | 1.000000 | Advisor|Weights | Each 0.1 of grind index above the maximum. | |
Level Weight (LevelWeight) | float | 1.000000 | Advisor|Weights | Each level outside the tolerance of a zone's exit target. | |
Optional Weight (OptionalWeight) | float | 1.000000 | Advisor|Weights | Each 10 post-game battles beyond the reasonable grind for the optional content level. | |
Risk Weight (RiskWeight) | float | 2.000000 | Advisor|Weights | Each 10 points of minimum HP below the floor. | |
Turns Weight (TurnsWeight) | float | 2.000000 | Advisor|Weights | Each party turn outside the turns bands. | |
Chart Stats (ChartStats) | TArray<FGameplayTag> | (7 entries) | Class Growth | Stats shown in the attribute curves (empty = every stat the classes grow). | |
Power Samples (PowerSamples) | int32 | 20 | Class Growth | D-144: levels sampled for the power curves of the progression systems (each sample builds a character with every point spent); the levels in between are interpolated. More = smoother, slower. | |
Power Stats (PowerStats) | FGameplayTagContainer | (GameplayTags=((TagName="Stat.Attack"),(TagName="Stat.Magic"))) | Class Growth | Stats a class's "power" growth scale multiplies (their PerLevel). | |
Vitality Stats (VitalityStats) | FGameplayTagContainer | (GameplayTags=((TagName="Stat.MaxHP"),(TagName="Stat.Defense"),(TagName="Stat.Spirit"))) | Class Growth | Stats a class's "vitality" growth scale multiplies (their PerLevel). | |
Output Folder (OutputFolder) | FString | ProgressionDesigner | Reports | Reports go to Saved/<OutputFolder>/<timestamp>_<campaign>/. |
RPG Saga Engine: Progression Systems
Class URSEGrowthSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Progression systems and ability learning (D-144, docs/design/progression-systems.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Ability Power Share (AbilityPowerShare) | float | 3.000000 | Automatic Allocation | Progression Designer: power each ability gained adds to the power estimate (percent of the level-1 Classic power). | |
Allocation Policy Class (AllocationPolicyClass) | TSoftClassPtr<URSEGrowthAllocationPolicy> | None | Automatic Allocation | Spends points for characters nobody builds by hand: AI-controlled members, autoplay, the battle simulator, Balance My Campaign and the Progression Designer. Blueprintable: override Choose Option. Empty = the built-in policy. | |
Auto Allocate AIControlled (bAutoAllocateAIControlled) | bool | True | Automatic Allocation | After each battle and level up, AI-controlled members (Control = AI) spend their points automatically. | |
Max Auto Steps (MaxAutoSteps) | int32 | 500 | Automatic Allocation | Most steps one automatic allocation takes (safety against content loops). | |
Score Weights (ScoreWeights) | FRSEGrowthScoreWeights | (StatPercent=1.000000,ActiveAbility=12.000000,PassiveAbility=9.000000,PathLookahead=0.600000,UngrownStatWeight=0.250000) | Automatic Allocation | How the built-in policy (and every policy's option scores) value the steps. | |
Simulated Enemies Per Victory (SimulatedEnemiesPerVictory) | float | 3.000000 | Automatic Allocation | D-154: enemies defeated per won battle in a typical playthrough (Battle Points -> Per Enemy Defeated counts this many). The simulator's builds, the board generator's pacing and the fill-level estimate use it with Simulated Victories Per Level. | |
Simulated Victories Per Level (SimulatedVictoriesPerLevel) | float | 4.000000 | Automatic Allocation | Won battles per level the simulator assumes when it builds a typical character (battle points earned on the way); the Progression Designer and Balance My Campaign use it too. | |
Battle Points (BattlePoints) | TArray<FRSEBattlePointReward> | (1 entries) | Battle Points | Points earned for won battles (board points usually; attribute or ability points too). Default: 5 board points per victory. | |
Board Scope (BoardScope) | ERSEGrowthBoardScope | PerClass | Board | ||
Default Board Style (DefaultBoardStyle) | TSoftObjectPtr<URSEGrowthBoardStyle> | /RPGSagaEngine/Data/Growth/Styles/DA_GrowthStyle_Constellation.DA_GrowthStyle_Constellation | Board | Look of boards that name no style. | |
Layout Rules (LayoutRules) | FRSEGrowthLayoutRules | (MinNodeDistance=1.000000,EdgeClearance=0.400000,CurveBend=0.180000,CurveSegments=12) | Board | What makes a board layout clean (D-149): the validator of the editor, the importer and the tests, and the screen's curves. | |
Shared Board (SharedBoard) | TSoftObjectPtr<URSEGrowthBoard> | /RPGSagaEngine/Data/Growth/DA_GrowthBoard_Default.DA_GrowthBoard_Default | Board | The board of Shared scope, and of classes whose plan has no board. | |
Travel Cost Per Step (TravelCostPerStep) | int32 | 0 | Board | Board points per step walked from where the character stands to the node unlocked (through open nodes; 0 = no travel cost, every open node is reachable for free). | |
Enable Enemy Learning (bEnableEnemyLearning) | bool | True | Enemy Learning | --- Learning from enemies --- | |
Never Learnable Types (NeverLearnableTypes) | FGameplayTagContainer | () | Enemy Learning | Abilities of these types are never learned from enemies (attacks, monster-only actions). | |
Trait Learning (TraitLearning) | TArray<FRSETraitLearning> | (0 entries) | Enemy Learning | Traits that let any character learn from enemies (besides the class plans' rules). | |
Fallback Layout (FallbackLayout) | ERSEGrowthLayoutPreset | Constellation | Generator | Layout of Auto when the role names none. | |
Generator Defaults (GeneratorDefaults) | FRSEGrowthGeneratorParams | (Seed=1,EmphasizedStats=(),TargetMaxLevel=50,KeyAttributes=3,AttributePointsPerLevel=3,AbilityPointsPerLevel=1,MilestoneEvery=10,MilestoneBonus=2,ValueShareOfLe... | Generator | Starting inputs of Generate Point Tables / Generate Board (Studio and the plan's buttons copy them). | |
Region Themes (RegionThemes) | TArray<FRSEGrowthRegionTheme> | (4 entries) | Generator | Themes of generated board regions (D-149), in order: a region takes the first theme listing its main stat. | |
Role Emphasis (RoleEmphasis) | TMap<FGameplayTag,FGameplayTagContainer> | (7 entries) | Generator | Stats a generated plan favors per archetype role (Archetype.Role.*), beyond what the class growth says. | |
Role Layouts (RoleLayouts) | TMap<FGameplayTag,ERSEGrowthLayoutPreset> | (7 entries) | Generator | Layout preset per archetype role (Archetype.Role.*) when the generator's Layout is Auto (D-149). | |
Enable Mastery (bEnableMastery) | bool | True | Mastery | Items with Mastery Abilities teach them for good after enough mastery points. | |
Fallen Members Earn Mastery (bFallenMembersEarnMastery) | bool | False | Mastery | Members that ended the battle KO earn mastery too. | |
Mastery Points Per Enemy (MasteryPointsPerEnemy) | int32 | 1 | Mastery | ||
Mastery Points Per Victory (MasteryPointsPerVictory) | int32 | 2 | Mastery | ||
Default Plan (DefaultPlan) | TSoftObjectPtr<URSEGrowthPlan> | /RPGSagaEngine/Data/Growth/DA_GrowthPlan_Default.DA_GrowthPlan_Default | Plans | Plan of classes that have none (points, catalog, board). Empty = such classes only grow by level. | |
Max Undo Steps (MaxUndoSteps) | int32 | 50 | Respec | The Growth page's free undo (D-149): the last steps the player took (raise, learn, unlock) can be taken back for nothing while the page stays open; closing it (or a reset) clears them. Most steps kept per character (0 = no undo). | |
Respec Item (RespecItem) | TSoftObjectPtr<URSEItemData> | None | Respec | Item mode: the item consumed per reset. | |
Respec Mode (RespecMode) | ERSERespecMode | Free | Respec | --- Respec --- | |
Respec Point Penalty (RespecPointPenalty) | float | 0.100000 | Respec | Share of the refundable spent points a full reset keeps for good (D-149: 0.1 = the reset costs 10% of the points spent, rounded, per currency; 0 = everything back). The Growth page says how much before the player confirms. | |
Player Chooses at New Game (bPlayerChoosesAtNewGame) | bool | False | System | The player picks the system when starting a new game (from New Game Choices). | |
New Game Choices (NewGameChoices) | TArray<ERSEProgressionSystem> | (0 entries) | System | Systems offered at New Game, in order. Empty = all three. | |
System (System) | ERSEProgressionSystem | Classic | System | How characters grow. The class level abilities and stat growth stay in every system. | |
New Game Prompt (NewGamePrompt) | FText | NSLOCTEXT("RSEGrowth", "NewGamePrompt", "How should your heroes grow?") | System|Text | The New Game question. | |
System Descriptions (SystemDescriptions) | TMap<ERSEProgressionSystem,FText> | (3 entries) | System|Text | One-line descriptions of the systems (New Game, Studio). | |
System Names (SystemNames) | TMap<ERSEProgressionSystem,FText> | (3 entries) | System|Text | Names of the systems on screen. Missing = the enum's display name. | |
Enable Use Growth (bEnableUseGrowth) | bool | False | Use Growth | Abilities rank up with battle uses (power and cost per rank). | |
Default Use Growth (DefaultUseGrowth) | TSoftObjectPtr<URSEUseGrowthCurve> | /RPGSagaEngine/Data/Growth/DA_UseGrowth_Standard.DA_UseGrowth_Standard | Use Growth | Curve of abilities that name none. Empty = only abilities with their own curve grow. |
RPG Saga Engine: Progression Tools
Class URSEGrowthEditorSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Editor tools of the progression systems (D-144): the Growth Board visual editor, the Studio pages (Progression System, Growth Board, New Teacher, Weapon with Mastery) and the progression JSON importer of the AI workflow (docs/product/progression-ai-schema.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Fallback Prefixes (FallbackPrefixes) | TMap<FString,FString> | (5 entries) | Assets | Asset name prefixes of progression assets (class name -> prefix) used when Content Import -> Types has no type for the class (projects that list their own types). | |
Ability Node Color (AbilityNodeColor) | FLinearColor | (R=0.700000,G=0.350000,B=0.100000,A=1.000000) | Board Editor | ||
Gate Node Color (GateNodeColor) | FLinearColor | (R=0.550000,G=0.120000,B=0.120000,A=1.000000) | Board Editor | ||
Hub Node Color (HubNodeColor) | FLinearColor | (R=0.300000,G=0.300000,B=0.300000,A=1.000000) | Board Editor | ||
Keystone Node Color (KeystoneNodeColor) | FLinearColor | (R=0.750000,G=0.550000,B=0.050000,A=1.000000) | Board Editor | ||
Passive Node Color (PassiveNodeColor) | FLinearColor | (R=0.450000,G=0.250000,B=0.600000,A=1.000000) | Board Editor | ||
Start Node Color (StartNodeColor) | FLinearColor | (R=0.100000,G=0.450000,B=0.100000,A=1.000000) | Board Editor | The start node of the board (any kind) is drawn in this color. | |
Stat Node Color (StatNodeColor) | FLinearColor | (R=0.150000,G=0.350000,B=0.650000,A=1.000000) | Board Editor | Title colors of board nodes per kind in the visual editor. | |
Pool Excluded Name Prefixes (PoolExcludedNamePrefixes) | TArray<FString> | (4 entries) | Generators | Suggested pools leave out abilities whose asset name starts with one of these (item effects, summons, enemy-only actions). | |
Suggested Pool Size (SuggestedPoolSize) | int32 | 10 | Generators | Most abilities the generators' suggested pool holds (abilities of the class's own types and elements, not in the class). | |
Generate Missing by Default (bGenerateMissingByDefault) | bool | True | Progression JSON | Fill what a document leaves out (point tables, board) with the generators, when the document does not say otherwise. | |
File Suffix (FileSuffix) | FString | .progression.json | Progression JSON | Progression documents: the file name ends with this (e.g. Warrior.progression.json). | |
Suggestion Max Distance (SuggestionMaxDistance) | int32 | 3 | Progression JSON | Unknown names get "did you mean" suggestions within this many edits. | |
Template Folder (TemplateFolder) | FString | Config/AIPacks/Progression | Progression JSON | Where the AI pack's progression template lives (schema, prompt notes, checked examples). Relative to the plugin folder. | |
Max Board Nodes (MaxBoardNodes) | int32 | 400 | Progression JSON|Ranges | Most nodes of one board. | |
Max Cost (MaxCost) | int32 | 1000 | Progression JSON|Ranges | Highest cost of a node, catalog ability or attribute point a document may set. | |
Max Mastery Points (MaxMasteryPoints) | int32 | 2000 | Progression JSON|Ranges | Highest mastery points an ability may need. | |
Max Money (MaxMoney) | int32 | 1000000 | Progression JSON|Ranges | Highest price (money) of a teacher's offer or respec. | |
Max Points Per Level (MaxPointsPerLevel) | int32 | 500 | Progression JSON|Ranges | Highest points per level a grant may give. | |
Max Tier (MaxTier) | int32 | 3 | Progression JSON|Ranges | Highest node tier (ring color: 0 common .. rare). | |
Blank Weapon Slot (BlankWeaponSlot) | FGameplayTag | (TagName="Equip.Slot.Weapon") | Studio | Studio -> Weapon with Mastery: the slot of a blank weapon (Equip.Slot.*). | |
Blank Weapon Type (BlankWeaponType) | FGameplayTag | (TagName="Equip.Type.Weapon.Sword") | Studio | Studio -> Weapon with Mastery: the kind of a blank weapon (Equip.Type.*). |
RPG Saga Engine: Puzzle UI
Class URSEPuzzleUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Presentation of the puzzles (D-039): the code lock screen, puzzle doors and the optional scene prompt.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Attempts Left Format (AttemptsLeftFormat) | FText | NSLOCTEXT("RSEPuzzleUI", "AttemptsLeftFormat", "Attempts left: {Count}") | Code Lock | {Count} = wrong codes still allowed. | |
Clock Separator (ClockSeparator) | FText | NSLOCTEXT("RSEPuzzleUI", "ClockSeparator", ":") | Code Lock | Between the hour and minute wheels of a clock lock. | |
Code Lock Backdrop Color (CodeLockBackdropColor) | FRSEUIColor | (Token="Primary",Alpha=0.650000,Lightness=-0.526921,Chroma=0.679858,Hue=0.163523,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Code Lock | Dims the world behind the lock. | |
Code Lock Widget Class (CodeLockWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Code Lock | Code lock screen (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSECodeLockViewModel (docs/product/custom-ui.md). | |
Code Lock ZOrder (CodeLockZOrder) | int32 | 55 | Code Lock | Z-order in the viewport (above the HUDs and the party menu). | |
Default Lock Title (DefaultLockTitle) | FText | NSLOCTEXT("RSEPuzzleUI", "DefaultLockTitle", "Lock") | Code Lock | Title when the lock has no Display Name. | |
Default Wrong Text (DefaultWrongText) | FText | NSLOCTEXT("RSEPuzzleUI", "DefaultWrongText", "Nothing happens.") | Code Lock | Shown after a wrong code when the lock has no Failure Text. | |
Leave Text (LeaveText) | FText | NSLOCTEXT("RSEPuzzleUI", "LeaveText", "Leave") | Code Lock | ||
Select Wheel Action Text (SelectWheelActionText) | FText | NSLOCTEXT("RSEPuzzleUI", "SelectWheelAction", "Select") | Code Lock | Key hint actions. | |
Submit Text (SubmitText) | FText | NSLOCTEXT("RSEPuzzleUI", "SubmitText", "Enter") | Code Lock | ||
Turn Wheel Action Text (TurnWheelActionText) | FText | NSLOCTEXT("RSEPuzzleUI", "TurnWheelAction", "Turn") | Code Lock | ||
Wheel Down Glyph (WheelDownGlyph) | FText | NSLOCTEXT("RSEPuzzleUI", "WheelDownGlyph", "▼") | Code Lock | ||
Wheel Up Glyph (WheelUpGlyph) | FText | NSLOCTEXT("RSEPuzzleUI", "WheelUpGlyph", "▲") | Code Lock | Glyphs of the wheel arrows (clickable). | |
Wheel Width (WheelWidth) | float | 84.000000 | Code Lock | ||
Door Open Seconds (DoorOpenSeconds) | float | 1.200000 | Doors | Seconds a puzzle door takes to open when its conditions become true (0 = at once). Doors may override it. | |
Door Placeholder Mesh (DoorPlaceholderMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Doors | Mesh of doors without their own (placeholder). | |
Optional Scene Prompt on Screen (bOptionalScenePromptOnScreen) | bool | True | Optional Scenes | The optional scene prompt sits at the screen anchor of the interaction prompt, not above the trigger. | |
Optional Scene Priority (OptionalScenePriority) | int32 | 5 | Optional Scenes | Focus priority of optional scene triggers (they win over nearby objects). | |
Optional Scene Prompt Format (OptionalScenePromptFormat) | FText | NSLOCTEXT("RSEPuzzleUI", "OptionalScenePromptFormat", "Optional scene: {Title}") | Optional Scenes | Prompt of an optional scene. {Title} = the scene's Display Name. | |
Optional Scene Range (OptionalSceneRange) | float | 400.000000 | Optional Scenes | Range of optional scene triggers without their own. |
RPG Saga Engine: Puzzles
Class URSEPuzzleSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Puzzle rules and texts (D-039, docs/design/puzzles.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Combine Fail Text (CombineFailText) | FText | NSLOCTEXT("RSEPuzzle", "CombineFailText", "These don\'t go together.") | Combine | Shown when no recipe matches. | |
Combine Success Format (CombineSuccessFormat) | FText | NSLOCTEXT("RSEPuzzle", "CombineSuccessFormat", "Obtained: {Result}.") | Combine | Shown after a successful combination (recipes may have their own lines). {Result}, {Count}. | |
Recipes (Recipes) | TArray<TSoftObjectPtr<URSEItemRecipeData> > | (1 entries) | Combine | Every recipe of the game. Any two items may be tried together; the combination succeeds when a recipe matches (the player does not need to know the recipe first). Global list, loaded when the player combines. | |
Pickup Format (PickupFormat) | FText | NSLOCTEXT("RSEPuzzle", "PickupFormat", "Obtained: {Item}.") | Examine | Said when an examined object gives an item and the pickup has no lines of its own. {Item}, {Count}. | |
Decline Option (DeclineOption) | FText | NSLOCTEXT("RSEPuzzle", "DeclineOption", "Leave it") | Use Item | The option that uses nothing. | |
Default Refusal Lines (DefaultRefusalLines) | TArray<FText> | (1 entries) | Use Item | Said when an item the object does not accept is used on it (an item-use asset may have its own lines). | |
Use Option Format (UseOptionFormat) | FText | NSLOCTEXT("RSEPuzzle", "UseOptionFormat", "Use the {Item}") | Use Item | One option per accepted item. {Item} = the item. | |
Use Prompt Format (UsePromptFormat) | FText | NSLOCTEXT("RSEPuzzle", "UsePromptFormat", "Use the {Item}?") | Use Item | Question asked when the party holds one item the object accepts. {Item} = the item. | |
Use Several Prompt (UseSeveralPrompt) | FText | NSLOCTEXT("RSEPuzzle", "UseSeveralPrompt", "Use an item?") | Use Item | Question asked when the party holds several items the object accepts. |
RPG Saga Engine: Quest UI
Class URSEQuestUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Look and behaviour of the quest journal, the HUD quest tracker, quest notifications and the Pact page.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Abandoned Color (AbandonedColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=-0.056772,Chroma=0.921091,Hue=15.394094,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Ability Learned Color (AbilityLearnedColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.079403,Chroma=0.651117,Hue=-15.902557,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | Learned-ability notices (D-082). | |
Completed Color (CompletedColor) | FRSEUIColor | (Token="Positive",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Failed Color (FailedColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.034214,Chroma=1.006407,Hue=0.868554,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Missed Color (MissedColor) | FRSEUIColor | (Token="Secondary",Alpha=1.000000,Lightness=0.006516,Chroma=0.886550,Hue=105.310432,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Objective Color (ObjectiveColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.071629,Chroma=0.579612,Hue=2.998248,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Quest Started Color (QuestStartedColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Toast Background Color (ToastBackgroundColor) | FRSEUIColor | (Token="Primary",Alpha=0.900000,Lightness=-0.412186,Chroma=0.525066,Hue=10.617354,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Tracker Background Color (TrackerBackgroundColor) | FRSEUIColor | (Token="Primary",Alpha=0.620000,Lightness=-0.417701,Chroma=0.449361,Hue=5.975613,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | --- Colors --- | |
Battle Check Interval (BattleCheckInterval) | float | 0.250000 | HUD | How often the presentation checks whether a battle runs (hides the tracker, holds notifications). | |
Game Modes Without Quest HUD (GameModesWithoutQuestHUD) | TArray<TSoftClassPtr<AGameModeBase> > | (1 entries) | HUD | No quest HUD in worlds run by these game modes (main menu). | |
Quest HUDClass (QuestHUDClass) | TSoftClassPtr<URSEScreenWidget> | /Script/RSE.RSEQuestHUDWidget | HUD | Quest tracker and notifications HUD (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEQuestHUDViewModel (docs/product/custom-ui.md). | |
Viewport ZOrder (ViewportZOrder) | int32 | 1 | HUD | ||
Confirm Abandon (bConfirmAbandon) | bool | True | Journal | Abandoning needs a second Confirm on the same row. | |
Journal Categories (JournalCategories) | TArray<FRSEJournalCategoryTab> | (4 entries) | Journal | Journal tabs, in order. | |
Journal Details Width (JournalDetailsWidth) | float | 680.000000 | Journal | Width of the quest details column (the quest list uses the party menu column width). | |
Block Spacing (BlockSpacing) | float | 14.000000 | Journal|Pictures | Space between the journal's blocks (picture, key line, text, objectives, rewards). | |
Show Characters (bShowCharacters) | bool | True | Journal|Pictures | Show the portraits of the quest's characters (Quest -> Characters). | |
Show Header Image (bShowHeaderImage) | bool | True | Journal|Pictures | Show the quest's header picture (or, without one, a band in the category's color). | |
Show Mini Map (bShowMiniMap) | bool | True | Journal|Pictures | Show a mini-map of the current objective (when the level's map can show it); a click opens the Map tab there. | |
Show Rewards (bShowRewards) | bool | True | Journal|Pictures | Show what a quest's success gives (items, money, experience...). | |
Category Colors (CategoryColors) | TMap<FGameplayTag,FRSEUIColor> | (4 entries) | Journal|Pictures | Colors of the header band of a quest without a picture, by category (missing = the started color). | |
Character Portrait Size (CharacterPortraitSize) | float | 52.000000 | Journal|Pictures | ||
Experience Reward Format (ExperienceRewardFormat) | FText | NSLOCTEXT("RSEQuestUI", "ExperienceRewardFormat", "{Amount} XP") | Journal|Pictures | Reward rows: experience ("{Amount} XP") and points ("{Amount} {Currency}"). | |
Header Image Height (HeaderImageHeight) | float | 150.000000 | Journal|Pictures | Height of the header picture (the width is the details column's). | |
Key Line Color (KeyLineColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Lightness=0.026962,Chroma=0.677076,Hue=0.810119,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Journal|Pictures | The highlighted line (the current objective) and its band. | |
Key Line Fill (KeyLineFill) | FRSEUIColor | (Token="Accent",Alpha=0.120000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Journal|Pictures | ||
Mini Map Hint (MiniMapHint) | FText | NSLOCTEXT("RSEQuestUI", "MiniMapHint", "Click to open the map here") | Journal|Pictures | ||
Mini Map Size (MiniMapSize) | float | 150.000000 | Journal|Pictures | ||
Mini Map Span (MiniMapSpan) | float | 0.300000 | Journal|Pictures | Share of the whole map the mini-map shows around the objective (0.25 = a quarter of the map's side). | |
Objective Icon Size (ObjectiveIconSize) | float | 26.000000 | Journal|Pictures | ||
Objective Kind Icons (ObjectiveKindIcons) | TMap<FGameplayTag,TSoftObjectPtr<UTexture2D> > | (7 entries) | Journal|Pictures | Icons of the objective kinds (Quest.Objective.*; a kind without one uses its parent's, then Quest.Objective's). | |
Objective Kind Labels (ObjectiveKindLabels) | TMap<FGameplayTag,FText> | (7 entries) | Journal|Pictures | Names of the objective kinds (tooltips, Blueprint screens). | |
Points Reward Format (PointsRewardFormat) | FText | NSLOCTEXT("RSEQuestUI", "PointsRewardFormat", "{Amount} {Currency}") | Journal|Pictures | ||
Reward Icons (RewardIcons) | TMap<ERSERewardKind,TSoftObjectPtr<UTexture2D> > | (7 entries) | Journal|Pictures | Icons of rewards without their own (money, experience, points; items and abilities use theirs, recruits their portrait). | |
Reward Icon Size (RewardIconSize) | float | 34.000000 | Journal|Pictures | ||
Rewards Header (RewardsHeader) | FText | NSLOCTEXT("RSEQuestUI", "RewardsHeader", "Rewards") | Journal|Pictures | ||
Ability Forgotten Format (AbilityForgottenFormat) | FText | NSLOCTEXT("RSEQuestUI", "AbilityForgottenFormat", "{Character} forgot {Ability}.") | Notifications | Body of the forgotten-ability notice. Arguments: {Character}, {Ability}. | |
Ability Learned Format (AbilityLearnedFormat) | FText | NSLOCTEXT("RSEQuestUI", "AbilityLearnedFormat", "{Character} learned {Ability}!") | Notifications | Body of the learned-ability notice. Arguments: {Character}, {Ability}. | |
Ability Learned Header (AbilityLearnedHeader) | FText | NSLOCTEXT("RSEQuestUI", "AbilityLearnedHeader", "New Ability") | Notifications | Header of the learned-ability notice. | |
Hold Toasts in Battle (bHoldToastsInBattle) | bool | True | Notifications | Notifications wait while a battle runs and appear afterwards. | |
Toast Abandoned Quests (bToastAbandonedQuests) | bool | False | Notifications | ||
Toast Learned Abilities (bToastLearnedAbilities) | bool | True | Notifications | Notify abilities learned or forgotten for good (Learn Ability / Forget Ability effects, scrolls; D-082). | |
Toast Objective Progress (bToastObjectiveProgress) | bool | True | Notifications | Notify counter changes ("Wolves 2/5"), not only completed objectives. | |
Toast Quests Missed Before Start (bToastQuestsMissedBeforeStart) | bool | False | Notifications | Notify quests missed before the player ever started them (they always appear in the journal). | |
Max Queued Toasts (MaxQueuedToasts) | int32 | 8 | Notifications | Notifications waiting beyond this are dropped (oldest first). | |
Max Visible Toasts (MaxVisibleToasts) | int32 | 3 | Notifications | ||
Toast Alignment (ToastAlignment) | FVector2D | (X=0.500000,Y=0.000000) | Notifications | ||
Toast Anchor (ToastAnchor) | FVector2D | (X=0.500000,Y=0.100000) | Notifications | --- Notifications --- | |
Toast Duration (ToastDuration) | float | 3.500000 | Notifications | ||
Toast Spacing (ToastSpacing) | float | 6.000000 | Notifications | ||
Toast Width (ToastWidth) | float | 420.000000 | Notifications | ||
Hide Tracker in Battle (bHideTrackerInBattle) | bool | True | Tracker | ||
Show Tracker (bShowTracker) | bool | True | Tracker | --- Tracker --- | |
Tracker Shows Optional Objectives (bTrackerShowsOptionalObjectives) | bool | True | Tracker | ||
Max Tracker Objectives (MaxTrackerObjectives) | int32 | 4 | Tracker | Open objectives listed under the tracked quest. | |
Tracker Alignment (TrackerAlignment) | FVector2D | (X=1.000000,Y=0.000000) | Tracker | ||
Tracker Anchor (TrackerAnchor) | FVector2D | (X=1.000000,Y=0.000000) | Tracker | Normalized screen anchor and pivot of the tracker panel, plus a pixel offset (default: under the minimap, D-092). | |
Tracker Offset (TrackerOffset) | FVector2D | (X=-24.000000,Y=296.000000) | Tracker | ||
Tracker Width (TrackerWidth) | float | 320.000000 | Tracker |
RPG Saga Engine: Quests
Class URSEQuestSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Quest system rules (Project Settings -> RPG Saga Engine -> Quests).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Ending Set (EndingSet) | TSoftObjectPtr<URSEEndingSetData> | None | Endings | The game's endings, key choices, hidden score and point of no return. | |
Auto Track Started Quests (bAutoTrackStartedQuests) | bool | True | Quests | A newly started quest becomes the tracked quest when nothing is tracked. | |
Load Quests from Asset Manager (bLoadQuestsFromAssetManager) | bool | True | Quests | Load every quest registered with the Asset Manager (type RSEQuestData) when the game starts, so availability and auto-start are evaluated for all of them. Quest assets are small (heavy references must be soft). | |
Max Evaluation Passes (MaxEvaluationPasses) | int32 | 64 | Quests | Safety cap on chained re-evaluations in one update (effects that change state which completes more objectives...). Reaching it means content loops; it is logged as an error. |
RPG Saga Engine: Reinforcements
Class URSEReinforcementSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Reinforcements and scripted battle events (D-117, docs/product/reinforcements.md): an enemy calls its friends, who appear out of sight and run to the fight; important battles pause for a line and a turn.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Incoming Blackboard Key (IncomingBlackboardKey) | FName | IncomingReinforcements | Calling | The AI team blackboard key that holds how many reinforcements are on their way for a team (D-056 blackboard): AI profile rules may read it (hold back, defend the caller) while help is coming. Empty = not written. | |
Interrupting Statuses (InterruptingStatuses) | FGameplayTagContainer | (GameplayTags=((TagName="Status.Silence"),(TagName="Status.Sleep"),(TagName="Status.Daze"),(TagName="Status.Stop"))) | Calling | Statuses that stop a caller from calling (and, when its data says so, cancel a call in progress): silence, sleep, a daze. A caller that is not standing (fallen, gone) never calls. | |
Max Units Per Wave (MaxUnitsPerWave) | int32 | 8 | Calling | Most units one wave may bring (a safety cap over the data). | |
Reinforcements (bReinforcements) | bool | True | General | Off = no reinforcement is ever called (the data stays; scripted battle events still run). | |
Scripted Events (bScriptedEvents) | bool | True | General | Off = scripted battle events never run. | |
Grid Enter at Edge (bGridEnterAtEdge) | bool | True | Other Modes | Grid Tactics: reinforcements enter on the grid's edge tiles (the nearest to the caller), else next to the caller. | |
Classic Row (ClassicRow) | ERSEATBRow | Front | Other Modes | ATB / turn-based: the row reinforcements take when their data does not say. | |
Grid Min Party Tiles (GridMinPartyTiles) | int32 | 3 | Other Modes | Grid Tactics: edge tiles closer than this to a party unit are skipped (tiles, Manhattan). | |
Classic Act Now Shift (ClassicActNowShift) | float | 1.000000 | Scripted Events | Grid Tactics, ATB and turn-based have no inserted turns: a scripted event's "acts now" moves the unit's next turn this much sooner (a fraction of a turn: 1 = a whole turn). | |
Max Events Per Step (MaxEventsPerStep) | int32 | 4 | Scripted Events | Most scripted events that may fire at one safe point (a guard against events that trigger each other). | |
Hide from Party Sight (bHideFromPartySight) | bool | True | Spawn Points | Points must also be hidden from the party's line of sight (not only out of the camera's view). | |
Concealment Radius (ConcealmentRadius) | float | 3.000000 | Spawn Points | How far around a point obstacles count for the concealment preference (meters). | |
Concealment Weight (ConcealmentWeight) | float | 0.600000 | Spawn Points | Preference for points next to tall obstacles (trees, rocks, walls): they come out of the forest. 0 = none. | |
Edge Weight (EdgeWeight) | float | 1.000000 | Spawn Points | Preference for points far from the party (the edges of the battle area). 0 = none. | |
Max Samples (MaxSamples) | int32 | 800 | Spawn Points | Most candidate points tested per wave (each one runs a line of sight check per party member). | |
Min Party Distance (MinPartyDistance) | float | 10.000000 | Spawn Points | Spawn points closer than this to any party member are never used (meters, 2D). | |
Sample Spacing (SampleSpacing) | float | 1.000000 | Spawn Points | Spacing of the candidate points sampled around the caller (meters). Smaller = more candidates, more cost. | |
Unit Spacing (UnitSpacing) | float | 0.800000 | Spawn Points | Room between two units of the same wave (meters, edge to edge). |
RPG Saga Engine: Reinforcements (Presentation)
Class URSEReinforcementPresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. How reinforcements and scripted battle events look and sound (D-117): the caller's bubble, the banner, the runners, the minimap markers, the lines of scripted events.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Announce Sound (AnnounceSound) | FGameplayTag | (TagName="Audio.Battle.Reinforcement.Announce") | Audio | Sound of the "Reinforcements!" banner. | |
Arrival Sound (ArrivalSound) | FGameplayTag | (TagName="Audio.Battle.Reinforcement.Arrive") | Audio | Sound when a wave joins. | |
Call Sound (CallSound) | FGameplayTag | (TagName="Audio.Battle.Reinforcement.Call") | Audio | Sound of a call when the data has none (an Audio.* tag of the sound catalog). | |
Bubble Back Color (BubbleBackColor) | FRSEUIColor | (Token="Primary",Alpha=0.820000,Lightness=-0.279664,Chroma=0.119391,Hue=21.873074,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Bubbles | ||
Bubble Height (BubbleHeight) | float | 70.000000 | Bubbles | Height of a bubble above the unit's head (cm). | |
Bubble Text Color (BubbleTextColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=0.006437,Chroma=2.642451,Hue=162.667007,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Bubbles | --- Bubbles --- | |
Bubble Wrap Width (BubbleWrapWidth) | float | 320.000000 | Bubbles | Widest a bubble's text wraps at (px). | |
Announce Text (AnnounceText) | FText | NSLOCTEXT("RSEReinforcementPresentation", "AnnounceText", "Reinforcements!") | Call | Banner when help is called (data without its own text). | |
Arrived Text (ArrivedText) | FText | NSLOCTEXT("RSEReinforcementPresentation", "ArrivedText", "Reinforcements arrive!") | Call | Banner when a wave joins the battle. Empty = no banner. | |
Banner Seconds (BannerSeconds) | float | 1.600000 | Call | How long the banners stay (real seconds). | |
Call Focus Seconds (CallFocusSeconds) | float | 1.200000 | Call | The battle waits this long on the caller when a call starts (the camera shows it calling; game seconds). | |
Calling Color (CallingColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=-0.016729,Chroma=1.097072,Hue=-1.844743,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Call | ||
Calling Icon (CallingIcon) | FText | INVTEXT("(!)") | Call | The icon over a unit that is calling for help (a short text or symbol, shown in the bubble before the bark). | |
Cancelled Text (CancelledText) | FText | NSLOCTEXT("RSEReinforcementPresentation", "CancelledText", "Cut off!") | Call | Shown over the caller when its call was stopped ("Silenced!"). Empty = nothing. | |
Default Call Bark (DefaultCallBark) | FText | NSLOCTEXT("RSEReinforcementPresentation", "DefaultCallBark", "To me!") | Call | What a caller shouts when its data has no bark. | |
Area Margin (AreaMargin) | float | 4.000000 | Runners | Extra room around the farthest reinforcement point when the area grows (meters). | |
Grow Area for Reinforcements (bGrowAreaForReinforcements) | bool | True | Runners | The battle area grows to take the farthest reinforcement point (within Free Tactics (Presentation) -> Max Area Size). | |
Require Nav Mesh (bRequireNavMesh) | bool | True | Runners | On a map with a navigation mesh, spawn points must lie on it. | |
Camera Margin (CameraMargin) | float | 4.000000 | Runners | Margin inside the screen edges a spawn point must stay out of (degrees of the view's half angles). | |
Leftover Behavior (LeftoverBehavior) | TSoftObjectPtr<URSERoamingBehaviorData> | /RPGSagaEngine/Data/Encounters/Roaming/DA_Roam_Aggressive.DA_Roam_Aggressive | Runners | Behavior of reinforcements left in the world when the battle ended before they arrived (Leftover = Become Roaming). Empty = Aggressive. | |
Marker Category (MarkerCategory) | FGameplayTag | (TagName="Map.Marker.Reinforcement") | Runners | The minimap / compass category of units on their way (Map & Minimap categories). | |
Min Run Seconds (MinRunSeconds) | float | 1.500000 | Runners | They run at least this long before they may be handed to the battle (real seconds), so the player sees them come. | |
Run Speed (RunSpeed) | float | 520.000000 | Runners | How fast the reinforcements run in (cm/s). | |
Stop Distance (StopDistance) | float | 3.000000 | Runners | They stop running this far from the caller (meters). | |
Confirm Skips Line (bConfirmSkipsLine) | bool | True | Scripted Events | The confirm input skips a scripted line (not a dialog: the dialog has its own input). | |
Show Speaker Banner (bShowSpeakerBanner) | bool | True | Scripted Events | The speaker's name in front of a scripted line in the banner ("Varg: ..."). | |
Cinematic Distance (CinematicDistance) | float | 900.000000 | Scripted Events | Cinematic camera of scripted events: the distance to the speaker (cm). | |
Script Line Seconds (ScriptLineSeconds) | float | 2.800000 | Scripted Events | How long a scripted line stays when its event does not say (real seconds). |
RPG Saga Engine: Reward Feed
Class URSERewardFeedSettings (module RSE), Project Settings, Project, RPG Saga Engine. Reward feed (D-128).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Announce Loot Placements (bAnnounceLootPlacements) | bool | True | Style | D-143: loot dealt into the members' bags outside battles (chests, pick-ups, quests, shops) shows a toast per receiver ("Potion x2 -> Mira"), with the style's Items provider texts. Battle rewards name the receivers in their own toasts. | |
Kind Icons (KindIcons) | TMap<FName,TSoftObjectPtr<UTexture2D> > | (9 entries) | Style | Glyph of each kind of toast without an icon of its own (tinted with the kind's color). The plugin's defaults use its glyphs. | |
Style (Style) | TSoftObjectPtr<URSERewardFeedStyle> | None | Style | The look, timings and providers. Empty = the built-in style. | |
Widget Class (WidgetClass) | TSoftClassPtr<URSERewardFeedWidget> | None | Style | The widget that shows the feed on each local player's screen. Empty = the built-in one (painted, no widget per toast). | |
ZOrder (ZOrder) | int32 | 12 | Style | Viewport Z order of the feed (over the HUD, under modal screens). |
RPG Saga Engine: Rules Profiles
Class URSERulesSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Rules profiles (D-035).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Session Rule Options (SessionRuleOptions) | TArray<FName> | (4 entries) | Co-op | Option rows that change rules of play (D-139): in co-op their values are the host's for everyone (a guest sees them greyed out) and only the host changes them. Ids of the options screen's rows; add a game's own rule rows here. | |
Default Profile (DefaultProfile) | TSoftObjectPtr<URSERulesProfile> | /RPGSagaEngine/Data/Rules/DA_Rules_Default.DA_Rules_Default | Rules Profiles | Profile of a new game (and of saves that have none). Empty = the global settings only. Story effects ("Set Rules Profile") switch the game's profile later; encounters may override it per battle. |
RPG Saga Engine: Save
Class URSESaveSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Save/load rules (D-010).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Autosave Slot Count (AutosaveSlotCount) | int32 | 1 | Autosave | Autosave slots in rotation: each autosave goes to an empty one, else overwrites the oldest. 1 = the usual single autosave (playtest 2026-09-28); the save screen lists extra autosave slots only once they hold a save. | |
Autosave in No Save Zones (bAutosaveInNoSaveZones) | bool | False | Autosave | Zone transition autosaves also in no-save areas (by default they are skipped there, like the save item). | |
Autosave on Zone Transition (bAutosaveOnZoneTransition) | bool | True | Autosave | Autosave when the player arrives on another map through a zone exit, the world map or a story travel. | |
Min Seconds Between Autosaves (MinSecondsBetweenAutosaves) | float | 30.000000 | Autosave | Zone transition autosaves closer than this to the previous autosave are skipped (walking back and forth). | |
Zone Autosave Delay (ZoneAutosaveDelay) | float | 0.500000 | Autosave | Delay after arriving before the zone transition autosave (the new map settles, the thumbnail shows it). | |
Backend (Backend) | ERSESaveBackendType | File | Backend | Where save slots are stored. File: our own files with checksum, atomic replace and backup (default, PC / Steam Deck). Save Game System: the engine's platform save system (ISaveGameSystem), which console SDKs implement. Custom: a C++ class implementing IRSESaveBackend. | |
Custom Backend Class (CustomBackendClass) | TSoftClassPtr<UObject> | None | Backend | The backend class when Backend = Custom (a C++ class implementing IRSESaveBackend). | |
Suspend Flush Timeout (SuspendFlushTimeout) | float | 2.000000 | Backend | Seconds the app waits for save writes in flight when it is suspended (the platform may stop it right after). | |
Session Policy Class (SessionPolicyClass) | TSoftClassPtr<URSESaveSessionPolicy> | None | Co-op | Who may save and load during a co-op session and what a refused player reads (default: only the host; the host may load while guests are connected). Empty = RSE Save Session Policy. | |
Keep Backup (bKeepBackup) | bool | True | Files | Keep the previous good save of each slot as a backup (.bak) that loads when the slot is damaged (File backend). | |
Min Free Disk Space MB (MinFreeDiskSpaceMB) | int32 | 1 | Files | Free disk space a save must leave (File backend): a write that would go below it fails with No Space before touching the slot. 0 = no check. | |
Legacy Player Options Sections (LegacyPlayerOptionsSections) | TArray<FString> | (1 entries) | Player Options | Older GameUserSettings.ini sections that held the player options (e.g. a section of an earlier version of the game). At the first access, when [RSE.PlayerOptions] is empty, their keys are copied into it and the old section is removed, so the players keep their options. Empty = nothing to migrate. | |
Autosave Slot Name (AutosaveSlotName) | FString | Autosave | Slots | Autosave slot file name (never overwritten by manual saves, D-010). With several autosave slots the others are Name1, Name2... Empty = no autosave at all. | |
Slot Count (SlotCount) | int32 | 3 | Slots | Manual save slots offered by the save/load menus. | |
Slot Name Prefix (SlotNamePrefix) | FString | Slot | Slots | Manual slot file names are Prefix + index (Slot0, Slot1...). | |
User Index (UserIndex) | int32 | 0 | Slots | Platform user index of the saves while no platform user is known (D-170: URSEPlatformUserSubsystem sets the primary user). |
RPG Saga Engine: Save UI
Class URSESaveUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Save/load user flow (D-010): save points, the save item, the slot screens and restoring the player on load.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Map Area Names (MapAreaNames) | TMap<TSoftObjectPtr<UWorld> ,FText> | (0 entries) | Areas | Area name per map, used when the player stands in no ARSEAreaVolume. | |
Unknown Area Name (UnknownAreaName) | FText | Areas | Area name when neither a volume nor MapAreaNames names the place. Empty = the map's asset name. | ||
Autosave at Save Points (bAutosaveAtSavePoints) | bool | True | Rules | Save points write the autosave slot as soon as they are used (D-010), before the slot screen opens. | |
Lock Screen After Save (bLockScreenAfterSave) | bool | True | Rules | After a successful save the slot screen only accepts closing (one save per use, so one item per save). | |
Restore Party at Save Points (bRestorePartyAtSavePoints) | bool | True | Rules | Save points fully restore the party (HP/MP, KO, statuses) before saving, RSE style rest. | |
Fallback Load Map (FallbackLoadMap) | TSoftObjectPtr<UWorld> | None | Rules | Map used when a save has no map (should not happen outside tests). Empty = Game Flow -> NewGameMap. | |
Save Point Interact Radius (SavePointInteractRadius) | float | 0.000000 | Save Points | Range around the origin of save points that set no Interact Radius of their own. 0 = none: like any interactable with a body, the player uses it within the interaction reach of its body (Project Settings -> RPG Saga Engine -> Interaction). | |
Save Point Mesh (SavePointMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cone.Cone | Save Points | Placeholder look of save points that set no mesh of their own. | |
Save Point Mesh Scale (SavePointMeshScale) | FVector | (X=0.600000,Y=0.600000,Z=0.800000) | Save Points | ||
Screen Background Color (ScreenBackgroundColor) | FRSEUIColor | (Token="Primary",Alpha=0.780000,Lightness=-0.526921,Chroma=0.679858,Hue=0.163523,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Screen | Dims the world (and the menus) behind the slot screen. | |
Screen Vertical Anchor (ScreenVerticalAnchor) | float | 0.500000 | Screen | Normalized screen height of the panel's center. | |
Screen Width (ScreenWidth) | float | 720.000000 | Screen | ||
Screen ZOrder (ScreenZOrder) | int32 | 50 | Screen | Z-order of the slot screen in the viewport (above HUDs and the party menu). | |
Slot Widget Class (SlotWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screen | Save / load slot screen (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSESaveSlotsViewModel (docs/product/custom-ui.md). | |
Autosave Label (AutosaveLabel) | FText | NSLOCTEXT("RSESaveUISettings", "Autosave", "Autosave") | Texts | ||
Autosave Numbered Label Format (AutosaveNumberedLabelFormat) | FText | NSLOCTEXT("RSESaveUISettings", "AutosaveNumbered", "Autosave {0}") | Texts | Autosave rows when there are several autosave slots. {0} = 1-based number. | |
Backup Slot Detail (BackupSlotDetail) | FText | NSLOCTEXT("RSESaveUISettings", "BackupDetail", "Backup copy") | Texts | Detail of a damaged save whose backup copy is shown (and loads) instead. | |
Backup Slot Message (BackupSlotMessage) | FText | NSLOCTEXT("RSESaveUISettings", "BackupMessage", "This save file is damaged. Its backup copy (the previous save in this slot) will be loaded.") | Texts | Message on the load screen when the selected save is damaged and its backup will load. | |
Blocked Message (BlockedMessage) | FText | NSLOCTEXT("RSESaveUISettings", "Blocked", "You cannot save here.") | Texts | Saving is not allowed here (battle, dialog, cutscene, no-save zone). | |
Busy Message (BusyMessage) | FText | NSLOCTEXT("RSESaveUISettings", "Busy", "Please wait...") | Texts | ||
Corrupt Message (CorruptMessage) | FText | NSLOCTEXT("RSESaveUISettings", "Corrupt", "This save is damaged and cannot be loaded.") | Texts | D-170: the save is damaged and has no readable backup. | |
Corrupt Slot Detail (CorruptSlotDetail) | FText | NSLOCTEXT("RSESaveUISettings", "CorruptDetail", "Damaged") | Texts | Detail of a save file that is damaged and has no readable backup (it cannot be loaded). | |
Done Hint Text (DoneHintText) | FText | Texts | Hint after a save, when the screen only accepts closing. | ||
Empty Slot Text (EmptySlotText) | FText | NSLOCTEXT("RSESaveUISettings", "Empty", "Empty") | Texts | ||
Incompatible Slot Detail (IncompatibleSlotDetail) | FText | NSLOCTEXT("RSESaveUISettings", "Incompatible", "Newer version") | Texts | Detail of a save written by a newer game version. | |
Load Action Text (LoadActionText) | FText | NSLOCTEXT("RSESaveUISettings", "LoadAction", "Load") | Texts | Action of the confirm key prompt on the load screen. | |
Load Failed Message (LoadFailedMessage) | FText | NSLOCTEXT("RSESaveUISettings", "LoadFailed", "This save could not be loaded.") | Texts | ||
Load Hint Text (LoadHintText) | FText | Texts | |||
Load Title (LoadTitle) | FText | NSLOCTEXT("RSESaveUISettings", "LoadTitle", "Load") | Texts | --- Texts --- | |
Member Level Format (MemberLevelFormat) | FText | NSLOCTEXT("RSESaveUISettings", "MemberLevel", "{Name} {Term.LevelShort} {Level}") | Texts | A party member with its level on the slot screens. {Name}, {Level}. | |
Member Separator (MemberSeparator) | FText | NSLOCTEXT("RSESaveUISettings", "MemberSeparator", ", ") | Texts | Joins party member names. | |
No Label (NoLabel) | FText | NSLOCTEXT("RSESaveUISettings", "No", "No") | Texts | ||
No Space Message (NoSpaceMessage) | FText | NSLOCTEXT("RSESaveUISettings", "NoSpace", "There is not enough free storage to save. Free some space and try again.") | Texts | D-170: the storage is full (the save was not written; the previous save is untouched). | |
Overwrite Prompt (OverwritePrompt) | FText | NSLOCTEXT("RSESaveUISettings", "Overwrite", "Overwrite this save?") | Texts | ||
Play Time Format (PlayTimeFormat) | FText | NSLOCTEXT("RSESaveUISettings", "PlayTime", "{Hours}:{Minutes}:{Seconds}") | Texts | {Hours}, {Minutes}, {Seconds}: minutes and seconds have two digits. | |
Protected Slot Detail (ProtectedSlotDetail) | FText | NSLOCTEXT("RSESaveUISettings", "Protected", "Protected") | Texts | Detail of the autosave row on the save screen. | |
Protected Slot Message (ProtectedSlotMessage) | FText | NSLOCTEXT("RSESaveUISettings", "ProtectedMessage", "The autosave slot cannot be overwritten.") | Texts | ||
Save Action Text (SaveActionText) | FText | NSLOCTEXT("RSESaveUISettings", "SaveAction", "Save") | Texts | Action of the confirm key prompt on the save screen. | |
Saved Message (SavedMessage) | FText | NSLOCTEXT("RSESaveUISettings", "Saved", "Game saved.") | Texts | ||
Save Failed Message (SaveFailedMessage) | FText | NSLOCTEXT("RSESaveUISettings", "SaveFailed", "The game could not be saved.") | Texts | ||
Save Hint Text (SaveHintText) | FText | Texts | Optional line under the key prompts (empty = none). | ||
Save Point Prompt (SavePointPrompt) | FText | NSLOCTEXT("RSESaveUISettings", "SavePointPrompt", "Save") | Texts | Action of the interaction prompt on a save point ("[E] Save"). | |
Save Title (SaveTitle) | FText | NSLOCTEXT("RSESaveUISettings", "SaveTitle", "Save") | Texts | ||
Signed Out Message (SignedOutMessage) | FText | NSLOCTEXT("RSESaveUISettings", "SignedOut", "The profile that owns these saves is signed out. Sign in to save or load.") | Texts | D-170: the platform user the saves belong to signed out. | |
Slot Label Format (SlotLabelFormat) | FText | NSLOCTEXT("RSESaveUISettings", "SlotLabel", "Slot {0}") | Texts | {0} = 1-based slot number. | |
Slot Money Format (SlotMoneyFormat) | FText | NSLOCTEXT("RSESaveUISettings", "SlotMoney", "{Money}") | Texts | Money on the slot screens. {Money} = the amount in the Economy money format. | |
Yes Label (YesLabel) | FText | NSLOCTEXT("RSESaveUISettings", "Yes", "Yes") | Texts | ||
Capture Thumbnails (bCaptureThumbnails) | bool | True | Thumbnails | Saves carry a screenshot of the scene (without UI) taken when the save was requested. | |
Show Thumbnails (bShowThumbnails) | bool | True | Thumbnails | The slot screens show each save's thumbnail. | |
Thumbnail Capture Timeout (ThumbnailCaptureTimeout) | float | 1.000000 | Thumbnails | A screenshot that has not arrived after this long is given up (the save goes on without a thumbnail). | |
Thumbnail Display Size (ThumbnailDisplaySize) | FVector2D | (X=112.000000,Y=63.000000) | Thumbnails | Size of the thumbnail on the slot screens. | |
Thumbnail Placeholder Color (ThumbnailPlaceholderColor) | FRSEUIColor | (Token="White",Alpha=0.060000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Thumbnails | Background of a slot without a thumbnail. | |
Thumbnail Quality (ThumbnailQuality) | int32 | 80 | Thumbnails | JPEG quality of the stored thumbnail (1-100). | |
Thumbnail Width (ThumbnailWidth) | int32 | 320 | Thumbnails | Width the screenshot is downscaled to (the height keeps the aspect). |
RPG Saga Engine: Scenes
Class URSESceneSettings (module RSE), Project Settings, Project, RPG Saga Engine. Story scenes played with Level Sequences (D-043, docs/design/scenes.md): skip, camera return, letterbox and the overlay.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Default Blend Out Seconds (DefaultBlendOutSeconds) | float | 1.000000 | Camera | Camera blend back to gameplay at the end of a scene (scenes may override it). | |
Skip Blend Out Seconds (SkipBlendOutSeconds) | float | 0.350000 | Camera | Camera blend back after a skipped scene (a skip should feel quick). | |
Confirm Skip (bConfirmSkip) | bool | True | Input | Skipping asks for a confirmation first. Off = the key skips at once. | |
Skip Keys (SkipKeys) | TArray<FKey> | (2 entries) | Input | Asks to skip a skippable scene (also while one of its dialog lines is shown). | |
Hide Engine HUD (bHideEngineHUD) | bool | True | Overlay | Hides the engine HUD (AHUD) while a scene plays. The RSE prompt and quest tracker always hide. | |
Letterbox Color (LetterboxColor) | FRSEUIColor | (Token="Black",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Overlay | ||
Letterbox Fraction (LetterboxFraction) | float | 0.100000 | Overlay | Height of each letterbox bar, as a fraction of the screen height. 0 = no letterbox. | |
Letterbox in Seconds (LetterboxInSeconds) | float | 0.400000 | Overlay | Seconds the letterbox bars take to slide in. | |
Overlay Widget Class (OverlayWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Overlay | Scene overlay (letterbox, skip hint and question) (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSESceneOverlayViewModel (docs/product/custom-ui.md). | |
Overlay ZOrder (OverlayZOrder) | int32 | 45 | Overlay | Z-order in the viewport: above the HUDs, below the dialog box (URSEDialogUISettings::WidgetZOrder). | |
Skip Action Text (SkipActionText) | FText | NSLOCTEXT("RSEScene", "SkipAction", "Skip") | Text | Key hint of a skippable scene ("[Tab] Skip"). | |
Skip No Text (SkipNoText) | FText | NSLOCTEXT("RSEScene", "SkipNo", "Keep watching") | Text | ||
Skip Question Text (SkipQuestionText) | FText | NSLOCTEXT("RSEScene", "SkipQuestion", "Skip this scene?") | Text | ||
Skip Yes Text (SkipYesText) | FText | NSLOCTEXT("RSEScene", "SkipYes", "Skip") | Text |
RPG Saga Engine: Seeds
Class URSESeedSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Where game randomness comes from (D-133).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Fixed World Seed (FixedWorldSeed) | int32 | 0 | Seeds | World seed of every new game (replays, bug reports, automated runs). 0 = a new seed per game. The console variable RSE.Seed.World overrides it while it is not 0. | |
Headless World Seed (HeadlessWorldSeed) | int32 | 1 | Seeds | World seed used where no game instance exists (headless simulations and tests): their results are reproducible. |
RPG Saga Engine: Starter Project
Class URSEStarterSliceSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Starter project (D-177, docs/design/plugin-phase.md section 3): what -run=RSENewProject -Slice=Starter builds into the project's root: a small playable slice made from the plugin's own content and shapes: a hub village, one generated interior, one battle of every mode, a branching dialog and a two-s...
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Action Arena Location (ActionArenaLocation) | FVector2D | (X=0.000000,Y=-3800.000000) | Battle Sites | Action: the arena's middle, its radius and the pillars that mark it. | |
Action Arena Pillars (ActionArenaPillars) | int32 | 10 | Battle Sites | ||
Action Arena Radius (ActionArenaRadius) | float | 700.000000 | Battle Sites | ||
ATBStage Location (ATBStageLocation) | FVector2D | (X=-4200.000000,Y=-4200.000000) | Battle Sites | ATB: the stage the classic battles (random encounter and the gate fight) are fought on. | |
Gate Location (GateLocation) | FVector2D | (X=3000.000000,Y=-1200.000000) | Battle Sites | Turn-based gate fight: the gate (two pillars with the trigger between them). | |
Grass Half Size (GrassHalfSize) | FVector2D | (X=900.000000,Y=600.000000) | Battle Sites | ||
Grass Location (GrassLocation) | FVector2D | (X=-2600.000000,Y=1200.000000) | Battle Sites | ATB random encounter: the tall grass (center and half size). | |
Live Group Location (LiveGroupLocation) | FVector2D | (X=-3300.000000,Y=3600.000000) | Battle Sites | Live Tactics (free movement on the live map): where the visible enemy group stands. | |
Tactics Trigger Location (TacticsTriggerLocation) | FVector2D | (X=2300.000000,Y=2300.000000) | Battle Sites | ||
Tactics Zone Location (TacticsZoneLocation) | FVector2D | (X=3600.000000,Y=3600.000000) | Battle Sites | Grid Tactics: the zone's middle and the trigger that starts the battle. | |
Enemies (Enemies) | TArray<TSoftObjectPtr<URSECharacterData> > | (2 entries) | Content | Enemies of the starter battles. Empty = Project Settings -> Wizards -> Default Enemies. | |
Interior Template (InteriorTemplate) | TSoftObjectPtr<URSEInteriorData> | /RPGSagaEngine/Data/Interiors/Examples/DA_Interior_Example_HunterLodge.DA_Interior_Example_HunterLodge | Content | The interior copied into the project and entered from the first plot (a generated interior: D-158). | |
Live Group Behavior (LiveGroupBehavior) | TSoftObjectPtr<URSERoamingBehaviorData> | /RPGSagaEngine/Data/Encounters/Roaming/DA_Roam_Cautious.DA_Roam_Cautious | Content | The roaming behavior of the live Tactics group. | |
Shop (Shop) | TSoftObjectPtr<URSEShopData> | /RPGSagaEngine/Data/Economy/DA_Shop_Starter_Z1.DA_Shop_Starter_Z1 | Content | The shop the Shopkeeper opens. | |
Floor Size (FloorSize) | float | 14000.000000 | Hub | The hub floor's side (cm). Every battle site below stands on it. | |
Player Start Location (PlayerStartLocation) | FVector2D | (X=0.000000,Y=-500.000000) | Hub | ||
Plot Locations (PlotLocations) | TArray<FVector2D> | (4 entries) | Hub | Village plots (houses made of shapes): their centers (cm) and size (width, depth, height). | |
Plot Size (PlotSize) | FVector | (X=600.000000,Y=500.000000,Z=400.000000) | Hub | ||
Save Point Location (SavePointLocation) | FVector2D | (X=350.000000,Y=-450.000000) | Hub | ||
Shape Mesh (ShapeMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Hub | The shape village plots, pillars and counters are made of (an engine shape by default). | |
Villagers (Villagers) | TArray<FRSEStarterVillager> | (5 entries) | Hub | The people of the village (Talker, Shopkeeper, QuestGiver). |
RPG Saga Engine: Stealth
Class URSEStealthSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Stealth and detection of visible enemies (D-097, D-151, docs/design/free-tactics.md sections 4 and 28): the detection meter, sneaking, concealment, light, cover, noise, the alarm, takedowns and the return to stealth.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Alarms (bAlarms) | bool | True | Alarm | An enemy that becomes aware of the party raises the alarm: the groups within its radius join, the others stay unaware. | |
Ambush Delays Alarm (bAmbushDelaysAlarm) | bool | True | Alarm | In the party's ambush the enemies were unaware: nobody is called at the start, and a surprised enemy raises the alarm only when it gets a turn of its own (kill it first and nobody comes). | |
Default Alarm Radius (DefaultAlarmRadius) | float | 1200.000000 | Alarm | The alarm radius of a behavior that leaves Alarm Radius at -1 (cm; as Free Tactics -> Call For Help Radius by default). | |
Ambush Range (AmbushRange) | float | 1400.000000 | Ambush | The party may spring an ambush on an unaware group this far from the leader (cm). | |
Placed Member Join Radius (PlacedMemberJoinRadius) | float | 3000.000000 | Ambush | Members placed for an ambush fight from their places when they stand this close to the leader (cm), farther than the usual join radius. | |
Suspicious Looks Toward (bSuspiciousLooksToward) | bool | True | Awareness | A suspicious enemy stops and turns toward where it saw or heard something (off: it keeps patrolling). | |
Suspicious Above (SuspiciousAbove) | float | 0.350000 | Awareness | From this share of its meter an enemy is suspicious ("?"): it stops and looks toward what it noticed. | |
Concealment Tags (ConcealmentTags) | TMap<FName,float> | (2 entries) | Concealment | Places that hide the party: an actor or component tag (on a volume, a tall grass field, a shadowed area) and the multiplier it gives the enemies' sight and hearing distance there (0.5 = half). Several: the lowest counts. | |
Sneak Behind Cover Hides (bSneakBehindCoverHides) | bool | True | Cover | Sneaking behind partial cover hides a party member from sight completely (crouched behind the wall). | |
Partial Cover Sight Multiplier (PartialCoverSightMultiplier) | float | 0.600000 | Cover | Partly behind cover (a low wall hides the body, the head shows): the enemies' sight reaches this share of its distance. | |
Use Detection Meter (bUseDetectionMeter) | bool | True | Detection | Visible enemies notice the party through a detection meter that fills up to "!" (off = at once, as before D-097: the first moment they see or hear the party). | |
Decay Delay (DecayDelay) | float | 1.500000 | Detection | Seconds without seeing or hearing anything before the meter starts to drain. | |
Decay Seconds (DecaySeconds) | float | 5.000000 | Detection | Seconds for a full meter to drain back to empty. | |
Seconds to Fill Close (SecondsToFillClose) | float | 0.800000 | Detection | Seconds to fill the meter for a party member right in front of the enemy (a quarter of the way to the edge of its senses or closer). | |
Seconds to Fill Far (SecondsToFillFar) | float | 4.000000 | Detection | Seconds to fill the meter for a party member at the very edge of the enemy's sight or hearing. | |
Show Meter Above (ShowMeterAbove) | float | 0.020000 | Detection | The meter shows above an enemy once it passes this share (below: nothing shown). | |
Rules Class (RulesClass) | TSoftClassPtr<URSEStealthRules> | None | Extending | The rules object (a subclass of URSEStealthRules changes how takedowns, noise and alarms resolve). Empty = the built-in rules. | |
Dark Sight Multiplier (DarkSightMultiplier) | float | 0.550000 | Light | In full darkness the enemies' sight reaches this share of its distance (light 1 = all of it). | |
Lamp Light Radius (LampLightRadius) | float | 600.000000 | Light | A party member within this distance of a lit lamp (a Night Light component that is on) stands in its light (cm). | |
Phase Light (PhaseLight) | TMap<FGameplayTag,float> | (3 entries) | Light | How lit the world is in each phase of the day (Time.Phase.*; 1 = daylight). A phase not listed is lit. Use these or the Time & Weather Rules' sight multipliers for the night, not both (they multiply). | |
Weather Light (WeatherLight) | TMap<FGameplayTag,float> | (2 entries) | Light | Light multiplier of weathers (Weather.*: fog, storm); a parent tag covers its children; several: the lowest. | |
Ability Noise (AbilityNoise) | TMap<TSoftObjectPtr<URSEAbilityData> ,float> | (0 entries) | Noise | Abilities with their own noise radius (cm): a thunder spell heard across the valley. Overrides Action Noise Radius. | |
Action Noise Radius (ActionNoiseRadius) | float | 1500.000000 | Noise | In a battle that began as the party's ambush, an action that is not silent is heard this far (cm; 0 = actions are silent). | |
Noise Gain at Edge (NoiseGainAtEdge) | float | 0.400000 | Noise | A noise at the very edge of its radius fills this share. | |
Noise Gain at Source (NoiseGainAtSource) | float | 1.000000 | Noise | A noise right next to an enemy fills this share of its meter at once (1 = it notices the party). | |
Silent Abilities (SilentAbilities) | TArray<TSoftObjectPtr<URSEAbilityData> > | (0 entries) | Noise | Abilities that make no noise (a silenced shot, a sleeping spell). | |
Silent Tag (SilentTag) | FGameplayTag | (TagName="Stealth.Silent") | Noise | The tag that makes a unit's weapon attacks silent (a weapon's Granted Tags, a class or trait tag). | |
Return Only After Ambush (bReturnOnlyAfterAmbush) | bool | True | Return To Stealth | Only after a battle the party opened unseen (its ambush, a failed takedown); off = after any battle. | |
Return to Stealth (bReturnToStealth) | bool | True | Return To Stealth | A won battle with nobody aware left standing (no alarm reached another group) gives the party back to sneaking, and the rest of the area stays as it was. | |
Run Hearing Multiplier (RunHearingMultiplier) | float | 2.000000 | Sneak | Hearing distance multiplier while running (running is loud). | |
Run Speed Share (RunSpeedShare) | float | 0.700000 | Sneak | The explorer counts as running above this share of its run speed. | |
Sneak Hearing Multiplier (SneakHearingMultiplier) | float | 0.350000 | Sneak | Hearing distance multiplier while sneaking. | |
Sneak Sight Multiplier (SneakSightMultiplier) | float | 0.600000 | Sneak | Sneaking: the enemies' sight reaches this share of its usual distance. | |
Sneak Speed Multiplier (SneakSpeedMultiplier) | float | 0.450000 | Sneak | Sneaking: movement speed multiplier (a slow, careful walk). | |
Still Hearing Multiplier (StillHearingMultiplier) | float | 0.500000 | Sneak | Hearing distance multiplier while standing still. | |
Walk Hearing Multiplier (WalkHearingMultiplier) | float | 1.000000 | Sneak | Hearing distance multiplier while walking. | |
Unseen Below (UnseenBelow) | float | 0.750000 | Surprise | Attacking an enemy whose meter is below this share counts as attacking unseen (a surprise round for the party). | |
Takedown Gives Experience (bTakedownGivesExperience) | bool | True | Takedown | A takedown gives the target's experience to the party, split like a battle's. | |
Takedown Lone Targets Only (bTakedownLoneTargetsOnly) | bool | True | Takedown | Only a lone enemy (its group has nobody else standing) can be taken down; a group is fought in an ambush instead. | |
Takedowns (bTakedowns) | bool | True | Takedown | Silent takedowns while sneaking: an unaware, isolated enemy is taken out without a battle when nobody sees or hears it. | |
Default Takedown (DefaultTakedown) | FRSETakedownProfile | (bAllowed=True,Reach=220.000000,MaxAngleFromBehind=80.000000,bRequireUnaware=True,NoiseRadius=1200.000000,WitnessHearingRadius=150.000000) | Takedown | Means of an attacker without any listed tag (bare hands, a sword: loud). Not Allowed = only the listed means take down. | |
Takedown Profiles (TakedownProfiles) | TMap<FGameplayTag,FRSETakedownProfile> | (1 entries) | Takedown | Means by tag (the attacker's: weapons' Granted Tags, class, traits): the first listed tag the attacker has wins. |
RPG Saga Engine: Stealth (Presentation)
Class URSEStealthPresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. How stealth ambushes look and feel (D-151, docs/design/free-tactics.md section 28): the detection shapes on the ground (one decal over the area around the local player, the D-113 overlay material and look), the meters' suspicious mark, the takedown and ambush prompts, the keys, the notifications.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Awareness Precision (AwarenessPrecision) | float | 0.050000 | Co-op | The shared meters are rounded to this step (fewer updates sent). | |
Awareness Sync Interval (AwarenessSyncInterval) | float | 0.200000 | Co-op | Seconds between the authority's awareness writes to the shared stealth state (co-op meters and marks). | |
Area Size (AreaSize) | float | 4400.000000 | Ground Overlay | Side of the square around the local player the overlay covers (cm). | |
Cell Size (CellSize) | float | 35.000000 | Ground Overlay | Size of one mask cell (cm): smaller = finer shapes, more work. | |
Cone Rays (ConeRays) | int32 | 28 | Ground Overlay | Rays per sight cone: the cone stops at walls along each ray. | |
Height Stride (HeightStride) | int32 | 3 | Ground Overlay | The ground heights are measured every this many cells (in between they are interpolated). | |
Height Tolerance (HeightTolerance) | float | 60.000000 | Ground Overlay | Ground within this height of a cell's measured ground takes paint (cm): never walls or props. | |
Max Enemies (MaxEnemies) | int32 | 12 | Ground Overlay | At most this many enemies are drawn (the nearest). | |
Overlay Material (OverlayMaterial) | TSoftObjectPtr<UMaterialInterface> | None | Ground Overlay | The overlay material (it reads a mask texture: sight, hearing, aware sight, ground height). Empty = Free Tactics (Presentation) -> Overlay Material. | |
Overlay Mode (OverlayMode) | ERSEStealthOverlayMode | WhileSneaking | Ground Overlay | --- Ground overlay --- | |
Refresh Interval (RefreshInterval) | float | 0.120000 | Ground Overlay | Seconds between redraws of the shapes (the enemies move, turn, see). | |
Smoothing (Smoothing) | int32 | 1 | Ground Overlay | How far the edges are softened (mask cells). | |
Sort Order (SortOrder) | int32 | 4 | Ground Overlay | ||
Aware Fill Color (AwareFillColor) | FRSEUIColor | (Token="Negative",Alpha=0.180000,Lightness=-0.007488,Chroma=1.143559,Hue=21.617987,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay|Look | Sight cones of suspicious or alerted enemies. | |
Aware Outline Color (AwareOutlineColor) | FRSEUIColor | (Token="Negative",Alpha=0.950000,Lightness=0.012073,Chroma=1.020684,Hue=21.934082,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay|Look | ||
Glow (Glow) | float | 1.000000 | Ground Overlay|Look | ||
Hearing Fill Color (HearingFillColor) | FRSEUIColor | (Token="Info",Lightness=0.094183,Chroma=0.417866,Hue=4.035979,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay|Look | Hearing circles: an outline only by default. | |
Hearing Outline Color (HearingOutlineColor) | FRSEUIColor | (Token="Info",Alpha=0.600000,Lightness=0.094183,Chroma=0.417866,Hue=4.035979,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay|Look | ||
Outline Softness (OutlineSoftness) | float | 6.000000 | Ground Overlay|Look | ||
Outline Width (OutlineWidth) | float | 12.000000 | Ground Overlay|Look | Outline width on the ground (cm) and its softness (cm). | |
Sight Fill Color (SightFillColor) | FRSEUIColor | (Token="Accent",Alpha=0.100000,Lightness=0.056368,Chroma=0.358493,Hue=4.888667,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay|Look | Sight cones of unaware enemies. | |
Sight Outline Color (SightOutlineColor) | FRSEUIColor | (Token="Accent",Alpha=0.800000,Lightness=0.041558,Chroma=0.461881,Hue=0.020349,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Ground Overlay|Look | ||
Input Priority (InputPriority) | int32 | 2 | Keys | Priority of the stealth keys' mapping context (above the exploration context). | |
Place Keys (PlaceKeys) | TArray<FKey> | (2 entries) | Keys | Place: the character the player leads holds its spot and the next member is taken (while sneaking); not sneaking: everyone regroups. | |
Strike Keys (StrikeKeys) | TArray<FKey> | (2 entries) | Keys | Strike: a takedown on the enemy in reach, else springs the ambush on the unaware group in range. | |
Ambush Prompt (AmbushPrompt) | FText | NSLOCTEXT("RSEStealthPresentation", "AmbushPrompt", "{Key} Ambush") | Meter | The prompt over an unaware group the party can ambush. | |
Prompt Color (PromptColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=-0.000937,Chroma=4.794667,Hue=-58.577801,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Meter | ||
Suspicious Color (SuspiciousColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=-0.018861,Chroma=1.223331,Hue=2.236193,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Meter | The meter's color while the enemy is suspicious, and the mark it shows. | |
Suspicious Mark (SuspiciousMark) | FText | NSLOCTEXT("RSEStealthPresentation", "SuspiciousMark", "?") | Meter | ||
Takedown Prompt (TakedownPrompt) | FText | NSLOCTEXT("RSEStealthPresentation", "TakedownPrompt", "{Key} Takedown") | Meter | The prompt over an enemy the party can take down ({Key}: the key's name). | |
Alarm Callout Seconds (AlarmCalloutSeconds) | float | 2.200000 | Notifications | Seconds the alarm's shout shows over the enemy that raised it (in the battle). | |
Alarm Color (AlarmColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.004980,Chroma=1.076515,Hue=14.498447,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Notifications | ||
Alarm Text (AlarmText) | FText | NSLOCTEXT("RSEStealthPresentation", "Alarm", "Alarm!") | Notifications | ||
Failed Takedown Text (FailedTakedownText) | FText | NSLOCTEXT("RSEStealthPresentation", "FailedTakedown", "{Name} fights back!") | Notifications | ||
Noisy Takedown Text (NoisyTakedownText) | FText | NSLOCTEXT("RSEStealthPresentation", "NoisyTakedown", "Someone noticed!") | Notifications | ||
Notice Color (NoticeColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.066506,Chroma=0.653430,Hue=-3.701602,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Notifications | ||
Placed Text (PlacedText) | FText | NSLOCTEXT("RSEStealthPresentation", "Placed", "{Name} holds this spot") | Notifications | A member was placed ({Name}). | |
Regroup Text (RegroupText) | FText | NSLOCTEXT("RSEStealthPresentation", "Regroup", "The party regroups") | Notifications | ||
Return to Stealth Text (ReturnToStealthText) | FText | NSLOCTEXT("RSEStealthPresentation", "ReturnToStealth", "Back in the shadows") | Notifications | ||
Silent Takedown Text (SilentTakedownText) | FText | NSLOCTEXT("RSEStealthPresentation", "SilentTakedown", "Silent takedown") | Notifications | --- Notifications --- | |
Takedown Corpse Seconds (TakedownCorpseSeconds) | float | 0.000000 | Notifications | Seconds a taken-down enemy lies before it goes (0 = stays; as Free Tactics corpses otherwise). | |
Takedown Sound (TakedownSound) | TSoftObjectPtr<USoundBase> | None | Notifications | Played at a takedown (empty = none). |
RPG Saga Engine: Studio
Class URSEStudioSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. RPG Saga Studio (D-090, docs/product/studio.md): the project-wide settings of the Studio window, its explanations and the character sheet.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Ability Preview Aim Color (AbilityPreviewAimColor) | FLinearColor | (R=1.000000,G=0.150000,B=0.100000,A=1.000000) | Ability Preview | ||
Ability Preview Area Color (AbilityPreviewAreaColor) | FLinearColor | (R=1.000000,G=0.550000,B=0.100000,A=1.000000) | Ability Preview | ||
Ability Preview Damage Color (AbilityPreviewDamageColor) | FLinearColor | (R=1.000000,G=0.920000,B=0.850000,A=1.000000) | Ability Preview | Colors of damage, healing and status numbers, and of the area telegraph (the aimed tile in Aim Color). | |
Ability Preview Exposure EV100 (AbilityPreviewExposureEV100) | float | -1.000000 | Ability Preview | Fixed exposure of the preview (EV100; lower = brighter). | |
Ability Preview Field Of View (AbilityPreviewFieldOfView) | float | 38.000000 | Ability Preview | Vertical field of view of the preview camera. | |
Ability Preview Floor Material (AbilityPreviewFloorMaterial) | TSoftObjectPtr<UMaterialInterface> | None | Ability Preview | Its material. Empty = the mesh's own. | |
Ability Preview Floor Mesh (AbilityPreviewFloorMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Plane.Plane | Ability Preview | The floor under the preview (a flat mesh, scaled to the scene). Empty = no floor. | |
Ability Preview Heal Color (AbilityPreviewHealColor) | FLinearColor | (R=0.450000,G=1.000000,B=0.550000,A=1.000000) | Ability Preview | ||
Ability Preview Loop Delay (AbilityPreviewLoopDelay) | float | 0.800000 | Ability Preview | Loop: the pause between two plays (seconds). | |
Ability Preview Number Material (AbilityPreviewNumberMaterial) | TSoftObjectPtr<UMaterialInterface> | /Engine/EngineMaterials/UnlitText.UnlitText | Ability Preview | Material of the floating numbers (an unlit text material reads in any light). Empty = the engine's default text material. | |
Ability Preview Number Rise (AbilityPreviewNumberRise) | float | 80.000000 | Ability Preview | ||
Ability Preview Number Seconds (AbilityPreviewNumberSeconds) | float | 1.400000 | Ability Preview | Floating numbers: how long they stay (seconds), how high they rise (cm) and their size (cm). | |
Ability Preview Number Size (AbilityPreviewNumberSize) | float | 60.000000 | Ability Preview | ||
Ability Preview Side Distance (AbilityPreviewSideDistance) | float | 700.000000 | Ability Preview | Classic modes (ATB, turn-based): distance between the two sides (cm) and between units of a side (cm). | |
Ability Preview Status Color (AbilityPreviewStatusColor) | FLinearColor | (R=0.750000,G=0.600000,B=1.000000,A=1.000000) | Ability Preview | ||
Ability Preview Tile Size (AbilityPreviewTileSize) | float | 160.000000 | Ability Preview | Distance between two grid tiles in the preview (cm). | |
Ability Preview Unit Spacing (AbilityPreviewUnitSpacing) | float | 190.000000 | Ability Preview | ||
Prompt Propagation on Archetype Save (bPromptPropagationOnArchetypeSave) | bool | True | Archetypes | After an archetype is saved, offer the propagation list when assets inherit fields that now differ (a notification with "Review changes"). Nothing is applied without the list (D-090 decision 2). | |
Difficulty Easy Win Rate (DifficultyEasyWinRate) | float | 0.900000 | Difficulty Estimate | The party wins at least this often: "Easy". | |
Difficulty Hard Win Rate (DifficultyHardWinRate) | float | 0.550000 | Difficulty Estimate | The party wins less often than this: "Hard" (between the two: "Fair"). Below half of it: "Very hard". | |
Difficulty Runs (DifficultyRuns) | int32 | 12 | Difficulty Estimate | "How hard is it?" (New Enemy, New Battle): battles the simulator plays for the estimate. | |
Help Table (HelpTable) | TSoftObjectPtr<UDataTable> | /RPGSagaEngine/Data/Studio/DT_RSE_StudioHelp.DT_RSE_StudioHelp | Explanations | The explanations of the Studio, the wizards and the character sheet: a Data Table of Studio Help Rows (row name = the help id, e.g. "Character.Class"). Localizable: its texts are gathered with the plugin's texts. Copy it to rewrite the texts. | |
Starter Character Count (StarterCharacterCount) | int32 | 0 | First Steps | Characters and battles in the project when the starter content was made: "Create a character" and "Create a battle" are done when there are more. | |
Starter Encounter Count (StarterEncounterCount) | int32 | 0 | First Steps | ||
Starter Root (StarterRoot) | FDirectoryPath | () | First Steps | The content root of the starter slice (/Game/Starter). Empty = the project has no slice: playing the new-game map counts as playing. | |
Learn Links (LearnLinks) | TArray<FRSEStudioLearnLink> | (5 entries) | Learn | Links of the Studio's Learn section, in order. | |
Ability List Max Level (AbilityListMaxLevel) | int32 | 0 | New Character | Level of the New Character wizard's ability list: abilities up to this level are listed. 0 = every level. | |
Enemy Only Class Tags (EnemyOnlyClassTags) | FGameplayTagContainer | (GameplayTags=((TagName="Class.Foe"),(TagName="Class.Wyrm"))) | New Character | Classes with one of these tags (or a child tag) are enemy classes: the New Character wizard offers them only for enemies. | |
Preview Turn Speed (PreviewTurnSpeed) | float | 20.000000 | New Character | How fast the live 3D preview of the wizard and the character sheet turns (degrees per second). 0 = it stands still. | |
Warn when Editing Plugin Assets (bWarnWhenEditingPluginAssets) | bool | True | Plugin Templates | Warn with a notification when a plugin asset (under the plugin's content folder) is changed in an editor: plugin assets are templates shared by every asset using them and are replaced when the plugin updates (D-090 11b). | |
Template Manifest File (TemplateManifestFile) | FString | Config/Studio/TemplateManifest.json | Plugin Templates | The file listing the shipped state of the plugin's data assets (RSE.Studio.ExportTemplateManifest writes it), relative to the plugin folder. Validate All Data warns about plugin data assets that differ from it (modified locally). | |
Preview Shadows (bPreviewShadows) | bool | True | Preview | Character preview: the key light casts a soft shadow. | |
Preview Ambient (PreviewAmbient) | float | 0.350000 | Preview | Character preview: soft ambient light from the sky (0 = none). | |
Preview Background Color (PreviewBackgroundColor) | FLinearColor | (R=0.045000,G=0.047000,B=0.052000,A=1.000000) | Preview | Character preview: the background color (a neutral studio backdrop). | |
Preview Drag Degrees Per Pixel (PreviewDragDegreesPerPixel) | float | 0.600000 | Preview | Character preview: dragging turns the character by this many degrees per pixel. | |
Preview Exposure EV100 (PreviewExposureEV100) | float | 2.400000 | Preview | Character preview: fixed exposure (EV100; lower = brighter). The light rig's Exposure Bias is added. | |
Preview Field Of View (PreviewFieldOfView) | float | 28.000000 | Preview | Character preview: vertical field of view (a narrow lens keeps proportions, like a studio photo). | |
Preview Framing Margin (PreviewFramingMargin) | float | 1.120000 | Preview | Character preview: room above the head and below the feet (1 = the character fills the height). | |
Preview Key Light Size (PreviewKeyLightSize) | float | 40.000000 | Preview | Character preview: size of the key light (larger = softer shadow edges). | |
Preview Light Rig (PreviewLightRig) | FName | Studio | Preview | Character preview (wizard, sheets): the lighting rig by name (Project Settings -> Portraits -> Light Rigs; key, fill and rim). | |
Preview Max Zoom (PreviewMaxZoom) | float | 1.600000 | Preview | ||
Preview Min Zoom (PreviewMinZoom) | float | 0.350000 | Preview | Character preview: the mouse wheel zooms between these framings (1 = the whole character). | |
Preview Turn Resume Delay (PreviewTurnResumeDelay) | float | 3.000000 | Preview | Character preview: after a drag, the slow turn waits this long before it goes on (seconds). | |
Role Fields (RoleFields) | TArray<FRSEStudioRoleRule> | (10 entries) | Roles | Role-aware views (D-098): which fields each role sees on the character sheet (Simple and Advanced), the Studio's wizards and their help. Party characters do not see enemy rewards or the bestiary; enemies do not see party-only settings. The generic asset editor always shows every field. | |
Max Recent Assets (MaxRecentAssets) | int32 | 10 | Studio | How many recently created or edited assets "Continue where you left off" shows. | |
Recent Thumbnail Size (RecentThumbnailSize) | int32 | 64 | Studio | Size of the thumbnails in "Continue where you left off" (pixels). | |
Test Battle Mode (TestBattleMode) | FGameplayTag | (TagName="Battle.Mode.ATB") | Test in Battle | Battle mode of an enemy's test battle (the hero's test uses the Test Encounter's mode). | |
Test Encounter (TestEncounter) | TSoftObjectPtr<URSEEncounterData> | /RPGSagaEngine/Data/Encounters/DA_Encounter_Starter_Z1_Skirmish.DA_Encounter_Starter_Z1_Skirmish | Test in Battle | Character sheet "Test in battle": the battle the character's party fights (heroes). | |
Test Enemy Count (TestEnemyCount) | int32 | 2 | Test in Battle | Character sheet "Test in battle" of an enemy: how many of it the new-game party fights. | |
Test Runs (TestRuns) | int32 | 20 | Test in Battle | Battles the simulator plays for "Test in battle" (the win rate and the length are averages). |
RPG Saga Engine: Tactics Camera
Class URSETacticsCameraSettings (module RSE), Project Settings, Project, RPG Saga Engine. Tactical camera behaviour.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Pan Speed (PanSpeed) | float | 1500.000000 | Pan | Pan speed at full input, in cm per second. | |
Rotation Step (RotationStep) | float | 90.000000 | Rotation | Yaw change per rotate input. | |
Focus Interp Speed (FocusInterpSpeed) | float | 5.000000 | Smoothing | How fast the camera glides to a new focus (the unit whose turn starts). 0 = cut at once. | |
Interp Speed (InterpSpeed) | float | 8.000000 | Smoothing | How fast yaw and zoom blend to their targets (higher is snappier). | |
Field Of View (FieldOfView) | float | 35.000000 | View | Narrow field of view flattens perspective toward an isometric look. | |
Initial Yaw (InitialYaw) | float | 45.000000 | View | Yaw at start, in degrees. 45 gives the classic diagonal isometric view. | |
Pitch (Pitch) | float | -50.000000 | View | Downward camera angle in degrees (negative looks down). | |
Initial Distance (InitialDistance) | float | 2600.000000 | Zoom | ||
Max Distance (MaxDistance) | float | 5000.000000 | Zoom | ||
Min Distance (MinDistance) | float | 1200.000000 | Zoom | ||
Zoom Step (ZoomStep) | float | 300.000000 | Zoom | Distance change per unit of zoom input (one mouse wheel notch). |
RPG Saga Engine: Tactics Path Preview
Class URSEPathPreviewSettings (module RSE), Project Settings, Project, RPG Saga Engine. Look of the live movement path line and of the danger zone overlay in Tactics battles (D-033).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Label Height (LabelHeight) | float | 60.000000 | Cost Label | Height of the Action Point label above the end of the path, in cm. | |
No Action Label Color (NoActionLabelColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=0.024668,Chroma=1.941756,Hue=-7.776914,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Cost Label | Label color when the destination leaves too few Action Points to attack, or to act at all. | |
Arc Height (ArcHeight) | float | 20.000000 | Line | Extra height of the arc between two tiles of different height, above the higher one. | |
Hide Path Tiles with Line (bHidePathTilesWithLine) | bool | True | Line | Hide the yellow path tiles while the line is drawn (the line replaces them). | |
Show Path Line (bShowPathLine) | bool | True | Line | Draw the path line while choosing a move destination. | |
Dashes Per Tile (DashesPerTile) | float | 3.000000 | Line | ||
Dash Speed (DashSpeed) | float | 1.500000 | Line | ||
Hazard Color (HazardColor) | FRSEUIColor | (Token="Charge",Alpha=1.000000,Lightness=-0.116643,Chroma=2.591229,Hue=117.309082,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Line | D-156 (Free Tactics): the part of an affordable path inside a dangerous surface (fire, poison, ice...). | |
Height Offset (HeightOffset) | float | 12.000000 | Line | Height of the line above the tile surface. | |
Line Material (LineMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/M_PathPreview.M_PathPreview | Line | Material of the line. Parameters below are set when the material has them. | |
Line Mesh (LineMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Line | Mesh bent along the path by spline mesh components; its X axis runs along the path. A unit cube works. | |
Line Mesh Size (LineMeshSize) | float | 100.000000 | Line | Size of LineMesh along each axis, in cm (to scale it to LineWidth / LineThickness). | |
Line Thickness (LineThickness) | float | 2.000000 | Line | ||
Line Width (LineWidth) | float | 12.000000 | Line | ||
Over Budget Color (OverBudgetColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.072038,Chroma=1.357145,Hue=1.787338,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Line | Part of the path beyond the remaining Action Points. | |
Reachable Color (ReachableColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.055424,Chroma=1.415302,Hue=23.530649,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Line | Affordable part of the path. | |
Color Parameter (ColorParameter) | FName | Color | Line|Material Parameters | Material vector parameter receiving the line color. | |
Dash Count Parameter (DashCountParameter) | FName | DashesPerTile | Line|Material Parameters | Material scalar parameter: dashes per tile. | |
Dash Speed Parameter (DashSpeedParameter) | FName | DashSpeed | Line|Material Parameters | Material scalar parameter: dash scroll speed (tiles per second, 0 = still). | |
Segment Length Data Index (SegmentLengthDataIndex) | int32 | 0 | Line|Material Parameters | Custom primitive data index receiving each segment's length in tiles, so dashes keep their size on long straight segments (the material multiplies U by it). INDEX_NONE = not sent. | |
Click to Move from Menu (bClickToMoveFromMenu) | bool | False | When | In the command menu, clicking a reachable tile moves there at once (a mouse shortcut past the Move command). | |
Preview Move in Menu (bPreviewMoveInMenu) | bool | False | When | Show the movement range and the path under the cursor in the command menu too, before Move is chosen. Off (classic tactical RPG style, playtest 2026-09-27): only the Move command shows them, so pointing at objects or units in the menu draws no path over them. |
RPG Saga Engine: Tactics Zone
Class URSETacticsZoneSettings (module RSE), Project Settings, Project, RPG Saga Engine. Presentation and baking settings of tactics zones (grid baking from level geometry, grid visuals, placeholder units).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Bake Ignore Tag (BakeIgnoreTag) | FName | RSE.GridIgnore | Baking | Actors or components with this tag are skipped by the bake (props that must not become tiles). | |
Bake Max Skipped Hits (BakeMaxSkippedHits) | int32 | 8 | Baking | How many skipped objects a single bake trace may pass through before it gives up on the tile. | |
Bake Min Surface Size (BakeMinSurfaceSize) | float | 40.000000 | Baking | Objects narrower than this (on either horizontal axis) are skipped by the bake: small rocks, rubble, bottles. 0 = keep everything. | |
Bake Trace Channel (BakeTraceChannel) | TEnumAsByte<ECollisionChannel> | ECC_Visibility | Baking | Collision channel traced against level geometry when baking a grid. | |
Bake Trace Depth Below (BakeTraceDepthBelow) | float | 500.000000 | Baking | How far below the zone origin the bake trace ends. | |
Bake Trace Height Above (BakeTraceHeightAbove) | float | 2000.000000 | Baking | How far above the zone origin the bake trace starts. | |
Bake Only Pawn Blocking Surfaces (bBakeOnlyPawnBlockingSurfaces) | bool | True | Baking | The bake skips what a character cannot stand on (D-088): surfaces that do not block pawns (grass, ivy, decoration you walk through), pawns, and actors or components tagged Bake Ignore Tag. The trace goes on to the ground below. | |
Bake Uses Combat Roles (bBakeUsesCombatRoles) | bool | True | Baking | The bake follows combat roles (D-093, Project Settings -> Combat Roles): Ignore roles (decoration, clutter) are looked through, Standable roles are ground whatever their size, Block roles (cover, obstacles) close the tiles under them and Terrain roles give their tiles the role's terrain. Objects without a role keep the rules above. | |
Min Walkable Normal Z (MinWalkableNormalZ) | float | 0.700000 | Baking | Minimum surface normal Z to count as walkable (1 = flat, 0.7 ~ 45 degrees). | |
Required Clearance (RequiredClearance) | float | 150.000000 | Baking | Free space needed above a surface for a unit to stand on it. | |
Role Footprint Inset (RoleFootprintInset) | float | 0.250000 | Baking | Share of a tile's side left out at each edge when a Block or Terrain object's footprint is matched to tiles: an object must reach into the middle of a tile to affect it (a wall grazing a tile's edge leaves it open). | |
Show Blocked Tiles (bShowBlockedTiles) | bool | False | Grid Visuals | Draws the base grid's blocked tiles (walls, tree tops, props). Off by default: on a live map they often sit on partial meshes and read as red patches hanging in the air; the walkable grid alone already shows where units can go. | |
Danger Tile Scale (DangerTileScale) | float | 1.000000 | Grid Visuals | Fraction of the tile covered by the danger zone layer. Above TileVisualScale it shows as a frame around the selection tiles. | |
Grid Visual Mode (GridVisualMode) | ERSEGridVisualMode | Projected | Grid Visuals | How zones draw the grid (a zone can override it). Projected follows the real ground; Tiles are meshes. | |
Highlight Colors (HighlightColors) | TMap<ERSEGridHighlight,FRSEUIColor> | (13 entries) | Grid Visuals | ||
Layer Height Offset (LayerHeightOffset) | float | 1.000000 | Grid Visuals | Vertical offset of each highlight layer above the surface, to avoid z-fighting. | |
Tile Color Parameter (TileColorParameter) | FName | Color | Grid Visuals | ||
Tile Material (TileMaterial) | TSoftObjectPtr<UMaterialInterface> | /Engine/BasicShapes/BasicShapeMaterial.BasicShapeMaterial | Grid Visuals | Material for tile visuals. Must expose a vector parameter named TileColorParameter. | |
Tile Mesh (TileMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Plane.Plane | Grid Visuals | Mesh drawn per tile. Expected to be a 100x100 cm plane facing up. | |
Tile Visual Scale (TileVisualScale) | float | 0.920000 | Grid Visuals | Fraction of the tile covered by its visual, leaving a visible gap between tiles. | |
Grid Decal Material (GridDecalMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Battle/M_RSE_GridDecal.M_RSE_GridDecal | Grid Visuals|Projected | Deferred decal material of the Projected mode (M_RSE_GridDecal). It reads the zone's tile state from a small texture (parameter GridState) and the zone's frame (Origin, AxisX, AxisY, AxisZ, Grid, Shape, Look, Glow, Opacity). | |
Projected Base Opacity (ProjectedBaseOpacity) | float | 0.120000 | Grid Visuals|Projected | Opacity of the base grid (walkable / blocked tiles) in the Projected mode. Its outlines are stronger (Edge Boost). | |
Projected Box Margin (ProjectedBoxMargin) | float | 150.000000 | Grid Visuals|Projected | Extra height of the projection box above the highest and below the lowest tile. | |
Projected Edge Boost (ProjectedEdgeBoost) | float | 4.000000 | Grid Visuals|Projected | The outline is this many times more opaque than the tile's fill. | |
Projected Edge Width (ProjectedEdgeWidth) | float | 0.060000 | Grid Visuals|Projected | Width of a tile's outline, as a fraction of the tile. | |
Projected Glow (ProjectedGlow) | float | 1.500000 | Grid Visuals|Projected | Emissive strength of the projected grid (reads in shadow and at night). | |
Projected Height Tolerance (ProjectedHeightTolerance) | float | 30.000000 | Grid Visuals|Projected | Ground more than this above or below a tile's measured surface is not painted (walls, props, the level below). | |
Projected Highlight Opacity (ProjectedHighlightOpacity) | float | 0.500000 | Grid Visuals|Projected | Opacity of the selection highlights (range, path, target, area, cursor, danger) in the Projected mode. | |
Projected Marker Opacity (ProjectedMarkerOpacity) | float | 0.800000 | Grid Visuals|Projected | Opacity of the target markers (units targeted or left out, landing tiles) in the Projected mode. | |
Projected Min Normal Z (ProjectedMinNormalZ) | float | 0.500000 | Grid Visuals|Projected | Surfaces steeper than this are not painted (1 = only flat ground, 0 = walls too). | |
Projected Sort Order (ProjectedSortOrder) | int32 | 5 | Grid Visuals|Projected | Sort order of the grid decal (under the ability target preview's decals). | |
Team Colors (TeamColors) | TMap<FGameplayTag,FRSEUIColor> | (2 entries) | Placeholder Units | Color per team (Team.*). Units of unlisted teams use UnknownTeamColor. | |
Unit Body Mesh (UnitBodyMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Placeholder Units | --- Placeholder units --- | |
Unit Body Scale (UnitBodyScale) | FVector | (X=0.600000,Y=0.600000,Z=1.000000) | Placeholder Units | ||
Unit Facing Mesh (UnitFacingMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cone.Cone | Placeholder Units | Small mesh on the front of the unit that shows its facing. | |
Unit Hop Height (UnitHopHeight) | float | 40.000000 | Placeholder Units | Arc height of the hop between two tiles of different height. | |
Unit Material (UnitMaterial) | TSoftObjectPtr<UMaterialInterface> | /Engine/BasicShapes/BasicShapeMaterial.BasicShapeMaterial | Placeholder Units | Material for placeholder units. Must expose TileColorParameter. | |
Unit Move Speed (UnitMoveSpeed) | float | 4.000000 | Placeholder Units | Presentation speed of unit movement, in tiles per second. | |
Unknown Team Color (UnknownTeamColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=-0.059238,Chroma=0.000002,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Placeholder Units | ||
Unit Corner Radius (UnitCornerRadius) | float | 45.000000 | Unit Movement | Corners of a path are rounded over this distance (no stop at each tile). 0 = sharp. | |
Unit Ease Distance (UnitEaseDistance) | float | 40.000000 | Unit Movement | Speeding up at the start and slowing down at the end of a walk, over this distance. | |
Unit Hop Min Step (UnitHopMinStep) | float | 35.000000 | Unit Movement | Height steps up to this are walked as slopes; bigger ones are hops (Unit Hop Height). | |
Unit Turn Speed (UnitTurnSpeed) | float | 600.000000 | Unit Movement | How fast a walking unit turns toward where it goes (degrees per second). | |
Unit Walk Speed (UnitWalkSpeed) | float | 320.000000 | Unit Movement | Walking speed along a path (cm/s): the locomotion blend space plays walk / jog from it. 0 = Unit Move Speed (tiles per second). |
RPG Saga Engine: Target Preview
Class URSETargetPreviewSettings (module RSE), Project Settings, Project, RPG Saga Engine. The ability target preview (D-064): what an ability or item can hit and how far, shown while it is highlighted in the command menu and while aiming.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Marker Tile Scale (MarkerTileScale) | float | 0.550000 | Classic | Size of the target markers on the tile layers (fraction of a tile), so the area color still frames them. | |
Collision Color (CollisionColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.069953,Chroma=1.630424,Hue=-30.283195,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Displacements | Landing tile when the unit collides (wall, unit, object) or falls. | |
Displacement Color (DisplacementColor) | FRSEUIColor | (Token="Charge",Alpha=1.000000,Lightness=-0.107768,Chroma=2.050810,Hue=98.833572,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Displacements | Knockback / pull path (Modern) and landing tile marker. | |
Acting Unit Color (ActingUnitColor) | FRSEUIColor | (Token="Charge",Alpha=1.000000,Lightness=-0.021431,Chroma=1.486113,Hue=-7.032476,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Markers | Color of the acting unit's ring (distinct from the target colors). | |
Classic Target Rings (bClassicTargetRings) | bool | False | Markers | Classic battles: rings under the units the ability can target and under the ones it hits (D-064). Off by default (D-066): the bobbing cursor over the target (smaller ones over the others a row / all ability hits) and the target list say it alone; a ring and an arrow on the same unit read as two different things. Tactics keeps its markers (Mark Targets). | |
Mark Acting Unit (bMarkActingUnit) | bool | True | Markers | Classic battles: a ring under the party member whose command menu is open (D-065). | |
Ignored Target Color (IgnoredTargetColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=-0.083984,Chroma=0.985413,Hue=15.365562,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Markers | A unit in the area that the ability does not affect. | |
Marker Fill Opacity (MarkerFillOpacity) | float | 0.150000 | Markers | ||
Marker Follow Tolerance (MarkerFollowTolerance) | float | 5.000000 | Markers | Markers follow their unit when it moves more than this (a melee attacker running to its target). | |
Marker Ring Width (MarkerRingWidth) | float | 0.140000 | Markers | ||
Marker Tile Size (MarkerTileSize) | float | 0.850000 | Markers | Marker ring diameter, as a fraction of a tile (Tactics). | |
Selected Target Color (SelectedTargetColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.025459,Chroma=1.207711,Hue=14.619749,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Markers | The unit the ability is aimed at now / a unit its area hits. | |
Stage Marker Size (StageMarkerSize) | float | 130.000000 | Markers | Marker ring diameter under units on an ATB stage. | |
Valid Target Color (ValidTargetColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=0.066483,Chroma=1.192767,Hue=23.327459,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Markers | A unit the ability can target. | |
Area Color (AreaColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=0.022890,Chroma=1.241273,Hue=43.380360,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Modern|Area | --- Modern: area --- | |
Area Fill Opacity (AreaFillOpacity) | float | 0.400000 | Modern|Area | ||
Area Ring Width (AreaRingWidth) | float | 0.120000 | Modern|Area | ||
Edge Softness (EdgeSoftness) | float | 0.040000 | Modern|Area | Softness of every preview shape's edge (fraction of its half size). | |
Decal Depth (DecalDepth) | float | 400.000000 | Modern|Decals | Vertical depth of the decals' projection box (covers tile height changes under a shape). | |
Decal Material (DecalMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Materials/Battle/M_RSE_TargetPreviewDecal.M_RSE_TargetPreviewDecal | Modern|Decals | Deferred decal material (translucent). Parameters: Color (vector), Opacity, Shape (0 square, 1 diamond, 2 circle), RingWidth and Softness (fractions of the decal's half size), FillOpacity. Empty: the Modern style falls back to Classic. | |
Decal Sort Order (DecalSortOrder) | int32 | 10 | Modern|Decals | Sort order of the decals (above the level's own decals). | |
Color Parameter (ColorParameter) | FName | Color | Modern|Decals|Parameters | ||
Fill Opacity Parameter (FillOpacityParameter) | FName | FillOpacity | Modern|Decals|Parameters | ||
Opacity Parameter (OpacityParameter) | FName | Opacity | Modern|Decals|Parameters | ||
Ring Width Parameter (RingWidthParameter) | FName | RingWidth | Modern|Decals|Parameters | ||
Shape Parameter (ShapeParameter) | FName | Shape | Modern|Decals|Parameters | ||
Softness Parameter (SoftnessParameter) | FName | Softness | Modern|Decals|Parameters | ||
Labels in Classic (bLabelsInClassic) | bool | True | Modern|Labels | The Classic style shows the labels too (the classic forecast: the hit chance over the target, live as the cursor moves). | |
Show Labels (bShowLabels) | bool | True | Modern|Labels | Hit chance and damage over the targets (the D-033 forecast). | |
Damage Label Format (DamageLabelFormat) | FText | NSLOCTEXT("RSETargetPreview", "DamageLabel", "{Hit}% -{Damage}") | Modern|Labels | Label text. Arguments: {Hit} (percent), {Damage} (expected, or a range), {Heal}. | |
Heal Label Format (HealLabelFormat) | FText | NSLOCTEXT("RSETargetPreview", "HealLabel", "+{Heal}") | Modern|Labels | ||
KOLabel Color (KOLabelColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.112868,Chroma=1.765735,Hue=3.107039,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Modern|Labels | ||
KOLabel Suffix (KOLabelSuffix) | FText | NSLOCTEXT("RSETargetPreview", "KOSuffix", " KO") | Modern|Labels | Appended when the hit can knock the target out. | |
Label Color (LabelColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=-0.019709,Chroma=17.654202,Hue=163.570023,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Modern|Labels | ||
Label Height (LabelHeight) | float | 210.000000 | Modern|Labels | ||
Label World Size (LabelWorldSize) | float | 34.000000 | Modern|Labels | ||
Blocked Color (BlockedColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=-0.477765,Chroma=2.294284,Hue=14.205691,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Modern|Range | Tiles inside the range the ability cannot be aimed at: blocked by sight or height, or too close. | |
Blocked Opacity (BlockedOpacity) | float | 0.550000 | Modern|Range | ||
Range Color (RangeColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.020015,Chroma=1.244049,Hue=-19.015455,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Modern|Range | --- Modern: range ring --- | |
Range Fill Opacity (RangeFillOpacity) | float | 0.120000 | Modern|Range | Soft fill inside the range (0 = ring only). | |
Range Ring Width (RangeRingWidth) | float | 0.035000 | Modern|Range | Width of the ring at the edge of the range (fraction of the shape's half size). | |
Arc Segments (ArcSegments) | int32 | 12 | Modern|Trajectory | Segments of an arc. | |
Blocked Trajectory Color (BlockedTrajectoryColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.079992,Chroma=1.299466,Hue=1.996110,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Modern|Trajectory | A trajectory an obstacle blocks (aimed at a blocked tile). | |
Show Trajectory (bShowTrajectory) | bool | True | Modern|Trajectory | Draw the path of ranged abilities and projectiles (the ability's projectile cue, else its line of sight rules). | |
Min Range for Trajectory (MinRangeForTrajectory) | int32 | 2 | Modern|Trajectory | Ranged abilities without a projectile cue draw a trajectory from this range on (1 = melee never does). | |
Trajectory Color (TrajectoryColor) | FRSEUIColor | (Token="White",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Modern|Trajectory | ||
Trajectory Width (TrajectoryWidth) | float | 6.000000 | Modern|Trajectory | ||
Mark Targets (bMarkTargets) | bool | True | Rules | Classic and ATB: mark the units the ability can target (and, aimed, the ones its area hits or leaves out). | |
Preview While Highlighted (bPreviewWhileHighlighted) | bool | True | Rules | Show the preview while an ability or item is highlighted in the command menu, before it is chosen. | |
Show Displacements (bShowDisplacements) | bool | True | Rules | Show where knockback and pull effects would move the units they hit. | |
Default Style (DefaultStyle) | ERSETargetPreviewStyle | Classic | Rules | Style for players who did not choose one in the options. | |
Aim Invalid Format (AimInvalidFormat) | FText | NSLOCTEXT("RSETargetPreview", "AimInvalid", "{Ability}: cannot be aimed here") | Summary | Aimed at a tile it cannot reach (blocked, too close, nothing to target). Arguments: {Ability}. | |
Aim Summary Format (AimSummaryFormat) | FText | NSLOCTEXT("RSETargetPreview", "AimSummary", "{Ability}: hits {Hit}, leaves out {Ignored}") | Summary | Aimed at a tile. Arguments: {Ability}, {Hit} (units affected), {Ignored} (units in the area left out). | |
Reach Summary Format (ReachSummaryFormat) | FText | NSLOCTEXT("RSETargetPreview", "ReachSummary", "{Ability}: range {Min}-{Max}, {Targets} {Targets}|plural(one=target,other=targets) in reach") | Summary | Highlighted in the menu. Arguments: {Ability}, {Min}, {Max} (range in tiles), {Targets} (units it can target now). | |
Turn Marker Color (TurnMarkerColor) | FRSEUIColor | (Token="Charge",Alpha=1.000000,Lightness=-0.021431,Chroma=1.486113,Hue=-7.032476,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Turn Marker | ||
Turn Marker Style (TurnMarkerStyle) | ERSETurnMarkerStyle | FollowPreviewStyle | Turn Marker | Tactics: how the unit whose turn it is stands out (player and AI turns). It follows the unit as it moves. | |
Turn Pin Bob Amplitude (TurnPinBobAmplitude) | float | 8.000000 | Turn Marker|Pin | Up / down bob of the pin (0 = still). | |
Turn Pin Bob Speed (TurnPinBobSpeed) | float | 1.200000 | Turn Marker|Pin | Bobs per second. | |
Turn Pin Height (TurnPinHeight) | float | 235.000000 | Turn Marker|Pin | Height of the pin's tip over the unit's feet. | |
Turn Pin Mesh (TurnPinMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cone.Cone | Turn Marker|Pin | Pin mesh (pointing up; it is turned over). Colored through Tactics Zone -> Unit Material. | |
Turn Pin Size (TurnPinSize) | float | 22.000000 | Turn Marker|Pin | ||
Turn Ring Fill Opacity (TurnRingFillOpacity) | float | 0.080000 | Turn Marker|Ring | ||
Turn Ring Opacity (TurnRingOpacity) | float | 0.900000 | Turn Marker|Ring | ||
Turn Ring Size (TurnRingSize) | float | 110.000000 | Turn Marker|Ring | Ring diameter. | |
Turn Ring Width (TurnRingWidth) | float | 0.100000 | Turn Marker|Ring |
RPG Saga Engine: Time & Weather Rules
Class URSETimeWeatherRules (module RSECore), Project Settings, Project, RPG Saga Engine. Gameplay rules of the time of day and the weather (D-101), a rules profile section (D-035): how roaming enemies behave by phase and weather, other encounter pools at night, and weather / time modifiers in battles.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Battle Modifiers (BattleModifiers) | TArray<FRSEEnvironmentBattleModifier> | (5 entries) | Battles | Battle modifiers by weather / phase; every matching entry multiplies in. | |
Environment Affects Battles (bEnvironmentAffectsBattles) | bool | True | Battles | Weather and time change battles (the modifiers below). | |
Behavior Rules (BehaviorRules) | TArray<FRSETimeBehaviorRule> | (7 entries) | Roaming Enemies | Roaming enemies by phase / weather: every matching rule multiplies in (URSETimeSubsystem::GetBehaviorModifiers). | |
Pool Swaps (PoolSwaps) | TArray<FRSEEncounterPoolSwap> | (0 entries) | Roaming Enemies | Other encounter pools at some times / weather (the first matching swap wins). |
RPG Saga Engine: Time of Day
Class URSETimeSettings (module RSECore), Project Settings, Project, RPG Saga Engine. The game clock (D-101, docs/design/time-weather.md): day length, phases of the day, seasons, when the clock stops, how the time is written.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Clock Enabled (bClockEnabled) | bool | True | Clock | The clock runs (off: the time only changes through effects, commands and rests). | |
Day Length Minutes (DayLengthMinutes) | float | 60.000000 | Clock | Real minutes for one game day at speed 1 (60 = one real hour per game day). | |
Max Advance Hours (MaxAdvanceHours) | float | 240.000000 | Clock | Longest single Advance Time / Set Time jump, in game hours (a safety net for data mistakes). | |
Start Day (StartDay) | int32 | 1 | Clock | Day of a new game. | |
Start Hour (StartHour) | float | 8.000000 | Clock | Hour of a new game (8.5 = 08:30). | |
Update Interval (UpdateInterval) | float | 0.100000 | Clock | Real seconds between clock steps (events fire at most this often). Lower is smoother, not costlier in practice. | |
Am Text (AmText) | FText | NSLOCTEXT("RSETimeSettings", "Am", "AM") | Display | ||
Use 24Hour Clock (bUse24HourClock) | bool | True | Display | 24-hour clock (14:05); off: 2:05 PM. | |
Clock 12Format (Clock12Format) | FText | NSLOCTEXT("RSETimeSettings", "Clock12", "{Hour}:{Minute} {AmPm}") | Display | {Hour} {Minute} {AmPm}. | |
Clock 24Format (Clock24Format) | FText | NSLOCTEXT("RSETimeSettings", "Clock24", "{Hour}:{Minute}") | Display | {Hour} {Minute} (two digits). | |
Day Format (DayFormat) | FText | NSLOCTEXT("RSETimeSettings", "DayFormat", "Day {Day}") | Display | {Day}. | |
Pm Text (PmText) | FText | NSLOCTEXT("RSETimeSettings", "Pm", "PM") | Display | ||
Pause in Battle (bPauseInBattle) | bool | True | Pause | The clock stops while a battle runs (live-map battles included). | |
Pause in Cutscenes (bPauseInCutscenes) | bool | True | Pause | The clock stops while a story scene (cutscene) plays. | |
Pause in Dialog (bPauseInDialog) | bool | True | Pause | The clock stops while a dialog runs. | |
Pause with Play Time (bPauseWithPlayTime) | bool | True | Pause | The clock stops when the play time stops (menus that pause the play time, the main menu). | |
Phases (Phases) | TArray<FRSEDayPhaseDef> | (4 entries) | Phases | Phases of the day in order of their start hour; each lasts until the next one starts (the last one wraps past midnight). | |
Inn Rest Advances Time (bInnRestAdvancesTime) | bool | True | Rest | Resting at an inn moves the clock to the next Rest Wake Hour (the inn's fade covers the jump). | |
Rest Wake Hour (RestWakeHour) | float | 7.000000 | Rest | The hour a rest ends (7 = 07:00 the next morning). | |
Days Per Season (DaysPerSeason) | int32 | 0 | Seasons | Days in each season (0 = no seasons); after the last season the first comes again. | |
Seasons (Seasons) | TArray<FGameplayTag> | (0 entries) | Seasons | Seasons in order (Time.Season.* content tags). Empty = no seasons. |
RPG Saga Engine: Time of Day Visuals
Class URSETimeOfDayVisualSettings (module RSE), Project Settings, Project, RPG Saga Engine. The sky, sun, moon, fog and grading of the Time of Day actor (D-101, docs/design/time-weather.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Parameter Collection (ParameterCollection) | TSoftObjectPtr<UMaterialParameterCollection> | /RPGSagaEngine/Visual/MPC_RSEWeather.MPC_RSEWeather | Assets | Global material parameters every material can read (TimeOfDay, NightAmount, Wetness, SnowCover, Wind...). | |
Sky Dome Material (SkyDomeMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Visual/Weather/M_RSE_SkyDome.M_RSE_SkyDome | Assets | ||
Sky Dome Mesh (SkyDomeMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/EngineSky/SM_SkySphere.SM_SkySphere | Assets | Sky dome with stars, moon glow and the 2D cloud layer. | |
Sky Dome Scale (SkyDomeScale) | float | 100.000000 | Assets | Scale of the dome mesh (the engine's sky sphere is 40.96 m: 100 = 4 km). | |
Volumetric Cloud Material (VolumetricCloudMaterial) | TSoftObjectPtr<UMaterialInterface> | /Engine/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud_Inst.m_SimpleVolumetricCloud_Inst | Assets | Material of the volumetric clouds (the engine's simple clouds by default). | |
Clock on Minimap (bClockOnMinimap) | bool | True | HUD | Shows the time under the minimap (D-104, Map & Minimap -> Minimap Info Lines), on levels with a sky actor and a map. | |
Clock Shows Weather (bClockShowsWeather) | bool | True | HUD | Shows the weather's name next to the time. | |
Hide Clock Panel with Minimap (bHideClockPanelWithMinimap) | bool | True | HUD | The clock panel hides while the minimap shows the time (no second clock on screen). | |
Show Clock Widget (bShowClockWidget) | bool | True | HUD | Shows the clock / weather widget while exploring. | |
Show Time in Party Menu (bShowTimeInPartyMenu) | bool | True | HUD | Shows the time in the party menu header (next to the money). | |
Clock Anchor (ClockAnchor) | FVector2D | (X=0.985000,Y=0.340000) | HUD | Normalized screen point of the clock (top right by default, under the minimap region). | |
Clock Widget Class (ClockWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | HUD | Replaces the built-in clock (a Widget Blueprint derived from RSEScreenWidget reading an RSEClockViewModel). | |
Clock ZOrder (ClockZOrder) | int32 | 40 | HUD | ||
Minimap Clock Format (MinimapClockFormat) | FText | NSLOCTEXT("RSETimeVisualSettings", "MinimapClock", "{Time} {Day} {Weather}") | HUD | The line under the minimap: {Day} {Time} {Phase} {Weather}. | |
Party Menu Time Format (PartyMenuTimeFormat) | FText | NSLOCTEXT("RSETimeVisualSettings", "PartyMenuTime", "{Day} {Time} {Weather}") | HUD | {Day} {Time} {Phase} {Weather}. | |
Suppress Other Sky Actors (bSuppressOtherSkyActors) | bool | True | Look | Other sky actors in the level (directional lights marked as atmosphere sun, sky lights, atmospheres, height fogs, clouds) are hidden while a Time of Day actor drives the sky. | |
Default Profile (DefaultProfile) | TSoftObjectPtr<URSETimeOfDayProfile> | /RPGSagaEngine/Data/TimeOfDay/DA_TimeOfDay_BrightStylized.DA_TimeOfDay_BrightStylized | Look | Profile of Time of Day actors that name none. | |
Post Process Priority (PostProcessPriority) | float | 50.000000 | Look | Priority of the actor's post process (the visual style's layer, 100 by default, stays on top). | |
Max Dynamic Night Lights (MaxDynamicNightLights) | int32 | 8 | Night Lights | Night lights that stay real lights at the same time on High / Epic (nearest to the camera first); the rest glow only. | |
Max Dynamic Night Lights Low (MaxDynamicNightLightsLow) | int32 | 4 | Night Lights | The same on Low / Medium (Steam Deck). 0 = emissive only. | |
Night Light Focus Ahead (NightLightFocusAhead) | float | 1000.000000 | Night Lights | The real lights are the nearest to a point this far in front of the camera (D-111), not to the camera itself: the lamps around the party and ahead of it light the view, the ones behind the camera give their place up. 0 = the camera. | |
Night Light Update Rate (NightLightUpdateRate) | float | 12.000000 | Night Lights | Night light updates per second (fades and flicker; the schedule is cheap). | |
Volumetric Clouds on High (bVolumetricCloudsOnHigh) | bool | True | Performance | Volumetric clouds on High / Epic (Low / Medium draw the cheap cloud layer of the sky dome only). | |
Volumetric Fog on High (bVolumetricFogOnHigh) | bool | False | Performance | Volumetric fog on High / Epic (never on Low / Medium). | |
High Quality From (HighQualityFrom) | int32 | 2 | Performance | Effects quality at or above which the High path is used (Low 0, Medium 1, High 2, Epic 3). | |
Sky Light Recapture Interval (SkyLightRecaptureInterval) | float | 20.000000 | Performance | Seconds between throttled sky light recaptures (phase changes, skips and weather changes also recapture). | |
Sky Light Recapture Look Delta (SkyLightRecaptureLookDelta) | float | 0.100000 | Performance | Throttled path: the sky light is also recaptured as soon as the weather's look moved this much since the last capture (sky light, sky brightness or cloud cover; D-104: a storm no longer keeps the clear sky's ambient for 20 s). | |
Sky Light Update (SkyLightUpdate) | ERSESkyLightUpdate | RealTimeCapture | Performance | Sky light on High / Epic. | |
Sky Light Update Low (SkyLightUpdateLow) | ERSESkyLightUpdate | RealTimeCapture | Performance | Sky light on Low / Medium. D-111: real-time capture here too. It captures only the sky (the sky dome's 2D clouds are excluded from captures either way), time-sliced over frames: the same look as Throttled, no hitch, no measurable GPU cost. | |
Update Rate (UpdateRate) | float | 20.000000 | Performance | Light, sky and fog updates per second on High / Epic (the sun moves smoothly; no work between updates). | |
Update Rate Low (UpdateRateLow) | float | 10.000000 | Performance | Updates per second on Low / Medium (Steam Deck). |
RPG Saga Engine: Toolkit Presentation
Class URSEToolkitPresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. Presentation of the Ability Toolkit v2 on the Tactics grid (D-055): unit motions (leap arcs, slides, teleports), the default look of zones and field objects.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Reveal Enemy Traps (bRevealEnemyTraps) | bool | False | Field | Traps are drawn for the player's side only when the player's team created them (Tile Zone: Hidden From Enemies). | |
Color Parameter (ColorParameter) | FName | Color | Field | Name of the color parameter set on field materials. | |
Default Material (DefaultMaterial) | TSoftObjectPtr<UMaterialInterface> | /Engine/BasicShapes/BasicShapeMaterial.BasicShapeMaterial | Field | Material with a "Color" vector parameter (the engine's basic shape material has one). | |
Default Object Mesh (DefaultObjectMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | Field | ||
Default Projectile Material (DefaultProjectileMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Visual/Feel/M_RSE_FXGlow.M_RSE_FXGlow | Field | D-184: the material of Projectile cues without one (empty = Default Material). The plugin sets its glow (Color, Intensity), so a projectile reads as a bright bolt, not a grey ball. | |
Default Projectile Mesh (DefaultProjectileMesh) | TSoftObjectPtr<UStaticMesh> | /RPGSagaEngine/Visual/Weapons/SM_RSE_ProjectileCore.SM_RSE_ProjectileCore | Field | Projectile cues without a mesh fly this one. | |
Default Zone Mesh (DefaultZoneMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Plane.Plane | Field | --- Default look of zones and objects (engine assets; replace per zone / object with a Field Visual asset) --- | |
Object Height Scale (ObjectHeightScale) | float | 1.000000 | Field | ||
Object Tile Scale (ObjectTileScale) | float | 0.700000 | Field | Objects: size relative to a tile (the cube's height is scaled by Object Height Scale). | |
Projectile Intensity (ProjectileIntensity) | float | 6.000000 | Field | Brightness given to the projectile material's "Intensity" parameter (when it has one). | |
Zone Height Offset (ZoneHeightOffset) | float | 3.000000 | Field | ||
Zone Tile Scale (ZoneTileScale) | float | 0.900000 | Field | Zone plates: size relative to a tile, and height above the tile surface (cm). | |
Dash Speed (DashSpeed) | float | 1400.000000 | Motion | ||
Leap Arc Height Per Tile (LeapArcHeightPerTile) | float | 40.000000 | Motion | Height of a leap arc per tile of distance (cm), plus the minimum. | |
Leap Arc Min Height (LeapArcMinHeight) | float | 120.000000 | Motion | ||
Leap Hop Seconds (LeapHopSeconds) | float | 0.450000 | Motion | Seconds of one leap hop (arc). | |
Slide Speed (SlideSpeed) | float | 900.000000 | Motion | Speed of knockbacks, pulls, slides and dashes (cm/s). | |
Swap Seconds (SwapSeconds) | float | 0.500000 | Motion | Swap: seconds of the two arcs. | |
Teleport Fade Seconds (TeleportFadeSeconds) | float | 0.200000 | Motion | Teleport: seconds to vanish, then to reappear. |
RPG Saga Engine: Touch
Class URSETouchSettings (module RSE), Project Settings, Project, RPG Saga Engine. Touch controls (D-180, docs/product/mobile.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Control Opacity Range (ControlOpacityRange) | FVector2D | (X=0.200000,Y=1.000000) | Controls | Range of the player's Touch Controls Opacity option. | |
Control Scale Range (ControlScaleRange) | FVector2D | (X=0.750000,Y=1.300000) | Controls | Range of the player's Touch Controls Size option. | |
Pressed Opacity (PressedOpacity) | float | 0.950000 | Controls | Opacity of a control while touched. | |
Rest Opacity (RestOpacity) | float | 0.550000 | Controls | Opacity of the controls at rest (the player's Touch Controls Opacity option multiplies it). | |
Stick Dead Zone (StickDeadZone) | float | 0.120000 | Controls | Joystick deflection (0..1) under which it sends nothing (controls may set their own). | |
Double Tap Seconds (DoubleTapSeconds) | float | 0.350000 | Gestures | Two taps closer in time than this (and within Tap Confirm Radius) are a double tap. | |
Drag Full Rate MMPer Second (DragFullRateMMPerSecond) | float | 80.000000 | Gestures | Drags as a rate (camera pans): finger speed in millimetres per second that gives full value. | |
Long Press Seconds (LongPressSeconds) | float | 0.500000 | Gestures | A touch held still this long is a long press (details and tooltips of rows, inventory items). | |
Pinch Step Ratio (PinchStepRatio) | float | 1.150000 | Gestures | Pinch: change of the distance between the fingers that makes one zoom step (1.15 = 15 %). | |
Rotate Step Degrees (RotateStepDegrees) | float | 30.000000 | Gestures | Two-finger rotate: degrees of turn that make one rotate step. | |
Tap Confirm Radius MM (TapConfirmRadiusMM) | float | 6.000000 | Gestures | Cursor Then Confirm and double taps: how close the second tap must be to the first. | |
Tap Max Seconds (TapMaxSeconds) | float | 0.300000 | Gestures | A touch held longer than this is not a tap. | |
Tap Slop MM (TapSlopMM) | float | 3.000000 | Gestures | A touch that moves less than this is a tap / long press. | |
Default Touch Hint (DefaultTouchHint) | FText | NSLOCTEXT("RSETouch", "DefaultTouchHint", "Tap") | Key Prompts | ||
Mouse After Touch Guard Seconds (MouseAfterTouchGuardSeconds) | float | 0.600000 | Key Prompts | Mouse events this soon after a touch are the platform's copy of the touch (Windows touch screens) and do not switch the prompts to the mouse. | |
Touch Hints (TouchHints) | TMap<FKey,FText> | (8 entries) | Key Prompts | Touch hints of key prompts: the text a prompt shows for a gamepad key while the player uses touch, when no on-screen control presses that key's action (a control's label wins). Keys without a hint show Default Touch Hint for the face button bottom, nothing otherwise. | |
Context Poll Seconds (ContextPollSeconds) | float | 0.250000 | Layouts | Seconds between two looks at the moment of play (exploration, the battle kind, an open screen). The screens' open / close events also update it at once. | |
Controls Widget Class (ControlsWidgetClass) | TSoftClassPtr<URSETouchControlsWidget> | None | Layouts | The widget that draws the controls (a subclass of RSE Touch Controls Widget). Empty = the built-in one. | |
Controls ZOrder (ControlsZOrder) | int32 | 4 | Layouts | Z order of the controls in the player's screen (under the menus, which hide them anyway). | |
Layouts (Layouts) | TMap<ERSETouchContext,TSoftObjectPtr<URSETouchLayout> > | (5 entries) | Layouts | The layout of each moment of play. A context without one shows no controls and takes no gestures. | |
Show Controls (ShowControls) | ERSETouchControlsMode | Auto | Layouts | ||
Move to Accept Radius (MoveToAcceptRadius) | float | 60.000000 | Tap To Move | Tap-to-move stops this close to the tapped point (cm). | |
Move to Timeout Seconds (MoveToTimeoutSeconds) | float | 6.000000 | Tap To Move | Tap-to-move gives up after this long (blocked by a wall). | |
Debug Touches (bDebugTouches) | bool | False | Testing | Draws the touches and recognised gestures on screen (RSE.Input.Touch.Debug). | |
Emulate Touch with Mouse (bEmulateTouchWithMouse) | bool | False | Testing | PIE and PC builds: the left mouse button acts as a finger (Slate's fake touch events), so every touch path can be tried without a phone; hold Alt to add a second finger mirrored around the screen centre (pinch, rotate). RSE.Input.Touch.Emulate switches it at run time. |
RPG Saga Engine: Translate with AI
Class URSETranslateSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Translate with AI (D-163): export the game's texts for an AI, validate what comes back, import and compile.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Register Culture (bRegisterCulture) | bool | True | Compile | After a compile, add the culture to the target's gather configs, the project's cultures to stage and the Options menu's languages. | |
Gather Timeout Seconds (GatherTimeoutSeconds) | int32 | 1800 | Compile | Seconds the Gather step may take before it is stopped (when it runs as a separate editor process). | |
Include Glossary (bIncludeGlossary) | bool | True | Export | Put the content names (abilities, items, characters, enemies...) into the prompt and the Glossary.csv. | |
Only Untranslated (bOnlyUntranslated) | bool | True | Export | Export only the texts that have no translation yet in the culture (a re-export after new content is small). | |
Resolve Speakers (bResolveSpeakers) | bool | True | Export | Look the speaker of a dialog line up in the asset (adds "speaker" to the entry's context). Loads the assets that hold texts. | |
Do Not Translate (DoNotTranslate) | TArray<FString> | (3 entries) | Export | Terms that stay as they are in every language (stat abbreviations, brand names). Checked on import. | |
Format (Format) | ERSETranslateFormat | Json | Export | ||
Max Chars Per Chunk (MaxCharsPerChunk) | int32 | 12000 | Export | Most source characters in one chunk file: keeps each request inside the AI's context window. | |
Max Entries Per Chunk (MaxEntriesPerChunk) | int32 | 120 | Export | Most entries in one chunk file (one AI request). | |
Max Glossary Terms in Prompt (MaxGlossaryTermsInPrompt) | int32 | 300 | Export | Most glossary terms listed in the prompt (the Glossary.csv has all of them). | |
Output Folder (OutputFolder) | FString | Saved/Translate | Export | Folder (relative to the project) that receives the export packs and the import reports. | |
Max Length Factor (MaxLengthFactor) | float | 1.500000 | Length | Length limit = source length x this factor, for texts longer than "Short Text Length". Translations are often longer than English. | |
Min Extra Length (MinExtraLength) | int32 | 6 | Length | Characters always allowed on top of the factor (so a 3 letter source can become a 5 letter word). | |
Short Label Fields (ShortLabelFields) | TArray<FString> | (5 entries) | Length | Property names whose texts are always short labels (the short factor applies whatever the length). | |
Short Text Factor (ShortTextFactor) | float | 1.300000 | Length | Length limit factor of short texts (a 6 letter word has little room, but a longer word is common). | |
Short Text Length (ShortTextLength) | int32 | 24 | Length | Texts up to this many characters (names, buttons) are "short": they get the short factor below. | |
New Target Asset Filters (NewTargetAssetFilters) | TArray<FString> | (1 entries) | Target | Project folders a created target gathers assets from (long package paths with a trailing wildcard, e.g. "Content"). | |
New Target Name (NewTargetName) | FString | Game | Target | Name of the target created when the project has none (Create target). The Localization Dashboard shows it as well. | |
New Target Native Culture (NewTargetNativeCulture) | FString | en | Target | Native (source) culture of a target created by Create target. | |
Target Name (TargetName) | FString | Target | Localization target to translate (the name of its Config/Localization/<Name>_Gather.ini). Empty = the project's first target (the project's own content), else the RPG Saga Engine target (the plugin's texts). | ||
Edge Whitespace Severity (EdgeWhitespaceSeverity) | ERSETranslateSeverity | Warning | Validation | What leading or trailing whitespace that differs from the source counts as. | |
Extra Id Severity (ExtraIdSeverity) | ERSETranslateSeverity | Warning | Validation | What an entry with an id the export did not contain counts as (the entry is ignored either way). | |
Extra Plural Severity (ExtraPluralSeverity) | ERSETranslateSeverity | Warning | Validation | What an extra plural category (one the language does not use) counts as. Missing categories are always errors. | |
Invalid Policy (InvalidPolicy) | ERSETranslateInvalidPolicy | SkipInvalidEntries | Validation | What happens to entries with errors. | |
Too Long Severity (TooLongSeverity) | ERSETranslateSeverity | Warning | Validation | What a translation longer than its limit counts as. | |
Untranslated Min Letters (UntranslatedMinLetters) | int32 | 5 | Validation | Identical texts shorter than this many letters are not flagged as untranslated (names, "OK", "Yes"). | |
Untranslated Severity (UntranslatedSeverity) | ERSETranslateSeverity | Warning | Validation | What a translation that looks untranslated (identical to a source with letters, not a do-not-translate term) counts as. |
RPG Saga Engine: Travel
Class URSETravelSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Zone navigation and fast travel rules (D-044, docs/design/zones-travel.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Discover on Visit (bDiscoverOnVisit) | bool | True | Discovery | Being in an area marks it (and its visit-discovered places) as discovered. Off: only effects and flags discover places. | |
Fast Travel Enabled (bFastTravelEnabled) | bool | True | Fast Travel | The world map can be used to travel between discovered places (areas may still forbid it). |
RPG Saga Engine: Travel UI
Class URSETravelUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Presentation of zone navigation and fast travel (D-044, docs/design/zones-travel.md): the fades and the loading screen of a map change, the area banner, zone exits and the world map screen.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Area Check Interval (AreaCheckInterval) | float | 0.250000 | Areas | How often the player's area is checked on maps with ARSEAreaVolumes linked to areas (no timer on other maps). | |
Banner Anchor (BannerAnchor) | FVector2D | (X=0.500000,Y=0.200000) | Banner | Where the banner sits (normalized screen point, banner centered on it). | |
Banner Delay (BannerDelay) | float | 0.200000 | Banner | ||
Banner Fade Seconds (BannerFadeSeconds) | float | 0.450000 | Banner | ||
Banner Seconds (BannerSeconds) | float | 2.400000 | Banner | Time fully shown. | |
Banner on Area Change (bBannerOnAreaChange) | bool | True | Banner | The area name when the player walks into another area of the same map (an ARSEAreaVolume with an Area). | |
Banner on Arrival (bBannerOnArrival) | bool | True | Banner | The area name after a travel (at the end of the fade-in). | |
Banner on Map Start (bBannerOnMapStart) | bool | True | Banner | The area name when a map starts without a travel (new game, load). | |
Banner Shows Description (bBannerShowsDescription) | bool | False | Banner | The area's description under its name. | |
Confirm No Text (ConfirmNoText) | FText | NSLOCTEXT("RSETravelUI", "ConfirmNo", "No") | Exits | ||
Confirm Travel Format (ConfirmTravelFormat) | FText | NSLOCTEXT("RSETravelUI", "ConfirmTravelFormat", "Go to {Place}?") | Exits | Question of exits that ask first. {Place} = the destination area. | |
Confirm Yes Text (ConfirmYesText) | FText | NSLOCTEXT("RSETravelUI", "ConfirmYes", "Yes") | Exits | ||
Default Blocked Message (DefaultBlockedMessage) | FText | NSLOCTEXT("RSETravelUI", "DefaultBlockedMessage", "The way is blocked.") | Exits | Said when an exit's conditions fail and the exit has no lines of its own. | |
Default Exit Prompt (DefaultExitPrompt) | FText | NSLOCTEXT("RSETravelUI", "DefaultExitPrompt", "Go") | Exits | Prompt of exits used with Interact ("Go"). An exit's own PromptText wins. | |
Blocked Area Text (BlockedAreaText) | FText | NSLOCTEXT("RSETravelUI", "BlockedArea", "The map can\'t be used here.") | Texts | ||
Blocked Battle Text (BlockedBattleText) | FText | NSLOCTEXT("RSETravelUI", "BlockedBattle", "Not during a battle.") | Texts | ||
Blocked Busy Text (BlockedBusyText) | FText | NSLOCTEXT("RSETravelUI", "BlockedBusy", "Not now.") | Texts | ||
Blocked Disabled Text (BlockedDisabledText) | FText | NSLOCTEXT("RSETravelUI", "BlockedDisabled", "Fast travel is not available.") | Texts | ||
Blocked Traveling Text (BlockedTravelingText) | FText | NSLOCTEXT("RSETravelUI", "BlockedTraveling", "Already on the way.") | Texts | ||
Locked Text (LockedText) | FText | NSLOCTEXT("RSETravelUI", "Locked", "You can\'t go there now.") | Texts | Detail of a discovered place that cannot be reached now. | |
Need Map Item Text (NeedMapItemText) | FText | NSLOCTEXT("RSETravelUI", "NeedMapItem", "You have no map.") | Texts | Party menu entry when WorldMapItem is missing. | |
No Places Text (NoPlacesText) | FText | NSLOCTEXT("RSETravelUI", "NoPlaces", "No places discovered yet.") | Texts | ||
Party Menu Entry Hint (PartyMenuEntryHint) | FText | NSLOCTEXT("RSETravelUI", "PartyMenuEntryHint", "Travel to a place you have already visited.") | Texts | ||
Party Menu Entry Text (PartyMenuEntryText) | FText | NSLOCTEXT("RSETravelUI", "PartyMenuEntry", "World map") | Texts | The party menu row. | |
Travel Action Text (TravelActionText) | FText | NSLOCTEXT("RSETravelUI", "TravelAction", "Travel") | Texts | Key hint of Confirm. | |
World Map Title (WorldMapTitle) | FText | NSLOCTEXT("RSETravelUI", "WorldMapTitle", "World Map") | Texts | --- Texts --- | |
You Are Here Text (YouAreHereText) | FText | NSLOCTEXT("RSETravelUI", "YouAreHere", "You are here.") | Texts | Detail of the place the party is in. | |
Show Loading Area Name (bShowLoadingAreaName) | bool | True | Transition | The destination's area name on the black loading screen. | |
Fade Color (FadeColor) | FLinearColor | (R=0.000000,G=0.000000,B=0.000000,A=1.000000) | Transition | ||
Fade in Seconds (FadeInSeconds) | float | 0.600000 | Transition | Fade from FadeColor once the new map is in. 0 = cut. | |
Fade Out Seconds (FadeOutSeconds) | float | 0.450000 | Transition | Fade to FadeColor before the map changes. 0 = cut. | |
Loading Hold Seconds (LoadingHoldSeconds) | float | 0.150000 | Transition | Time spent fully faded, with the destination's name shown, before the map opens (the loading screen). | |
Loading Text Anchor (LoadingTextAnchor) | FVector2D | (X=0.500000,Y=0.500000) | Transition | Where the loading name sits (normalized screen point). | |
Overlay Widget Class (OverlayWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Transition | Fade / loading / banner overlay (D-052). Empty = the built-in screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSETravelOverlayViewModel (docs/product/custom-ui.md). | |
Overlay ZOrder (OverlayZOrder) | int32 | 90 | Transition | Z-order of the overlay (above every HUD and menu). | |
Backdrop Color (BackdropColor) | FRSEUIColor | (Token="Primary",Alpha=0.700000,Lightness=-0.526921,Chroma=0.679858,Hue=0.163523,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | World Map | Dims the world behind the map. | |
World Map in Party Menu (bWorldMapInPartyMenu) | bool | True | World Map | The party menu offers the world map (Options page). | |
Current Marker Color (CurrentMarkerColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.069244,Chroma=0.841473,Hue=-23.016491,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | World Map | ||
Current Marker Glyph (CurrentMarkerGlyph) | FText | NSLOCTEXT("RSETravelUI", "CurrentMarkerGlyph", "★") | World Map | Marker of the place the party is in. | |
List Width (ListWidth) | float | 280.000000 | World Map | Width of the place list next to the map. | |
Locked Marker Color (LockedMarkerColor) | FRSEUIColor | (Token="Neutral",Alpha=1.000000,Lightness=-0.114986,Chroma=0.432908,Hue=15.523865,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | World Map | ||
Map Background (MapBackground) | TSoftObjectPtr<UTexture2D> | None | World Map | Picture of the world under the markers. Empty = a plain themed panel. | |
Map Background Tint (MapBackgroundTint) | FLinearColor | (R=1.000000,G=1.000000,B=1.000000,A=1.000000) | World Map | ||
Map Fill Color (MapFillColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.207849,Chroma=0.243229,Hue=-14.189053,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | World Map | Map color without a picture. | |
Map Size (MapSize) | FVector2D | (X=640.000000,Y=400.000000) | World Map | Size of the map area (the markers' MapPosition is relative to it). | |
Marker Color (MarkerColor) | FRSEUIColor | (Token="Text",Alpha=1.000000,Lightness=-0.042130,Chroma=6.947662,Hue=169.558411,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | World Map | ||
Marker Glyph (MarkerGlyph) | FText | NSLOCTEXT("RSETravelUI", "MarkerGlyph", "◆") | World Map | ||
Selected Marker Color (SelectedMarkerColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | World Map | ||
World Map Item (WorldMapItem) | TSoftObjectPtr<URSEItemData> | None | World Map | When set, the party menu entry needs this item in the inventory (a map). Signposts work without it. | |
World Map Widget Class (WorldMapWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | World Map | World map screen (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEWorldMapViewModel (docs/product/custom-ui.md). | |
World Map ZOrder (WorldMapZOrder) | int32 | 56 | World Map | Z-order of the world map (above the party menu). |
RPG Saga Engine: Traversal
Class URSETraversalSettings (module RSE), Project Settings, Project, RPG Saga Engine. Traversal (D-121, docs/design/traversal.md): ladders, ropes, swimming, jumps, vaults and drops in exploration and in Free Tactics.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Default Anims (DefaultAnims) | TMap<FGameplayTag,FRSECharacterAnim> | (0 entries) | Animation | Traversal slot (Traversal.Anim.*) -> clip, for characters whose anim set has none (and its parent tags have none). Empty = the body moves along the traversal in its current pose. | |
Loop Blend Out Seconds (LoopBlendOutSeconds) | float | 0.200000 | Animation | Blend out (seconds) of a traversal loop when the body gets off. | |
Battle Swim Sink Fallback (BattleSwimSinkFallback) | float | 100.000000 | Battle | Free Tactics playback: the swimmer's body hangs this far below the battle position (cm) when its kind gives no offset. | |
Capture Links (bCaptureLinks) | bool | True | Battle | Placed traversal links (ladders, ropes, jumps...) become nav links in Free Tactics battles. | |
Capture Volumes (bCaptureVolumes) | bool | True | Battle | Placed swim volumes become traversal volumes in Free Tactics battles. | |
End Start Distance (EndStartDistance) | float | 160.000000 | Exploration | How far from an end a body may be to start the link from it (cm, from the capsule's feet to the end point). | |
End Use Radius (EndUseRadius) | float | 110.000000 | Exploration | Radius of the interaction sphere at each end of a link (cm): standing in it shows the prompt. | |
Swim Move Threshold (SwimMoveThreshold) | float | 30.000000 | Exploration | Horizontal speed (cm/s) above which a swimmer plays the move loop instead of the idle one. | |
Volume Check Interval (VolumeCheckInterval) | float | 0.100000 | Exploration | Seconds between checks while a body is inside a traversal volume (depth, banks, swim idle or move). | |
Follower Approach Speed (FollowerApproachSpeed) | float | 350.000000 | Followers | Walking speed of a follower going to a link (cm/s). | |
Follower Check Interval (FollowerCheckInterval) | float | 0.200000 | Followers | Seconds between the follower order checks (a timer, no Tick). | |
Follower Stagger Seconds (FollowerStaggerSeconds) | float | 0.600000 | Followers | Seconds between followers starting the same link (they climb one after the other). | |
Follower Start Distance (FollowerStartDistance) | float | 120.000000 | Followers | A follower sent to a link starts it once this close to its start end (cm). | |
Follower Timeout Seconds (FollowerTimeoutSeconds) | float | 8.000000 | Followers | Seconds a follower has to reach the link before it is brought to the far end. | |
Default Ladder Kind (DefaultLadderKind) | TSoftObjectPtr<URSETraversalLinkKindData> | /RPGSagaEngine/Data/Traversal/DA_Traversal_Ladder.DA_Traversal_Ladder | Kinds | --- Default kinds (placed actors without their own) --- | |
Default Link Kind (DefaultLinkKind) | TSoftObjectPtr<URSETraversalLinkKindData> | /RPGSagaEngine/Data/Traversal/DA_Traversal_Jump.DA_Traversal_Jump | Kinds | A Traversal Link actor without a kind (usually a jump). | |
Default Rope Kind (DefaultRopeKind) | TSoftObjectPtr<URSETraversalLinkKindData> | /RPGSagaEngine/Data/Traversal/DA_Traversal_Rope.DA_Traversal_Rope | Kinds | ||
Default Swim Kind (DefaultSwimKind) | TSoftObjectPtr<URSETraversalVolumeKindData> | /RPGSagaEngine/Data/Traversal/DA_Traversal_Swim.DA_Traversal_Swim | Kinds | ||
Rope Mesh (RopeMesh) | TSoftObjectPtr<UStaticMesh> | None | Placeholders | Look of a rope without its own mesh (a 1 m cube scaled along the rope). Empty = the engine cylinder. |
RPG Saga Engine: Turn Order Bar
Class URSETurnOrderSettings (module RSE), Project Settings, Project, RPG Saga Engine. The live battle's turn order bar (D-147, docs/design/battle-menus.md): portraits with an HP bar under each, the acting unit first and larger.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Active Frame Color (ActiveFrameColor) | FRSEUIColor | (Token="Accent",Alpha=1.000000,Lightness=0.013676,Chroma=0.827775,Hue=0.129302,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Enemy Frame Color (EnemyFrameColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.018272,Chroma=1.010696,Hue=-1.060005,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Enemy HPColor (EnemyHPColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.034214,Chroma=1.006407,Hue=0.868554,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Hidden HPColor (HiddenHPColor) | FRSEUIColor | (Token="Neutral",Alpha=0.800000,Lightness=-0.102636,Chroma=1.665689,Hue=3.202312,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
HPBack Color (HPBackColor) | FRSEUIColor | (Token="Black",Alpha=0.700000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Low HPColor (LowHPColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=-0.016729,Chroma=1.097072,Hue=-1.844743,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | ||
Low HPShare (LowHPShare) | float | 0.300000 | Colors | ||
Party Frame Color (PartyFrameColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Lightness=0.031412,Chroma=1.025162,Hue=-12.566440,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | Frames: party, enemies, the acting unit. | |
Party HPColor (PartyHPColor) | FRSEUIColor | (Token="Health",Alpha=1.000000,Lightness=0.022416,Chroma=0.945263,Hue=0.075144,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | HP bars: party fill, enemy fill, low HP (below Low HP Share), the empty part, and a hidden bar (not scanned). | |
Portrait Back Color (PortraitBackColor) | FRSEUIColor | (Token="Primary",Alpha=0.950000,Lightness=-0.172664,Chroma=0.334008,Hue=10.670621,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Colors | Behind a portrait without art (the initials show on it). | |
Active Scale (ActiveScale) | float | 1.250000 | Look | ||
Show Names (bShowNames) | bool | False | Look | The unit's name under its portrait (off: the portrait and the HP bar only; the name shows on the acting unit's panel). | |
Corner Radius (CornerRadius) | float | 6.000000 | Look | Corner radius of the portrait frames, and the frame's width. | |
Frame Width (FrameWidth) | float | 2.000000 | Look | ||
Hidden HPText (HiddenHPText) | FText | NSLOCTEXT("RSETurnOrderSettings", "HiddenHP", "?") | Look | Shown on a hidden HP bar. | |
HPBar Height (HPBarHeight) | float | 6.000000 | Look | Height of the HP bar under a portrait and the gap between portraits (pixels at 1080p). | |
Portrait Size (PortraitSize) | float | 52.000000 | Look | Side of a portrait (pixels at 1080p) and the acting unit's size (multiplier). | |
Spacing (Spacing) | float | 6.000000 | Look | ||
Steam Deck Scale (SteamDeckScale) | float | 1.100000 | Look | Scale on a Steam Deck. |
RPG Saga Engine: Turn-Based Battle
Class URSETurnBattleSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Turn-based battles (D-050, docs/design/turn-based.md) and the choice of the classic mode.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Classic Encounters Enabled (bClassicEncountersEnabled) | bool | True | Modes | Off: encounter triggers that lead to a classic stage start no battle (Tactics-only games). Tactics triggers are not affected. | |
Classic Mode Override (ClassicModeOverride) | FGameplayTag | () | Modes | Mode of every battle on a classic stage (ATB director). Empty = each encounter's BattleMode (ATB unless it says Turn). Battle.Mode.ATB or Battle.Mode.Turn switches all classic battles at once: the genre presets use this. | |
Reorder on Speed Change (bReorderOnSpeedChange) | bool | True | Turn Order | Round: a Speed change (haste, slow) reorders the fighters still waiting this round. Off = the order is fixed at the round's start. | |
Charge Delay Scale (ChargeDelayScale) | float | 1.000000 | Turn Order | CTB: an ability's charge time (ATB rules) becomes extra waiting before its user's next turn, times this. The action itself resolves at once. 0 = every action costs the same. Round battles ignore charge times. | |
Initiative Variance (InitiativeVariance) | float | 0.100000 | Turn Order | Round: initiative = Speed x (1 +/- this), rolled per fighter each round. 0 = strict Speed order. | |
Tie Break (TieBreak) | ERSETurnTieBreak | PlayerFirst | Turn Order | Tie-break after initiative (Round) or waiting time (CTB), then Speed. The unit id decides last. | |
Turn Order Preview Count (TurnOrderPreviewCount) | int32 | 8 | Turn Order | Upcoming turns shown in the HUD's turn order strip (and returned by URSETurnBattle::GetTurnOrderPreview by default). | |
Turn Order Style (TurnOrderStyle) | ERSETurnOrderStyle | Round | Turn Order | --- Turn order --- |
RPG Saga Engine: Tutorial UI
Class URSETutorialUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Presentation of the tutorials (D-047): the tutorial screen and the party menu's Help page.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Help Column Text (HelpColumnText) | FText | NSLOCTEXT("RSETutorialUI", "HelpColumn", "Tutorials") | Help Page | --- Help page (party menu) --- | |
Help Details Width (HelpDetailsWidth) | float | 460.000000 | Help Page | Width of the preview panel. | |
Help Disabled Text (HelpDisabledText) | FText | NSLOCTEXT("RSETutorialUI", "HelpDisabled", "New tutorials are turned off (Options, Game tab).") | Help Page | Under the list when the player turned tutorials off. | |
Help Empty Text (HelpEmptyText) | FText | NSLOCTEXT("RSETutorialUI", "HelpEmpty", "No tutorials yet. They appear here once you have seen them.") | Help Page | ||
Help Hint Text (HelpHintText) | FText | NSLOCTEXT("RSETutorialUI", "HelpHint", "Choose a tutorial to read it again.") | Help Page | Under the list. | |
Help Pages Format (HelpPagesFormat) | FText | NSLOCTEXT("RSETutorialUI", "HelpPages", "{Count} {Count}|plural(one=page,other=pages)") | Help Page | {Count} pages. | |
Backdrop Color (BackdropColor) | FRSEUIColor | (Token="Primary",Alpha=0.550000,Lightness=-0.526921,Chroma=0.679858,Hue=0.163523,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Screen | Dims the game behind the tutorial. | |
Pause Game (bPauseGame) | bool | True | Screen | The game pauses while a tutorial is open (battles stop: ATB time, animations, AI). | |
Image Max Height (ImageMaxHeight) | float | 220.000000 | Screen | Largest height of a page picture (its width follows its aspect, capped by the window). | |
Max Width (MaxWidth) | float | 760.000000 | Screen | ||
Min Width (MinWidth) | float | 560.000000 | Screen | Window width: grows with the text between the two, then the text wraps. | |
Open Delay Frames (OpenDelayFrames) | int32 | 2 | Screen | Frames to wait before opening a requested tutorial, so the screen that triggered it (shop, lock) is open underneath. | |
Widget Class (WidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screen | Tutorial screen (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSETutorialViewModel (docs/product/custom-ui.md). | |
ZOrder (ZOrder) | int32 | 70 | Screen | Z-order in the viewport: above the HUDs, the shop, the card table and the options. | |
Close Text (CloseText) | FText | NSLOCTEXT("RSETutorialUI", "Close", "Got it") | Texts | Button and key prompt that close the last page. | |
Header Text (HeaderText) | FText | NSLOCTEXT("RSETutorialUI", "Header", "Tutorial") | Texts | Small heading above the title. | |
Next Text (NextText) | FText | NSLOCTEXT("RSETutorialUI", "Next", "Next") | Texts | ||
Page Format (PageFormat) | FText | NSLOCTEXT("RSETutorialUI", "PageFormat", "{Page} / {Count}") | Texts | {Page} of {Count}. | |
Previous Text (PreviousText) | FText | NSLOCTEXT("RSETutorialUI", "Previous", "Previous") | Texts | ||
Turn Page Action Text (TurnPageActionText) | FText | NSLOCTEXT("RSETutorialUI", "TurnPage", "Page") | Texts | Key prompt of the page keys. | |
Screen Triggers (ScreenTriggers) | TMap<TSoftClassPtr<UUserWidget> ,FGameplayTag> | (4 entries) | Triggers | D-147: screens that fire a tutorial trigger when they open (widget class -> trigger; a subclass matches too): the inventory and stash, the growth board, the companion commands, the area map. A new screen's tutorial = one row here and a Tutorial Data asset with that trigger. |
RPG Saga Engine: Tutorials
Class URSETutorialSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Tutorial rules (D-047, Project Settings -> RPG Saga Engine -> Tutorials).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Enabled by Default (bEnabledByDefault) | bool | True | Rules | Tutorials show unless the player turns them off in the options (the project default; not stored for the player). | |
Load from Asset Manager (bLoadFromAssetManager) | bool | True | Rules | Every Tutorial Data asset of the Asset Manager can be triggered. Off: only tutorials registered from code. | |
Story Tutorials Follow Option (bStoryTutorialsFollowOption) | bool | True | Rules | Story effects (Show Tutorial) also respect the player's option. Off: a story tutorial always shows (once). | |
Ability Target Trigger (AbilityTargetTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.Tactics.FirstAbility") | Triggers | Tactics: the player aims an ability or item (range, area, line of sight, forecast). | |
Action Command Trigger (ActionCommandTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.ActionCommand") | Triggers | The timing window of the player's own action command is about to open (D-034): the battle holds, the tutorial shows, and the window starts only after it closes. | |
Battle Mode Triggers (BattleModeTriggers) | TMap<FGameplayTag,FGameplayTag> | (3 entries) | Triggers | Trigger fired when a battle of a mode starts (Battle.Mode.* -> Tutorial.Trigger.*). Tactics: at a manual deployment (an auto-deployed battle has no deployment to explain). Just-in-time tutorials about playing the battle belong in First Command Triggers. | |
Block Prompt Trigger (BlockPromptTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.BlockPrompt") | Triggers | A block window is about to open (defensive action command, D-034): the attack freezes, the tutorial shows, and the window starts only after it closes (its time is not counted against the press). | |
Card Match Trigger (CardMatchTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.CardMatch") | Triggers | ||
First Command Triggers (FirstCommandTriggers) | TMap<FGameplayTag,FGameplayTag> | (4 entries) | Triggers | Trigger fired the first time the player can give a command in a battle of a mode (D-064): the Tactics command menu of the player's first turn, the first ATB command menu, the first command of a turn-based battle's first round. | |
Level Up Trigger (LevelUpTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.LevelUp") | Triggers | ||
Move Trigger (MoveTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.Tactics.FirstMove") | Triggers | Tactics: the player chooses Move (reachable tiles, path line, costs). | |
Resonance Full Trigger (ResonanceFullTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.ResonanceFull") | Triggers | A party member with a full Resonance gets its command menu (the summon can be used now). | |
Screen Triggers (ScreenTriggers) | TMap<TSoftClassPtr<UObject> ,FGameplayTag> | (2 entries) | Triggers | Screens opened through a screen request (the Open Shop / Open Code Lock effects) that fire a trigger: the class of the requested asset -> the trigger. A subclass matches too. | |
Ability Triggers (AbilityTriggers) | TArray<FRSETutorialAbilityTrigger> | (5 entries) | Triggers|Live Battle | An ability aimed in battle fires these (in order): first area ability, first heal on allies, first surface, first Scan... | |
Battle Event Triggers (BattleEventTriggers) | TMap<ERSEBattleEventType,FGameplayTag> | (1 entries) | Triggers|Live Battle | Presented battle events of every mode fire these (a reinforcement joins: Unit Joined). | |
Entry Aim Triggers (EntryAimTriggers) | TMap<FName,FGameplayTag> | (1 entries) | Triggers|Live Battle | Battle menu entries (by id, or the part before the first dot: "Jump", "Overwatch", "Door") fire these when the player aims them, and those of Entry Offer Triggers the first time the menu offers them. | |
Entry Offer Triggers (EntryOfferTriggers) | TMap<FName,FGameplayTag> | (1 entries) | Triggers|Live Battle | ||
Live Aim Trigger (LiveAimTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.Live.FirstAim") | Triggers|Live Battle | Live battles (Free Tactics): the player aims an ability or item (range, cover, height, the estimate). | |
No Actions Left Trigger (NoActionsLeftTrigger) | FGameplayTag | (TagName="Tutorial.Trigger.Live.NoActionsLeft") | Triggers|Live Battle | Live battles: the active unit can still decide but has nothing left to use (End Turn). |
RPG Saga Engine: UI
Class URSEUISettings (module RSE), Project Settings, Project, RPG Saga Engine. Look of the game UI.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Action Banner Top Offset (ActionBannerTopOffset) | float | 138.000000 | Battle Banners | Distance of the action banner ("Brute — Strike", D-065) from the top of the screen, in screen units at the 1080-unit reference height (D-083): below the top bar (turn order, enemy chips). Scales with the screen like the rest of the UI (1280x800 and 1920x1080 alike). | |
Target Card Portrait Size (TargetCardPortraitSize) | float | 48.000000 | Battle HUD | Portrait on the classic battle target card (D-075). 0 = none. | |
Turn Chip Portrait Size (TurnChipPortraitSize) | float | 28.000000 | Battle HUD | Portrait on turn order chips (D-075; units with a portrait). 0 = names only. | |
Battle Camera Blend Time (BattleCameraBlendTime) | float | 0.500000 | Camera | Blend time when switching to and from an ATB stage camera. | |
Accent Color (AccentColor) | FLinearColor | (R=1.000000,G=0.780000,B=0.250000,A=1.000000) | Colors | ||
Damage Text Color (DamageTextColor) | FLinearColor | (R=1.000000,G=0.350000,B=0.300000,A=1.000000) | Colors | ||
Defeat Color (DefeatColor) | FLinearColor | (R=0.850000,G=0.200000,B=0.200000,A=1.000000) | Colors | ||
Dim Text Color (DimTextColor) | FLinearColor | (R=0.600000,G=0.620000,B=0.680000,A=1.000000) | Colors | ||
Disabled Text Color (DisabledTextColor) | FLinearColor | (R=0.350000,G=0.360000,B=0.400000,A=1.000000) | Colors | ||
Heal Text Color (HealTextColor) | FLinearColor | (R=0.350000,G=1.000000,B=0.450000,A=1.000000) | Colors | ||
HPColor (HPColor) | FLinearColor | (R=0.250000,G=0.800000,B=0.350000,A=1.000000) | Colors | ||
Low HPColor (LowHPColor) | FLinearColor | (R=0.900000,G=0.250000,B=0.200000,A=1.000000) | Colors | ||
MPColor (MPColor) | FLinearColor | (R=0.300000,G=0.500000,B=1.000000,A=1.000000) | Colors | ||
Panel Color (PanelColor) | FLinearColor | (R=0.020000,G=0.025000,B=0.050000,A=0.820000) | Colors | ||
Panel Highlight Color (PanelHighlightColor) | FLinearColor | (R=0.120000,G=0.160000,B=0.300000,A=0.950000) | Colors | ||
Text Color (TextColor) | FLinearColor | (R=0.930000,G=0.930000,B=0.950000,A=1.000000) | Colors | ||
Victory Color (VictoryColor) | FLinearColor | (R=1.000000,G=0.850000,B=0.300000,A=1.000000) | Colors | ||
Companion Menu Style (CompanionMenuStyle) | ERSECompanionMenuStyle | Radial | Companion Commands | The companion command menu (G): the companion radial (default) or the single ring of D-097. | |
Companion Radial Style (CompanionRadialStyle) | TSoftObjectPtr<URSEBattleMenuStyle> | None | Companion Commands | The companion radial's look and presenter: a Radial battle menu style asset (any URSEBattleMenuStyle). Empty = the built-in companion look (URSECompanionRadialStyle: the battle radial at full size, names on the slices). | |
Companion Radial Widget Class (CompanionRadialWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Companion Commands | The companion radial's screen (D-052). Empty = the built-in one; a Widget Blueprint derived from RSECompanionRadialWidget. | |
Companion Radial ZOrder (CompanionRadialZOrder) | int32 | 20 | Companion Commands | ||
Floating Fade Start (FloatingFadeStart) | float | 0.600000 | Floating Text | The fade starts at this share of the text's duration. | |
Floating Hit Height (FloatingHitHeight) | float | 115.000000 | Floating Text | World height above the unit's origin where combat numbers appear: the hit point (D-083). The timing grade shows higher, above the head (Battle Presentation -> Grade Height). | |
Floating Lane Release (FloatingLaneRelease) | float | 0.550000 | Floating Text | A lane is free again once its text has lived this share of its duration (it has risen out of the way). | |
Floating Lane Shift (FloatingLaneShift) | float | 16.000000 | Floating Text | Lanes above the first also step sideways, alternately right and left, by this many screen units. | |
Floating Lane Spacing (FloatingLaneSpacing) | float | 46.000000 | Floating Text | Texts on the same unit never overlap (D-083): each takes the lowest free lane, lanes this many screen units apart (numbers stack upwards, status tags downwards). | |
Floating Pop Time (FloatingPopTime) | float | 0.120000 | Floating Text | Seconds of the pop (from Pop Scale to the text's size). | |
Floating Stagger (FloatingStagger) | float | 0.140000 | Floating Text | Texts on the same unit start at least this far apart (several hits at once come one after another). | |
Floating Tag Lane Spacing (FloatingTagLaneSpacing) | float | 24.000000 | Floating Text | Status tags are smaller: their lanes are this far apart. | |
Floating Text Duration (FloatingTextDuration) | float | 1.200000 | Floating Text | --- Floating combat text --- | |
Floating Text Height (FloatingTextHeight) | float | 160.000000 | Floating Text | World height above the unit's origin of markers over units (target markers). | |
Floating Text Rise (FloatingTextRise) | float | 60.000000 | Floating Text | Rise in screen pixels over the text's lifetime. | |
Floating Text Styles (FloatingTextStyles) | TMap<ERSEFloatingTextKind,FRSEFloatingTextStyle> | (7 entries) | Floating Text | Style of each kind of combat text (D-083). Missing kinds use Damage's. | |
Bar Height (BarHeight) | float | 8.000000 | Layout | ||
Log Lines (LogLines) | int32 | 6 | Layout | ||
Log Max Width (LogMaxWidth) | float | 420.000000 | Layout | Widest line of the battle logs (longer lines are shortened), so the log never runs into the turn order. | |
Panel Padding (PanelPadding) | float | 12.000000 | Layout | ||
Screen Margin (ScreenMargin) | float | 24.000000 | Layout | --- Layout --- | |
Side Panel Max Width (SidePanelMaxWidth) | float | 440.000000 | Layout | ||
Side Panel Width (SidePanelWidth) | float | 320.000000 | Layout | Width of the battle side panels (unit, command menu, deployment, forecast). They grow with longer text up to SidePanelMaxWidth, then wrap or shorten it. | |
Turn Order Length (TurnOrderLength) | int32 | 8 | Layout | ||
Enemy HPBar Width (EnemyHPBarWidth) | float | 90.000000 | Layout|ATB | ||
Gauge Width (GaugeWidth) | float | 160.000000 | Layout|ATB | ||
Party HPBar Width (PartyHPBarWidth) | float | 150.000000 | Layout|ATB | ||
Party MPWidth (PartyMPWidth) | float | 70.000000 | Layout|ATB | ||
Party Name Width (PartyNameWidth) | float | 130.000000 | Layout|ATB | ATB party panel column widths and bar heights. | |
Text Column Growth (TextColumnGrowth) | float | 1.600000 | Layout|ATB | ATB party panel and enemy chips: text columns grow up to this factor of their width. | |
Bestiary Portrait Size (BestiaryPortraitSize) | float | 128.000000 | Party Menu | Portrait of the bestiary page (0 = none). | |
Uniform Party Menu Size (bUniformPartyMenuSize) | bool | True | Party Menu | D-132: every page of the party menu uses one window size, so switching tabs never resizes the window. With the grid inventory (Inventory UI -> Style: Grid) that size is Inventory UI -> Menu Width / Menu Height (its largest page), otherwise Party Menu Width / Party Menu Height. The window still shrinks as a whole on small screens (Screen Margin). Off: only the grid page uses the larger size (D-123). | |
Party Menu Ability Groups (PartyMenuAbilityGroups) | TArray<FRSEAbilityGroupLabel> | (4 entries) | Party Menu | Groups of the party menu's ability list (D-073), in order: abilities whose AbilityType matches a group's tag are listed under its label (the command menu groups of D-065). The rest follow under PartyMenuOtherAbilitiesLabel. | |
Party Menu Background Color (PartyMenuBackgroundColor) | FLinearColor | (R=0.020000,G=0.025000,B=0.050000,A=0.960000) | Party Menu | ||
Party Menu Blocked Hint (PartyMenuBlockedHint) | FText | NSLOCTEXT("RSEUISettings", "PartyMenuBlockedHint", "Use items from the battle menu") | Party Menu | ||
Party Menu Blocked Text (PartyMenuBlockedText) | FText | NSLOCTEXT("RSEUISettings", "PartyMenuBlocked", "Menu not available in battle") | Party Menu | Shown when the menu key is pressed during a battle and the menu stays closed (a toast of the reward feed: the line, and the hint above it). | |
Party Menu Column Width (PartyMenuColumnWidth) | float | 340.000000 | Party Menu | Width of one list column (members, slots, candidates). | |
Party Menu Height (PartyMenuHeight) | float | 620.000000 | Party Menu | ||
Party Menu in Battle (PartyMenuInBattle) | ERSEPartyMenuBattleAccess | Blocked | Party Menu | D-128: the party menu during a battle (Free Tactics, Tactics, ATB). Blocked by default: items are used through the battle menu. Each local player's menu asks for itself (URSEPartyMenuViewModel::GetBattleAccess), so co-op guests follow the same rule on their own screens. | |
Party Menu Other Abilities Label (PartyMenuOtherAbilitiesLabel) | FText | NSLOCTEXT("RSEUISettings", "GroupOther", "Other") | Party Menu | ||
Party Menu Portrait Size (PartyMenuPortraitSize) | float | 44.000000 | Party Menu | Portrait beside each member row and on the bestiary page (D-075; the character's Portrait or generated art). 0 = none. | |
Party Menu Stats (PartyMenuStats) | TArray<FGameplayTag> | (0 entries) | Party Menu | Stats listed on the equipment page and in the shop, in order. Empty = the attribute registry's visible attributes, in UI order (D-054). | |
Party Menu View Only Text (PartyMenuViewOnlyText) | FText | NSLOCTEXT("RSEUISettings", "PartyMenuViewOnly", "Nothing can be changed during battle. Use items from the battle menu.") | Party Menu | Shown when a change is tried in the view-only menu during a battle. | |
Party Menu Width (PartyMenuWidth) | float | 1100.000000 | Party Menu | ||
Stat Decrease Color (StatDecreaseColor) | FLinearColor | (R=1.000000,G=0.400000,B=0.350000,A=1.000000) | Party Menu | ||
Stat Increase Color (StatIncreaseColor) | FLinearColor | (R=0.350000,G=1.000000,B=0.450000,A=1.000000) | Party Menu | ||
Tag Labels (TagLabels) | TMap<FGameplayTag,FText> | (0 entries) | Party Menu | Optional overrides of stat and resource names in menus. Missing tags use the attribute registry's display names (D-054). | |
Back Row Color (BackRowColor) | FRSEUIColor | (Token="Info",Alpha=1.000000,Chroma=1.000000,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Party Menu|Formation Page | ||
Enemy Side Color (EnemySideColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.061080,Chroma=1.063807,Hue=-6.477600,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Party Menu|Formation Page | ||
Formation Page (FormationPage) | ERSEFormationPageMode | Auto | Party Menu|Formation Page | D-155: what the Formation tab shows. Auto: the classic formation (battle party, front / back rows) where classic battles can start (the level has an ATB battle director), else Party (leader, order and the exploration formation: live-only games). | |
Formation Portrait Size (FormationPortraitSize) | float | 64.000000 | Party Menu|Formation Page | Portrait size of the member tiles (Formation and Party pages). | |
Formation Preview Ground Color (FormationPreviewGroundColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.199310,Chroma=0.205483,Hue=-19.591469,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Party Menu|Formation Page | The ground of the Formation page's top-down preview. | |
Formation Preview Portrait Size (FormationPreviewPortraitSize) | float | 40.000000 | Party Menu|Formation Page | Portrait size in the battle and exploration previews. | |
Front Row Color (FrontRowColor) | FRSEUIColor | (Token="Warning",Alpha=1.000000,Lightness=-0.018197,Chroma=0.849770,Hue=-8.843429,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Party Menu|Formation Page | Colors of the rows in the Formation page's diagram and preview, and of the enemy side. | |
Party Page Label (PartyPageLabel) | FText | NSLOCTEXT("RSEUISettings", "PartyPageLabel", "Party") | Party Menu|Formation Page | The tab's label when it is the Party page. | |
Party Preview Range (PartyPreviewRange) | float | 500.000000 | Party Menu|Formation Page | World distance from the leader to the preview's edge (cm): the follower places are drawn to this scale. | |
Party Preview Size (PartyPreviewSize) | float | 260.000000 | Party Menu|Formation Page | Side of the Party page's top-down preview (pixels at 1080p). | |
Fallen Color (FallenColor) | FRSEUIColor | (Token="Negative",Alpha=1.000000,Lightness=-0.047762,Chroma=1.193834,Hue=-1.875349,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Party Menu|Status Page | ||
Fallen Portrait Tint (FallenPortraitTint) | FRSEUIColor | (Token="Neutral",Alpha=0.850000,Lightness=-0.182117,Chroma=0.522234,Hue=15.480350,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Party Menu|Status Page | A fallen member's portrait is tinted with this (greyed), and its mark and name use Fallen Color. | |
Fallen Text (FallenText) | FText | NSLOCTEXT("RSEUISettings", "StatusFallen", "KO") | Party Menu|Status Page | The mark on a fallen member ("KO"). | |
Growth Button Text (GrowthButtonText) | FText | NSLOCTEXT("RSEUISettings", "StatusGrowthButton", "Open growth board") | Party Menu|Status Page | Label of the button to the member's Growth page. | |
Growth Points Color (GrowthPointsColor) | FRSEUIColor | (Token="Positive",Alpha=1.000000,Lightness=0.000965,Chroma=0.733272,Hue=1.974552,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Party Menu|Status Page | Color of the growth points badge and button (points to spend). | |
Growth Points Format (GrowthPointsFormat) | FText | NSLOCTEXT("RSEUISettings", "StatusGrowthPoints", "{Points} points to spend") | Party Menu|Status Page | "{Points} points to spend" ({Points}). | |
Portrait Backdrop Color (PortraitBackdropColor) | FRSEUIColor | (Token="Primary",Alpha=1.000000,Lightness=-0.174197,Chroma=0.275893,Hue=8.668930,Override=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)) | Party Menu|Status Page | The plate behind a member portrait (also the whole portrait when the character has none). | |
Status Card Column Width (StatusCardColumnWidth) | float | 400.000000 | Party Menu|Status Page | Width of the member card column. | |
Status Card Portrait Size (StatusCardPortraitSize) | float | 64.000000 | Party Menu|Status Page | Portrait size of the member cards (left) and of the selected member (right), pixels at 1080p. | |
Status Page Stats (StatusPageStats) | TArray<FGameplayTag> | (0 entries) | Party Menu|Status Page | Stats on the Status page, in order. Empty = the menu stats (Party Menu Stats). | |
Status Portrait Size (StatusPortraitSize) | float | 132.000000 | Party Menu|Status Page | ||
Party Menu Page Actions (PartyMenuPageActions) | TArray<FRSEPartyMenuPageAction> | (4 entries) | Party Menu|Tabs | D-148: keys that open the menu straight on a page (I = Items, J = Journal, M = Map, K = Growth by default; the same key closes it again). Add a row to give any page its own key; the actions are rebound in Options -> Controls (list them in Options -> Action Names). The actions must be mapped in the menu mapping context (Input -> Menu Mapping Context). | |
Party Menu Start Page (PartyMenuStartPage) | ERSEPartyMenuPage | Status | Party Menu|Tabs | D-148: the page the menu opens on with the menu key (Tab, Esc, the gamepad's Start). Not offered = the first tab. | |
Party Menu Tab Order (PartyMenuTabOrder) | TArray<ERSEPartyMenuPage> | (12 entries) | Party Menu|Tabs | D-148: the tabs of the party menu, left to right. A page left out is not offered (its key does nothing); Growth, Map and Equipment still hide themselves when they do not apply (Classic progression, no map on the level, the grid inventory). Empty = every page in its enum order. | |
ATB HUD Widget Class (ATBHUDWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | Classic battle HUD (ATB and turn-based, D-052). Empty = the built-in themed HUD. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEATBHUDViewModel (docs/product/custom-ui.md). | |
Modal Screen Pending Grace (ModalScreenPendingGrace) | float | 5.000000 | Screens | D-152, the safety net of the modal screen stacks: a widget registered as an open screen that has not been shown (not in the viewport, not built) after this long is forgotten, so a screen registered and never shown cannot block the menus and hide the HUD forever. A screen that was shown and then left the screen without closing is forgotten at once. 0 = only shown screens are checked. | |
Party Menu Page Widget Classes (PartyMenuPageWidgetClasses) | TMap<ERSEPartyMenuPage,TSoftClassPtr<URSEScreenWidget> > | (0 entries) | Screens | One page of the built-in party menu replaced by a Widget Blueprint derived from RSEScreenWidget (D-052): the menu keeps its tabs, footer and key prompts and shows the widget as the page body. The widget receives the menu's RSEPartyMenuViewModel and gets Confirm / Back / Navigate first (Back returning false closes the menu). | |
Party Menu Widget Class (PartyMenuWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | Party menu screen (D-052). Empty = the built-in themed screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSEPartyMenuViewModel (docs/product/custom-ui.md). | |
Screen Close Input Guard (ScreenCloseInputGuard) | float | 0.350000 | Screens | After a modal screen (menu, dialog, shop, card table...) closes, world actions (Interact, the menu key) are ignored this long, so the confirm press that closed the screen never reaches the world and reopens it. | |
Tactics Deployment Panel Class (TacticsDeploymentPanelClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | Only the deployment panel and start confirmation of the built-in Tactics HUD (D-018): a Widget Blueprint receiving the RSETacticsHUDViewModel. | |
Tactics Forecast Panel Class (TacticsForecastPanelClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | Only the attack forecast panel of the built-in Tactics HUD (D-033): a Widget Blueprint receiving the RSETacticsHUDViewModel. | |
Tactics HUD Widget Class (TacticsHUDWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Screens | Tactics battle HUD (D-052). Empty = the built-in themed HUD. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSETacticsHUDViewModel (docs/product/custom-ui.md). | |
Banner Font Size (BannerFontSize) | int32 | 54 | Text | ||
Floating Font Size (FloatingFontSize) | int32 | 26 | Text | ||
Large Font Size (LargeFontSize) | int32 | 20 | Text | ||
Normal Font Size (NormalFontSize) | int32 | 15 | Text | ||
Small Font Size (SmallFontSize) | int32 | 14 | Text | --- Text --- |
RPG Saga Engine: UI Layouts
Class URSEUILayoutSettings (module RSE), Project Settings, Project, RPG Saga Engine. Sizes the built-in screen layouts use (P61).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Group Spacing (GroupSpacing) | float | 8.000000 | Battle HUD | Space between grouped panels (compact corner, bottom bar). | |
Shooter Edge Inset (ShooterEdgeInset) | float | 18.000000 | Battle HUD | Shooter minimal: space between the panels and the screen edge. | |
Shooter Forecast Anchor Y (ShooterForecastAnchorY) | float | 0.500000 | Battle HUD | Shooter minimal: height of the forecast on the right edge (0 = top, 1 = bottom). | |
Shooter Scrim Opacity (ShooterScrimOpacity) | float | 0.350000 | Battle HUD | Shooter minimal: opacity of the soft dark backing behind the frameless panels (0 = text only). | |
Bubble Gap (BubbleGap) | float | 8.000000 | Dialog | Bubble dialog: space between the speaker's head and the bubble's tail. | |
Bubble Width (BubbleWidth) | float | 560.000000 | Dialog | Bubble dialog: width of the bubble (layout units, 1080p reference). | |
Cinematic Bottom Margin (CinematicBottomMargin) | float | 18.000000 | Dialog | Cinematic dialog: space between the line and the bottom of the screen. | |
Cinematic Text Width Fraction (CinematicTextWidthFraction) | float | 0.720000 | Dialog | Cinematic dialog: width share of the line. | |
Novel Box Width Fraction (NovelBoxWidthFraction) | float | 0.900000 | Dialog | Novel portrait dialog: width share of the box. | |
Novel Portrait Inset (NovelPortraitInset) | float | 60.000000 | Dialog | Novel portrait dialog: how far the portrait stands in from the screen's side. | |
Novel Portrait Size (NovelPortraitSize) | FVector2D | (X=420.000000,Y=600.000000) | Dialog | Novel portrait dialog: size of the large portrait. | |
Side Tab Width (SideTabWidth) | float | 210.000000 | Party Menu | Party menu with side tabs: width of the tab column. |
RPG Saga Engine: UI Style Editor
Class URSEUIStyleEditorSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. The Style Editor (P65, D-162 addendum; docs/product/ui-styles.md "Editing styles"): where its copies go, the map and the screens of "Preview in game", and the captures.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Gallery Folder (GalleryFolder) | FDirectoryPath | () | Capture | Where Capture gallery saves its shots (<folder>/<StyleId>/<shot>.png). Empty = Saved/RSE/UIStyleGallery. | |
Thumbnail Shot (ThumbnailShot) | FString | 01_party_menu | Capture | The shot of the gallery used as the style's thumbnail in the Studio's UI Styles page. | |
Project Styles Folder (ProjectStylesFolder) | FDirectoryPath | (set per project) | Duplicate | Where "Duplicate to project" puts its copies (plugin content is read-only when the plugin is installed from Fab). | |
Loop Preview (bLoopPreview) | bool | True | Preview | Repeat the gallery while Preview in game runs (edit the style and watch the screens come round again). | |
Gallery Commands (GalleryCommands) | TArray<FString> | (29 entries) | Preview | The UI gallery: console commands run one by one in the preview game, opening the main screens in sequence. "wait <seconds>" pauses, "shot <name>" saves a screenshot with the UI (Capture gallery only; skipped by Preview in game). | |
Gallery Start Delay (GalleryStartDelay) | float | 4.000000 | Preview | Seconds the preview game waits before the gallery starts (the map loads, the party spawns). | |
Preview Map (PreviewMap) | TSoftObjectPtr<UWorld> | /RPGSagaEngine/Examples/Maps/L_RSE_StarterExample.L_RSE_StarterExample | Preview | The map "Preview in game" and "Capture gallery" play (an example map of the plugin with a party). | |
Hue Slider Range (HueSliderRange) | float | 180.000000 | Toolbar | Range of the toolbar's Hue slider (degrees either way). |
RPG Saga Engine: UI Theme
Class URSEUIThemeSettings (module RSE), Project Settings, Project, RPG Saga Engine. The UI theme (D-032): the UI style the game uses (D-162), key prompt labels, spacing and the minimum font size.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Accessibility (Accessibility) | FRSEUIAccessibilitySettings | (SafePositive=(R=0.093059,G=0.456411,B=0.814847,A=1.000000),SafeNegative=(R=0.830770,G=0.155926,B=0.006995,A=1.000000),SafeWarning=(R=0.871367,G=0.775822,B=0.05... | Accessibility | Colors of the accessibility transforms (color vision remap, high contrast), D-164. | |
Minimum Font Size (MinimumFontSize) | int32 | 14 | Fonts | No text of the game UI is drawn smaller than this, whatever a role or a screen asks for: small labels (costs, captions, key caps) stay readable at 1280x800 (Steam Deck, D-037), where the UI scale is 0.9. | |
Back Action Text (BackActionText) | FText | NSLOCTEXT("RSEUITheme", "ActionBack", "Back") | Key Prompts | ||
Close Action Text (CloseActionText) | FText | NSLOCTEXT("RSEUITheme", "ActionClose", "Close") | Key Prompts | ||
Confirm Action Text (ConfirmActionText) | FText | NSLOCTEXT("RSEUITheme", "ActionConfirm", "Confirm") | Key Prompts | Generic action names for prompts. | |
Key Labels (KeyLabels) | TMap<FKey,FText> | (47 entries) | Key Prompts | Short key labels in prompts ("A" instead of "Gamepad Face Button Bottom", arrows for arrow keys). Gamepad keys here are the Xbox label set. Missing keys use the engine name. | |
Key Separator (KeySeparator) | FText | NSLOCTEXT("RSEUITheme", "KeySeparator", "/") | Key Prompts | Between the keys of one prompt (keyboard and gamepad). | |
Page Action Text (PageActionText) | FText | NSLOCTEXT("RSEUITheme", "ActionPage", "Page") | Key Prompts | ||
Select Action Text (SelectActionText) | FText | NSLOCTEXT("RSEUITheme", "ActionSelect", "Select") | Key Prompts | ||
Play Station Key Labels (PlayStationKeyLabels) | TMap<FKey,FText> | (14 entries) | Key Prompts|Gamepad Label Sets | PlayStation label set: gamepad labels that differ from KeyLabels (face buttons, shoulders, triggers, Create / Options). | |
Steam Deck Key Labels (SteamDeckKeyLabels) | TMap<FKey,FText> | (10 entries) | Key Prompts|Gamepad Label Sets | Steam Deck label set: gamepad labels that differ from KeyLabels (L1 / R1, L2 / R2, View / Menu). | |
Body (Body) | FRSEUIFontStyle | (Typeface="Regular",Size=17,OutlineColor=(R=0.000000,G=0.000000,B=0.000000,A=0.850000),Color=(R=0.950000,G=0.930000,B=0.880000,A=1.000000),bShadow=True) | Legacy|Fonts | ||
Caption (Caption) | FRSEUIFontStyle | (Typeface="Regular",Size=14,LetterSpacing=20,OutlineColor=(R=0.000000,G=0.000000,B=0.000000,A=0.850000),Color=(R=0.620000,G=0.660000,B=0.760000,A=1.000000),bSha... | Legacy|Fonts | ||
Display (Display) | FRSEUIFontStyle | (Typeface="Black",Size=76,LetterSpacing=180,OutlineSize=2,OutlineColor=(R=0.050000,G=0.030000,B=0.000000,A=0.900000),Color=(R=1.000000,G=0.700000,B=0.260000,A=1... | Legacy|Fonts | --- Fonts --- | |
Heading (Heading) | FRSEUIFontStyle | (Typeface="Bold",Size=15,LetterSpacing=140,OutlineColor=(R=0.000000,G=0.000000,B=0.000000,A=0.850000),Color=(R=0.620000,G=0.660000,B=0.760000,A=1.000000),bShado... | Legacy|Fonts | ||
Key Cap (KeyCap) | FRSEUIFontStyle | (Typeface="Bold",Size=14,LetterSpacing=40,OutlineColor=(R=0.000000,G=0.000000,B=0.000000,A=0.850000),Color=(R=0.020000,G=0.025000,B=0.050000,A=1.000000)) | Legacy|Fonts | ||
Label (Label) | FRSEUIFontStyle | (Typeface="Medium",Size=17,LetterSpacing=20,OutlineColor=(R=0.000000,G=0.000000,B=0.000000,A=0.850000),Color=(R=0.950000,G=0.930000,B=0.880000,A=1.000000),bShad... | Legacy|Fonts | ||
Numeric (Numeric) | FRSEUIFontStyle | (Typeface="Bold",Size=16,LetterSpacing=30,OutlineColor=(R=0.000000,G=0.000000,B=0.000000,A=0.850000),Color=(R=0.950000,G=0.930000,B=0.880000,A=1.000000),bShadow... | Legacy|Fonts | ||
Text Shadow Color (TextShadowColor) | FLinearColor | (R=0.000000,G=0.000000,B=0.000000,A=0.750000) | Legacy|Fonts | ||
Text Shadow Offset (TextShadowOffset) | FVector2D | (X=1.000000,Y=1.500000) | Legacy|Fonts | Drop shadow of texts whose role has bShadow. | |
Title (Title) | FRSEUIFontStyle | (Typeface="Bold",Size=26,LetterSpacing=120,OutlineColor=(R=0.000000,G=0.000000,B=0.000000,A=0.850000),Color=(R=1.000000,G=0.700000,B=0.260000,A=1.000000),bShado... | Legacy|Fonts | ||
Key Cap Fill (KeyCapFill) | FLinearColor | (R=0.850000,G=0.860000,B=0.900000,A=0.950000) | Legacy|Key Prompts | --- Key prompts --- | |
Key Cap Text Color (KeyCapTextColor) | FLinearColor | (R=0.020000,G=0.025000,B=0.050000,A=1.000000) | Legacy|Key Prompts | ||
Key Hint Text Color (KeyHintTextColor) | FLinearColor | (R=0.620000,G=0.660000,B=0.760000,A=1.000000) | Legacy|Key Prompts | ||
Backdrop Color (BackdropColor) | FLinearColor | (R=0.000000,G=0.000000,B=0.010000,A=0.720000) | Legacy|Panels | Screen dim behind modal screens (save, album). | |
Divider Color (DividerColor) | FLinearColor | (R=0.450000,G=0.520000,B=0.750000,A=0.350000) | Legacy|Panels | Thin separator lines. | |
Divider Thickness (DividerThickness) | float | 1.000000 | Legacy|Panels | ||
Hud Panel (HudPanel) | FRSEUIPanelStyle | (FillTop=(R=0.020000,G=0.030000,B=0.090000,A=0.780000),FillBottom=(R=0.005000,G=0.008000,B=0.025000,A=0.700000),OutlineColor=(R=0.500000,G=0.580000,B=0.800000,A... | Legacy|Panels | ||
Inset Panel (InsetPanel) | FRSEUIPanelStyle | (FillTop=(R=0.000000,G=0.000000,B=0.010000,A=0.350000),FillBottom=(R=0.000000,G=0.000000,B=0.010000,A=0.500000),OutlineColor=(R=0.400000,G=0.470000,B=0.700000,A... | Legacy|Panels | ||
Plain Panel Corner Radius (PlainPanelCornerRadius) | float | 6.000000 | Legacy|Panels | Corner radius of plain panels (MakePanel with a single color). | |
Plain Panel Outline Color (PlainPanelOutlineColor) | FLinearColor | (R=0.420000,G=0.500000,B=0.720000,A=0.450000) | Legacy|Panels | Outline of plain panels. | |
Plain Panel Outline Width (PlainPanelOutlineWidth) | float | 1.000000 | Legacy|Panels | ||
Plate Panel (PlatePanel) | FRSEUIPanelStyle | (FillTop=(R=0.070000,G=0.100000,B=0.250000,A=0.970000),FillBottom=(R=0.020000,G=0.030000,B=0.090000,A=0.970000),OutlineColor=(R=0.720000,G=0.600000,B=0.300000,A... | Legacy|Panels | ||
Window Panel (WindowPanel) | FRSEUIPanelStyle | (FillTop=(R=0.030000,G=0.050000,B=0.140000,A=0.950000),FillBottom=(R=0.006000,G=0.008000,B=0.030000,A=0.960000),OutlineColor=(R=0.440000,G=0.520000,B=0.760000,A... | Legacy|Panels | --- Panels --- | |
Button Fill (ButtonFill) | FLinearColor | (R=0.100000,G=0.140000,B=0.300000,A=0.950000) | Legacy|Rows | Buttons (card table, album). | |
Button Hover Fill (ButtonHoverFill) | FLinearColor | (R=0.180000,G=0.260000,B=0.550000,A=1.000000) | Legacy|Rows | ||
Chip Fill Opacity (ChipFillOpacity) | float | 0.200000 | Legacy|Rows | Chips and badges (D-073: "LEVEL UP!", new abilities, rare drops, elements): a small rounded tag tinted with the color it is given. Fill and outline are that color at these opacities. | |
Chip Outline Opacity (ChipOutlineOpacity) | float | 0.750000 | Legacy|Rows | ||
Chip Padding (ChipPadding) | FMargin | (Left=8.000000,Top=1.000000,Right=8.000000,Bottom=1.000000) | Legacy|Rows | ||
Rows (Rows) | FRSEUIRowStyle | (SelectedFill=(R=0.140000,G=0.240000,B=0.550000,A=0.680000),ActiveFill=(R=0.350000,G=0.260000,B=0.060000,A=0.550000),HoverFill=(R=1.000000,G=1.000000,B=1.000000... | Legacy|Rows | --- Rows --- | |
Tab Fill (TabFill) | FLinearColor | (R=1.000000,G=1.000000,B=1.000000,A=0.040000) | Legacy|Rows | Tabs (party menu pages, item categories, journal tabs). | |
Tab Selected Fill (TabSelectedFill) | FLinearColor | (R=0.140000,G=0.240000,B=0.550000,A=0.950000) | Legacy|Rows | ||
Open Seconds (OpenSeconds) | float | 0.180000 | Legacy|Transitions | Panels fade in and rise into place when a screen opens. 0 = no transition. | |
Open Slide (OpenSlide) | float | 14.000000 | Legacy|Transitions | Distance a panel rises while it opens. | |
Selection Seconds (SelectionSeconds) | float | 0.120000 | Legacy|Transitions | A newly selected row slides in from the left over this time. 0 = none. | |
Selection Slide (SelectionSlide) | float | 6.000000 | Legacy|Transitions | ||
Spacing (Spacing) | FRSEUISpacing | (XS=2.000000,S=4.000000,M=8.000000,L=14.000000,XL=24.000000) | Spacing | --- Spacing --- | |
Background Drift Seconds (BackgroundDriftSeconds) | float | 14.000000 | Transitions | Period of the title screen's slow background drift. | |
Pulse Seconds (PulseSeconds) | float | 1.600000 | Transitions | Period of the "press any key" pulse. | |
Player Can Choose Style (bPlayerCanChooseStyle) | bool | True | UI Style | The player may pick a style in the options (when there is more than one). | |
Default Style (DefaultStyle) | TSoftObjectPtr<URSEUIStyle> | /RPGSagaEngine/UI/Styles/DA_UIStyle_Classic.DA_UIStyle_Classic | UI Style | The game's UI style. Empty = a style made from the Legacy settings below (the look from before UI styles). | |
Frame Material (FrameMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/UI/Materials/M_RSE_UIFrame.M_RSE_UIFrame | UI Style | The procedural frame material (M_RSE_UIFrame). Empty or not loadable = frames are drawn as rounded boxes. | |
Selectable Styles (SelectableStyles) | TArray<TSoftObjectPtr<URSEUIStyle> > | (10 entries) | UI Style | Styles the player can pick in the options. Empty = only the default style. |
RPG Saga Engine: Visual Editors
Class URSEGraphEditorSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. The visual dialog and quest editors (D-061, docs/design/editors.md): layout spacing, node colors and previews.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Comment Color (CommentColor) | FLinearColor | (R=1.000000,G=1.000000,B=1.000000,A=0.900000) | Colors | New comment boxes. | |
Default Node Color (DefaultNodeColor) | FLinearColor | (R=0.250000,G=0.250000,B=0.250000,A=1.000000) | Colors | ||
Dialog Node Colors (DialogNodeColors) | TMap<TSoftClassPtr<URSEDialogNode> ,FLinearColor> | (7 entries) | Colors | Title color of dialog node types. A type not listed (e.g. a custom node class) uses Default Node Color. | |
Quest Fail Rules Color (QuestFailRulesColor) | FLinearColor | (R=0.500000,G=0.300000,B=0.050000,A=1.000000) | Colors | The quest's failure rules node. | |
Quest Failure Color (QuestFailureColor) | FLinearColor | (R=0.650000,G=0.150000,B=0.120000,A=1.000000) | Colors | ||
Quest Stage Color (QuestStageColor) | FLinearColor | (R=0.120000,G=0.300000,B=0.600000,A=1.000000) | Colors | ||
Quest Success Color (QuestSuccessColor) | FLinearColor | (R=0.150000,G=0.550000,B=0.200000,A=1.000000) | Colors | ||
Start Node Color (StartNodeColor) | FLinearColor | (R=0.100000,G=0.450000,B=0.100000,A=1.000000) | Colors | Start node of both editors (dialog entry, quest start). | |
Column Spacing (ColumnSpacing) | float | 420.000000 | Layout | Horizontal distance between the columns of an automatic layout (nodes of the same depth from the start). | |
Quest Row Scale (QuestRowScale) | float | 1.600000 | Layout | Extra rows between the nodes of a quest stage (stages are taller: they list their objectives). | |
Row Spacing (RowSpacing) | float | 190.000000 | Layout | Vertical distance between the rows of an automatic layout. | |
Pin Label Max Chars (PinLabelMaxChars) | int32 | 36 | Nodes | Longest pin label (choice option text, condition summary). | |
Preview Max Chars (PreviewMaxChars) | int32 | 110 | Nodes | Longest text preview shown inside a node (line text, journal entry); longer texts end with "...". | |
Start PIEFor Preview (bStartPIEForPreview) | bool | True | Preview | Play from Here: start Play In Editor when no session runs (off = the button needs a running PIE session). | |
Preview Start Delay (PreviewStartDelay) | float | 0.500000 | Preview | Seconds to wait after PIE starts before the preview dialog opens (the game mode and HUD need a moment). | |
Validate on Change (bValidateOnChange) | bool | True | Validation | Check the asset again after every change and show the problems on the nodes (off = only with the Validate button). |
RPG Saga Engine: Visual Style
Class URSEVisualStyleSettings (module RSE), Project Settings, Project, RPG Saga Engine. Visual styles (D-037): the default style of the game, the style parameter collection, the order of the presets for cycling and the developer switch (hotkey + toast).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Show Toast (bShowToast) | bool | True | Developer | Shows a toast with the style's name when it changes. | |
Cycle Keys (CycleKeys) | TArray<FKey> | (1 entries) | Developer | Keys that cycle the presets in development builds (Shift = previous). Empty = no hotkey. | |
Toast Anchor (ToastAnchor) | FVector2D | (X=0.500000,Y=0.060000) | Developer | Normalized screen point of the toast. | |
Toast Seconds (ToastSeconds) | float | 2.000000 | Developer | ||
Toast Widget Class (ToastWidgetClass) | TSoftClassPtr<URSEScreenWidget> | None | Developer | Visual style toast (D-052). Empty = the built-in screen. A Widget Blueprint derived from RSEScreenWidget replaces it and receives a RSENoticeViewModel (docs/product/custom-ui.md). | |
Toast ZOrder (ToastZOrder) | int32 | 900 | Developer | ||
Area Check Interval (AreaCheckInterval) | float | 0.250000 | Rendering | How often the player's position is checked against area volumes that override the style. | |
Parameter Collection (ParameterCollection) | TSoftObjectPtr<UMaterialParameterCollection> | /RPGSagaEngine/Visual/MPC_RSEStyle.MPC_RSEStyle | Rendering | Material parameter collection the styles write to (ScalarParameters / VectorParameters of a style). Every parameter not set by the active style is reset to the collection's default. Empty = styles set no parameters. | |
Post Process Priority (PostProcessPriority) | float | 100.000000 | Rendering | Priority of the style's unbound post-process layer. Level volumes with a higher priority still win over it (a dark cave keeps its grading); keep it above the levels' global volumes so the style is visible everywhere. | |
Allow User Choice (bAllowUserChoice) | bool | True | Styles | Whether the player's choice is honored (off = only area overrides and the default). | |
Cycle Styles (CycleStyles) | TArray<TSoftObjectPtr<URSEVisualStyle> > | (4 entries) | Styles | Order of the presets for RSE.Visual.Style Next and the dev hotkey. Empty = every RSEVisualStyle asset, by name. | |
Default Style (DefaultStyle) | TSoftObjectPtr<URSEVisualStyle> | /RPGSagaEngine/Data/Visual/DA_Style_Realistic.DA_Style_Realistic | Styles | Style of a new player (no saved choice) outside every area override. Empty = no style (the levels' own look). |
RPG Saga Engine: Weapon Hold
Class URSEWeaponHoldSettings (module RSE), Project Settings, Project, RPG Saga Engine. How weapons are held (D-185, docs/product/weapons.md): Project Settings -> RPG Saga Engine -> Weapon Hold.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Body Muzzle Socket Patterns (BodyMuzzleSocketPatterns) | TArray<FString> | (4 entries) | Body Mesh Weapons | D-185 addendum 2: socket or bone name patterns of a gun's muzzle on a body mesh that includes its weapon (hero-shooter style characters, leader-pose weapon parts). Wildcards * and ?, case-insensitive; a plain word matches when the name contains it. | |
Body Tip Socket Patterns (BodyTipSocketPatterns) | TArray<FString> | (6 entries) | Body Mesh Weapons | Socket or bone name patterns of a melee weapon's tip on a body mesh that includes its weapon. | |
Fit Search Folders (FitSearchFolders) | TArray<FString> | (1 entries) | Fit Weapon | Where Fit Weapon's Apply to Category looks for looks, items, weapon presentations and skeletons (long package paths). | |
Fit Weapon Min Confidence (FitWeaponMinConfidence) | float | 0.500000 | Fit Weapon | The Fit Weapon tab lists meshes the weapon library classifies as weapons with at least this confidence (plus every mesh a weapon presentation uses). | |
Max Grip Offset (MaxGripOffset) | float | 10.000000 | Fit Weapon | Validate: the weapon's grip must sit within this distance of the palm (else the weapon is reported as offset). | |
Weapon Socket Angle Tolerance (WeaponSocketAngleTolerance) | float | 3.000000 | Fit Weapon | Apply to Category: ... and within this angle. | |
Weapon Socket Tolerance (WeaponSocketTolerance) | float | 1.000000 | Fit Weapon | Apply to Category: a weapon whose pivot would sit within this distance of its category socket's needs no socket of its own. | |
Generated Holds (GeneratedHolds) | TArray<FRSEGeneratedHoldRule> | (7 entries) | Generated Holds | How each hold type is generated from a skeleton's reference pose (skeletons without a profile, Generate Holds). | |
Enabled (bEnabled) | bool | True | Hold | Weapon parts of looks and worn weapon items attach through the hold: the hand socket of the hold type, the weapon's grip, then the part's own transform as a fine offset. Off = parts attach with their raw transform (before D-185). CVar: RSE.Weapons.Hold. | |
Fallback Hold Type (FallbackHoldType) | ERSEWeaponHoldType | OneHandMelee | Hold | Hold of weapons whose presentation and kind say nothing (a weapon part without a presentation). | |
Profiles (Profiles) | TArray<TSoftObjectPtr<URSEWeaponHoldProfile> > | (0 entries) | Hold | Hold profiles of the project's skeletons (a look without its own uses the one whose Skeleton matches its body). | |
Procedural Recoil (bProceduralRecoil) | bool | True | Recoil | D-185 addendum 2: guns without a fire clip kick with a procedural recoil (spine and arm pitch). CVar: RSE.Weapons.Recoil. | |
Recoil Arm Bone Names (RecoilArmBoneNames) | TArray<FString> | (7 entries) | Recoil | Names of the weapon arm bone the recoil pitches up (the right upper arm), tried in order. | |
Recoil Defaults (RecoilDefaults) | TArray<FRSEWeaponRecoilDefault> | (3 entries) | Recoil | The kick per hold type (a hold profile may override it). Hold types without an entry use the recoil struct's defaults. | |
Recoil Spine Bone Names (RecoilSpineBoneNames) | TArray<FString> | (6 entries) | Recoil | Names of the bone the recoil pitches back (the upper spine), tried in order. | |
Use Skeleton Sockets (bUseSkeletonSockets) | bool | True | Skeleton Sockets | Skeleton sockets drive the right hand (D-185 addendum, Tools -> RPG Saga Engine -> Fit Weapon): a skeleton that has the socket of a weapon's hold type (Hold Sockets), or that weapon's own socket (Weapon Socket Prefix + mesh name), holds the weapon with its PIVOT on that socket, exactly as the Skeleton Editor previews it. Without one, the profile / generated hold applies. CVar: RSE.Weapons.Hold.SkeletonSockets. | |
Hold Sockets (HoldSockets) | TArray<FRSEHoldSocketName> | (7 entries) | Skeleton Sockets | The socket name of each hold type on the skeletons (parented to the hand bone of the hold: bows in the left hand). | |
Weapon Socket Prefix (WeaponSocketPrefix) | FString | RSE_W_ | Skeleton Sockets | Prefix of a weapon's own socket on a skeleton (prefix + the weapon mesh's name, e.g. RSE_W_SK_AR4): for weapons whose pivot sits elsewhere than their category's. It wins over the hold type's socket. Apply to Category writes them. | |
Index Finger Words (IndexFingerWords) | TArray<FString> | (2 entries) | Skeletons | ||
Left Hand Bone Names (LeftHandBoneNames) | TArray<FString> | (8 entries) | Skeletons | ||
Metacarpal Words (MetacarpalWords) | TArray<FString> | (1 entries) | Skeletons | Words of metacarpal bones (they start at the wrist, not at the knuckles): skipped when the knuckles are measured. | |
Middle Finger Words (MiddleFingerWords) | TArray<FString> | (2 entries) | Skeletons | Finger bone words (children of the hand) used to generate holds: the middle finger, the index, the pinky, the thumb. | |
Pinky Finger Words (PinkyFingerWords) | TArray<FString> | (4 entries) | Skeletons | ||
Right Hand Bone Names (RightHandBoneNames) | TArray<FString> | (8 entries) | Skeletons | Names of the right hand bone, tried in order (exact, case-insensitive, then contained). | |
Thumb Words (ThumbWords) | TArray<FString> | (1 entries) | Skeletons | ||
Upper Body Bone Names (UpperBodyBoneNames) | TArray<FString> | (5 entries) | Skeletons | Names of the first upper body bone (stance overlays, procedural recoil). | |
Default Ready Mode (DefaultReadyMode) | ERSEStanceReadyMode | UpperBody | Stance | D-185 addendum 2: how stance Ready clips play for looks without a hold profile (profiles have their own Default Ready Mode). | |
Gun Reject Clip Words (GunRejectClipWords) | TArray<FString> | (20 entries) | Stance | Words that keep a clip from playing as a gun's shot (melee swings mis-sorted as attacks): matched against the clip name's words like Idle Reject Words. A gun without a fitting fire clip kicks with the procedural recoil instead. | |
Stance Blend Time (StanceBlendTime) | float | 0.200000 | Stance | Seconds the upper body stance blends in and out (it fades while attacks, hits and knock-outs play). | |
Idle Reject Words (IdleRejectWords) | TArray<FString> | (24 entries) | Stance Idle | Words that make a clip unfit as a standing stance idle (prone, crouch, death, sit...): matched against the words of the clip's name (split on _ - spaces, digits and capitals; a word matches when it starts with one of these). The Fit Weapon preview, the Workbench and the character pack idle mapping skip such clips; without a fitting idle, the reference pose shows. | |
Support Hand IK (bSupportHandIK) | bool | True | Support Hand IK | The support hand reaches the weapon (two-bone IK) for holds that ask for it. CVar: RSE.Weapons.SupportHandIK. | |
Support Hand Rotation (bSupportHandRotation) | bool | True | Support Hand IK | D-185 addendum 2: the support hand also turns to the weapon's LeftHand socket rotation (the Hand Rotation node after the Two Bone IK), so the fingers wrap under the handguard. Off = the IK places the wrist only. CVar: RSE.Weapons.SupportHandRotation. | |
Support Hand Rotations (SupportHandRotations) | TArray<FRSESupportHandRotation> | (2 entries) | Support Hand IK | The support hand's orientation per hold type, relative to the weapon's LeftHand socket (a hold profile may override it). | |
Min Barrel Forward Dot (MinBarrelForwardDot) | float | 0.700000 | Validation | Validation: the barrel must point forward in the ready pose (dot of grip-to-muzzle with the character's forward at least this). | |
Support Hand Tolerance (SupportHandTolerance) | float | 8.000000 | Validation | Validation: the support hand must end within this distance of the weapon's support point (Fit Weapon's Validate checks it in the stance idle). | |
Grip Heuristics (GripHeuristics) | TArray<FRSEGripHeuristic> | (7 entries) | Weapon Grips | Where grips are measured on meshes without sockets or a stored grip, per hold type. | |
Grip Socket Words (GripSocketWords) | TArray<FString> | (3 entries) | Weapon Grips | Socket or bone words of a weapon's grip (where the palm holds it; X forward, Z up). | |
Support Socket Words (SupportSocketWords) | TArray<FString> | (5 entries) | Weapon Grips | Socket or bone words of a weapon's support point (where the other hand goes). | |
Tip Socket Words (TipSocketWords) | TArray<FString> | (4 entries) | Weapon Grips | Socket or bone words of a muzzle or blade tip. | |
Weapon Grip Socket (WeaponGripSocket) | FName | Grip | Weapon Sockets | Socket on a weapon mesh where the right hand holds it (X = barrel / blade forward, Z = top / edge). Wins over stored and measured grips. | |
Weapon Muzzle Socket (WeaponMuzzleSocket) | FName | Muzzle | Weapon Sockets | Socket on a gun where shots leave. | |
Weapon Support Socket (WeaponSupportSocket) | FName | LeftHand | Weapon Sockets | Socket on a weapon mesh where the support (left) hand goes: the support hand IK target. Move it in the mesh editor to tweak the left hand. | |
Weapon Tip Socket (WeaponTipSocket) | FName | Tip | Weapon Sockets | Socket on a melee weapon at its tip (blade or head). |
RPG Saga Engine: Weapon Library
Class URSEWeaponLibrarySettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Weapon Library settings (D-184): how weapon meshes are classified and where their presentations are written.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Anim Weapons (AnimWeapons) | TArray<FRSEWeaponKindAnimTag> | (12 entries) | Animations | The library's weapon tag of each kind (its fire, aim, reload and attack clips are picked by it). | |
Accessory Words (AccessoryWords) | TArray<FString> | (18 entries) | Classification | Words of parts and accessories that are not weapons (magazines, scopes, holsters, ammo). | |
Shape Overrides Name (bShapeOverridesName) | bool | True | Classification | D-185 addendum 2: a mesh named like a melee weapon whose SHAPE is a handgun (a grip hanging below a short barrel, flat sideways) is a Pistol (pack names like "..._Mace" for a revolver). Off = the name alone decides. | |
Folder Weight (FolderWeight) | float | 0.500000 | Classification | ||
Gun Outline Ratio (GunOutlineRatio) | float | 2.500000 | Classification | Shape check: how much more the bottom must step between the two ends than the top (a gun's grip hangs below a level slide). | |
Max Handgun Length (MaxHandgunLength) | float | 45.000000 | Classification | Shape check: the longest a handgun can be (cm); longer gun shapes stay what their name says. | |
Max Handgun Width Ratio (MaxHandgunWidthRatio) | float | 0.550000 | Classification | Shape check: a handgun is at most this wide relative to its height (flat sideways; a mace head is round). | |
Review Threshold (ReviewThreshold) | float | 0.500000 | Classification | Below this confidence the classification is reported for review (it is still used). | |
Rules (Rules) | TArray<FRSEWeaponWordRule> | (15 entries) | Classification | Name words per weapon kind (name words count fully, folder words at Folder Weight). | |
Shape Check Kinds (ShapeCheckKinds) | TArray<ERSEWeaponKind> | (2 entries) | Classification | Shape check: the name kinds the shape may overrule (a "mace" or an unnamed mesh shaped like a revolver). Blades and axes are left out: a hatchet's head steps down like a pistol grip. | |
Output Folder (OutputFolder) | FDirectoryPath | () | Output | Folder of the weapon presentations made for meshes (empty = the Animation & FX Library folder + /Weapons). Project content only. | |
Muzzle Socket Words (MuzzleSocketWords) | TArray<FString> | (4 entries) | Sockets | Socket name words of a muzzle (the first socket whose name holds one is the muzzle). | |
Shell Socket Words (ShellSocketWords) | TArray<FString> | (4 entries) | Sockets | Socket name words of a shell ejection port. | |
Hold Anim Weapons (HoldAnimWeapons) | TArray<FRSEHoldAnimWeapons> | (7 entries) | Stance Suggestions | D-185 addendum 2: the library weapon tags of each hold type (Suggest Stance Animations picks their clips). | |
Max Swing Variants (MaxSwingVariants) | int32 | 3 | Stance Suggestions | How many clips a swing slot takes (the first is the main clip, the others its variants). | |
Stance Reject Flags (StanceRejectFlags) | FGameplayTagContainer | (GameplayTags=((TagName="AnimLibrary.Flag.Crouch"),(TagName="AnimLibrary.Flag.Air"))) | Stance Suggestions | Library flags that keep a clip out of every stance slot (crouched, airborne). | |
Stance Role Categories (StanceRoleCategories) | TArray<FRSEStanceRoleCategory> | (7 entries) | Stance Suggestions | The library categories that fill each stance slot. |
RPG Saga Engine: Weapon Presentation
Class URSEWeaponPresentationSettings (module RSE), Project Settings, Project, RPG Saga Engine. How weapons look in battles (D-184, docs/product/weapons.md): the presentations per weapon kind and equipment type, the defaults for units without a weapon of their own, the surfaces of units and of the world, and the shared tracer look.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Decal Lifetime (DecalLifetime) | float | 8.000000 | Shots | Seconds a world decal (bullet hole, scorch) stays. | |
Default Tracer Material (DefaultTracerMaterial) | TSoftObjectPtr<UMaterialInterface> | /RPGSagaEngine/Visual/Feel/M_RSE_FXGlow.M_RSE_FXGlow | Shots | Material of tracers without their own (its "Color" and "Intensity" parameters are set). | |
Default Tracer Mesh (DefaultTracerMesh) | TSoftObjectPtr<UStaticMesh> | /RPGSagaEngine/Visual/Weapons/SM_RSE_TracerStreak.SM_RSE_TracerStreak | Shots | Mesh of tracers and projectiles without their own (a glowing streak). | |
Max Tracers Per Attack (MaxTracersPerAttack) | int32 | 24 | Shots | Most tracers one attack draws (bursts times pellets; performance cap on low-end hardware). | |
Tracer Intensity (TracerIntensity) | float | 8.000000 | Shots | Brightness given to the tracer material's "Intensity". | |
Unarmed Shot Anchor (UnarmedShotAnchor) | FGameplayTag | (TagName="Appearance.Anchor.Chest") | Shots | D-185 addendum 2: where units that hold no gun fire ranged attacks from (the chest or a hand; a look's Unarmed Shot Anchor wins). Units holding a gun or a bow fire from its muzzle. | |
Default Unit Surface (DefaultUnitSurface) | FGameplayTag | (TagName="Surface.Flesh") | Surfaces | The surface of units (unless their actor tags or the character's Personal Traits name a Surface.* tag). Blood-free by default. | |
Default World Surface (DefaultWorldSurface) | FGameplayTag | (TagName="Surface.Stone") | Surfaces | The surface of world hits whose physical material has no entry below. | |
Physical Surfaces (PhysicalSurfaces) | TArray<FRSEPhysicalSurfaceTag> | (0 entries) | Surfaces | ||
Approach Defaults (bApproachDefaults) | bool | True | Weapons | Units with no weapon presentation (monsters, placeholder units) still show a swing or a shot: melee attacks use Default Melee, ranged attacks Default Ranged. Off = they keep the plain procedural pose. | |
Enabled (bEnabled) | bool | True | Weapons | Attacks show their weapon (animations, flashes, tracers, trails, impacts) in timelines built by default and in Weapon Attack cues. | |
Default Melee (DefaultMelee) | TSoftObjectPtr<URSEWeaponPresentation> | /RPGSagaEngine/Data/Weapons/DA_WeaponPresentation_DefaultMelee.DA_WeaponPresentation_DefaultMelee | Weapons | ||
Default Ranged (DefaultRanged) | TSoftObjectPtr<URSEWeaponPresentation> | /RPGSagaEngine/Data/Weapons/DA_WeaponPresentation_DefaultRanged.DA_WeaponPresentation_DefaultRanged | Weapons | ||
Equipment Type Kinds (EquipmentTypeKinds) | TArray<FRSEEquipmentTypeWeaponKind> | (7 entries) | Weapons | The weapon kind of equipment types (items without a presentation of their own). | |
Kind Presentations (KindPresentations) | TArray<FRSEWeaponKindPresentation> | (13 entries) | Weapons | The presentation of each weapon kind (an item without its own uses its kind's). |
RPG Saga Engine: Weather
Class URSEWeatherSettings (module RSECore), Project Settings, Project, RPG Saga Engine. The weather (D-101): the weather types, the default weather table, transitions.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Weather Enabled (bWeatherEnabled) | bool | True | Weather | The weather changes on its own (off: only effects and commands change it). | |
Default Table (DefaultTable) | TSoftObjectPtr<URSEWeatherTableData> | /RPGSagaEngine/Data/Weather/DA_WeatherTable_Temperate.DA_WeatherTable_Temperate | Weather | Table of levels that name none (per level: the Time of Day actor or a weather volume). | |
Default Transition Seconds (DefaultTransitionSeconds) | float | 30.000000 | Weather | Transition of Set Weather when neither the effect nor the weather type gives one. | |
Default Weather (DefaultWeather) | FGameplayTag | (TagName="Weather.Clear") | Weather | Weather of a new game when no table gives one. | |
Seed (Seed) | int32 | 0 | Weather | Seed of the weather rolls (0 = a new random seed for each new game). | |
Weather Types (WeatherTypes) | TArray<TSoftObjectPtr<URSEWeatherTypeData> > | (6 entries) | Weather | Every weather type of the game (a tag not listed here cannot be set). |
RPG Saga Engine: Weather Visuals
Class URSEWeatherVisualSettings (module RSE), Project Settings, Project, RPG Saga Engine. Weather presentation (D-101): precipitation around the camera, ground wetness and snow, wind, lightning and thunder, weather sounds, where weather is hidden.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Weather Darkness Kept (WeatherDarknessKept) | float | 0.200000 | Exposure | Share of the sunlight a weather takes away (its Sun Light) that eye adaptation does not give back, by day. 0 = the camera adapts fully (a noon storm looks almost as bright as a clear day, washed out and white); 1 = no adaptation. | |
Drying Rate (DryingRate) | float | 0.010000 | Ground | Drying per second toward a drier weather. | |
Snow Melt Rate (SnowMeltRate) | float | 0.008000 | Ground | ||
Snow Settle Rate (SnowSettleRate) | float | 0.020000 | Ground | ||
Wetting Rate (WettingRate) | float | 0.050000 | Ground | Ground wetness per second toward a wetter weather (0..1 a second). | |
Flash Color (FlashColor) | FLinearColor | (R=0.750000,G=0.820000,B=1.000000,A=1.000000) | Lightning | ||
Flash Exposure (FlashExposure) | float | 0.150000 | Lightning | Exposure added at the peak of a flash (EV). | |
Flash Light Intensity (FlashLightIntensity) | float | 2.500000 | Lightning | Lightning flash brightness of the sky light and the key light (x the weather's Flash Intensity). D-104: 2.5 (was 30, which lit a storm like a sunny noon for the length of a strike). | |
Flash Seconds (FlashSeconds) | float | 0.600000 | Lightning | Length of a strike (two quick flickers). | |
Flash Sky Brightness (FlashSkyBrightness) | float | 1.500000 | Lightning | How much a flash brightens the sky itself (the atmosphere's luminance: 1 + Flash x this). | |
Covered Sound Volume (CoveredSoundVolume) | float | 0.450000 | Occlusion | Weather sounds under a roof (0..1). | |
Occlusion Channel (OcclusionChannel) | TEnumAsByte<ECollisionChannel> | ECC_Visibility | Occlusion | ||
Occlusion Check Interval (OcclusionCheckInterval) | float | 0.250000 | Occlusion | How often the camera checks for a roof or a no-weather volume. | |
Occlusion Trace Distance (OcclusionTraceDistance) | float | 3000.000000 | Occlusion | A roof within this height above the camera hides the rain (0 = volumes only). | |
Full Particles From (FullParticlesFrom) | int32 | 2 | Precipitation | Effects quality below which the weather types' Particles Low are used (Low 0, Medium 1, High 2, Epic 3). | |
Precipitation Fade Seconds (PrecipitationFadeSeconds) | float | 1.500000 | Precipitation | Precipitation fades in / out over this time (weather changes, going under a roof). | |
Sound Fade Seconds (SoundFadeSeconds) | float | 2.000000 | Sound | Weather sounds fade (seconds). | |
Wind Direction (WindDirection) | FVector2D | (X=1.000000,Y=0.350000) | Wind | Direction the wind blows toward (world X / Y). |
RPG Saga Engine: Wizards
Class URSEWizardSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. Defaults of the "Create New" wizards and of the New RPG Project wizard (D-061, docs/design/editors.md).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Ability Templates (AbilityTemplates) | TArray<FRSEWizardAbilityTemplate> | (18 entries) | Ability | Templates of the Ability wizard (and of the Item wizard's use ability). | |
Enemy Character Template (EnemyCharacterTemplate) | TSoftObjectPtr<URSECharacterData> | (set per project) | Character | Template of an enemy (AI profile, loot, bestiary fields). | |
Party Character Template (PartyCharacterTemplate) | TSoftObjectPtr<URSECharacterData> | (set per project) | Character | Template of a party character (main or secondary). | |
Blank Class Stats (BlankClassStats) | TMap<FGameplayTag,FRSEStatGrowth> | (11 entries) | Class | Stat growth of a blank class (no template). Must give MaxHP, Speed and Action Points a Base above 0. | |
Class Tag Root (ClassTagRoot) | FString | Class | Class | Parent of new class tags: typed in the Class wizard, or made by the Studio for a class made from a hero archetype ("Class" -> Class.Paladin, D-136). | |
Class Tag Source (ClassTagSource) | FString | FF_Characters.ini | Class | Tag file of the project (Config/Tags/<file>) new class tags are written to. Must not be the name of a plugin's tag file (the plugin's own are RSE_Characters.ini, RSE_Abilities.ini...): wizards never write into plugins (D-136). | |
Class Template (ClassTemplate) | TSoftObjectPtr<URSEClassData> | None | Class | Class copied by the Class wizard (empty = a blank class with the stats below). | |
Default Speaker (DefaultSpeaker) | TSoftObjectPtr<URSESpeakerData> | None | Dialog | Speaker of the first line (empty = narrator). | |
Dialog End Node Id (DialogEndNodeId) | FName | end | Dialog | ||
Dialog Entry Node Id (DialogEntryNodeId) | FName | start | Dialog | --- Dialog --- | |
Default Battle Mode (DefaultBattleMode) | FGameplayTag | (TagName="Battle.Mode.Tactics") | Encounter | --- Encounter --- | |
Default Enemies (DefaultEnemies) | TArray<TSoftObjectPtr<URSECharacterData> > | (2 entries) | Encounter | Enemies pre-filled in a new encounter. | |
Deployment Step (DeploymentStep) | FRSEGridCoord | (X=1) | Encounter | ||
Deployment Tile Count (DeploymentTileCount) | int32 | 6 | Encounter | ||
Enemy Step (EnemyStep) | FRSEGridCoord | (X=1) | Encounter | ||
Enemy Team (EnemyTeam) | FGameplayTag | (TagName="Team.Enemy") | Encounter | ||
First Deployment Coord (FirstDeploymentCoord) | FRSEGridCoord | (X=4,Y=1) | Encounter | Tactics: first deployment tile of the player; the next ones follow DeploymentStep. | |
First Enemy Coord (FirstEnemyCoord) | FRSEGridCoord | (X=4,Y=9) | Encounter | Tactics: tile of the first enemy; the next ones follow EnemyStep. | |
Player Team (PlayerTeam) | FGameplayTag | (TagName="Team.Player") | Encounter | ||
Open After Create (bOpenAfterCreate) | bool | True | General | Default of the wizards' "Open after create" box. | |
Register Folders with Asset Manager (bRegisterFoldersWithAssetManager) | bool | True | General | Default of the wizards' "Register folder with the Asset Manager" box: when the chosen folder is not scanned for the asset's primary asset type, it is added (Project Settings -> Asset Manager, DefaultGame.ini). Without it the game cannot find the asset by its id (saves, rules profiles, bestiary). | |
Save After Create (bSaveAfterCreate) | bool | True | General | Default of the wizards' "Save" box (off = the new asset stays unsaved in the editor). | |
Writable Roots (WritableRoots) | TArray<FString> | (1 entries) | General | Content roots new assets may go to besides project plugins (never engine or marketplace plugins, which are read-only). | |
Consumable Ability Template (ConsumableAbilityTemplate) | FName | ItemHeal | Item | Ability template of a new consumable's use ability (an Id of Ability Templates). | |
Default Equipment Slot (DefaultEquipmentSlot) | FGameplayTag | (TagName="Equip.Slot.Weapon") | Item | ||
Default Equipment Type (DefaultEquipmentType) | FGameplayTag | (TagName="Equip.Type.Weapon.Sword") | Item | ||
Default Item Price (DefaultItemPrice) | int32 | 50 | Item | Shop price of a new consumable or equipment piece. | |
Equipment Template (EquipmentTemplate) | TSoftObjectPtr<URSEEquipmentData> | /RPGSagaEngine/Data/Items/DA_Equip_IronSword.DA_Equip_IronSword | Item | Equipment copied by the Item wizard (empty = blank equipment with the slot and type below). | |
ATBStage Offset (ATBStageOffset) | FVector | (X=-900.000000,Y=-1000.000000,Z=0.000000) | New Project | ||
Classic Trigger Offset (ClassicTriggerOffset) | FVector | (X=1000.000000,Y=-600.000000,Z=0.000000) | New Project | ||
Data Subfolder (DataSubfolder) | FString | Data | New Project | Data subfolder of the project root (content types go to <Root>/<Data>/<type folder>). | |
Default Cultures (DefaultCultures) | TArray<FString> | (1 entries) | New Project | Culture codes proposed for localization (the first is the native one). | |
Default Project Root (DefaultProjectRoot) | FDirectoryPath | (set per project) | New Project | Content root proposed by the New RPG Project wizard. | |
Example Map (ExampleMap) | TSoftObjectPtr<UWorld> | /RPGSagaEngine/Examples/Maps/L_RSE_StarterExample.L_RSE_StarterExample | New Project | The framework's example map (D-070: the starter set's zone 1): the wizard offers to open it, or to start the project from a copy of it (Start From Example Map) instead of an empty first map. | |
Exploration Game Mode (ExplorationGameMode) | TSoftClassPtr<AGameModeBase> | /Script/RSE.RSEExplorationGameMode | New Project | ||
First Map Name (FirstMapName) | FString | L_Start | New Project | ||
Floor Mesh (FloorMesh) | TSoftObjectPtr<UStaticMesh> | /Engine/BasicShapes/Cube.Cube | New Project | Floor of the starter maps (an engine shape by default). | |
Floor Scale (FloorScale) | FVector | (X=40.000000,Y=40.000000,Z=1.000000) | New Project | ||
Genre Presets (GenrePresets) | TArray<FRSEWizardGenrePreset> | (5 entries) | New Project | ||
Main Menu Game Mode (MainMenuGameMode) | TSoftClassPtr<AGameModeBase> | /Script/RSE.RSEFrontEndGameMode | New Project | ||
Main Menu Map Name (MainMenuMapName) | FString | L_MainMenu | New Project | ||
Maps Subfolder (MapsSubfolder) | FString | Maps | New Project | ||
NPCOffset (NPCOffset) | FVector | (X=500.000000,Y=300.000000,Z=0.000000) | New Project | ||
Save Point Offset (SavePointOffset) | FVector | (X=400.000000,Y=-300.000000,Z=0.000000) | New Project | Starter map layout, relative to the PlayerStart (cm). The Tactics zone and the classic stage stand on the floor (Z = 0) and must fit on it with the stage's camera (FloorScale x 100 cm square, D-072). | |
Starter Content Folders (StarterContentFolders) | TArray<FDirectoryPath> | (0 entries) | New Project | Folders copied into the project root by "Copy starter content" (references between them are kept). | |
Starter Party Templates (StarterPartyTemplates) | TArray<TSoftObjectPtr<URSECharacterData> > | (3 entries) | New Project | Characters copied as the starter party (they become Party -> Starting Members). | |
Tactics Trigger Offset (TacticsTriggerOffset) | FVector | (X=1000.000000,Y=600.000000,Z=0.000000) | New Project | ||
Tactics Zone Offset (TacticsZoneOffset) | FVector | (X=700.000000,Y=700.000000,Z=0.000000) | New Project | ||
Theme Presets (ThemePresets) | TArray<FRSEWizardThemePreset> | (3 entries) | New Project | ||
Default Summon Character (DefaultSummonCharacter) | TSoftObjectPtr<URSECharacterData> | (set per project) | Pact | Summoned unit pre-filled in a new Pact (not a main character). | |
Summon Ability Template (SummonAbilityTemplate) | TSoftObjectPtr<URSEAbilityData> | (set per project) | Pact | Ability copied as a new Pact's summon ability (must have a Summon effect and target Self). | |
Default Quest Category (DefaultQuestCategory) | FGameplayTag | (TagName="Quest.Category.Side") | Quest | --- Quest --- | |
First Objective Id (FirstObjectiveId) | FName | Objective1 | Quest | ||
First Stage Id (FirstStageId) | FName | Start | Quest | ||
Success Outcome Id (SuccessOutcomeId) | FName | Success | Quest | ||
Default Shop Stock (DefaultShopStock) | TArray<TSoftObjectPtr<URSEItemData> > | (3 entries) | Shop | Stock pre-filled in a new shop (items without a price are skipped). |
RPG Saga Engine: World Partition
Class URSEWorldPartitionSettings (module RSE), Project Settings, Project, RPG Saga Engine. World Partition support (D-174, docs/design/save-system.md "World Partition"): Project Settings -> RPG Saga Engine -> World Partition.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Battle Streaming Margin (BattleStreamingMargin) | float | 2000.000000 | Battles | Kept loaded beyond the battle area's own radius (cm). | |
Keep Battle Cells Loaded (bKeepBattleCellsLoaded) | bool | True | Battles | A battle on the live map keeps the cells around it loaded (a streaming source at the battle's center) until it ends, so its units, cover and doors do not unload while the camera or the party moves away. Off: the players' streaming sources only. | |
Min Battle Streaming Radius (MinBattleStreamingRadius) | float | 5000.000000 | Battles | The smallest radius kept loaded around a battle (cm): battles whose area has no size (Free Tactics) use it. | |
Auto Assign State Keys (bAutoAssignStateKeys) | bool | True | Editor | The editor gives every placed or duplicated object that keeps saved state (triggers, spawners, traps, locks, interactables, building entrances) its own State Key, unique in the map. Off: keys only from RPG Saga Engine -> Fix State Keys. | |
Keep Exterior Loaded Inside (bKeepExteriorLoadedInside) | bool | True | Interiors | While the party is inside, the cells around the building entrance stay loaded (a streaming source at the door), so the way out is there at once and the entrance, its neighbours and their saved state do not unload and reload. Off: the cells stream out, and the way out waits under the blackout until the door streamed in again (Exit Stream Wait Seconds). | |
Move Interiors Off the Map (bMoveInteriorsOffTheMap) | bool | True | Interiors | Separate interiors on a partitioned map load at Interior Origin (below) instead of the Buildings settings' origin: the player's streaming source goes there with the party, and the Buildings origin can lie over real cells of a large map (they would load for nothing while the party is inside). Off: the Buildings settings' origin. | |
Exit Stream Poll Interval (ExitStreamPollInterval) | float | 0.100000 | Interiors | How often the way out checks whether the cells at the door loaded (s). | |
Exit Stream Wait Seconds (ExitStreamWaitSeconds) | float | 15.000000 | Interiors | The way out of an interior waits (under the blackout) for the cells at the door to load, at most this long (s); then it goes on anyway. | |
Exterior Streaming Radius (ExteriorStreamingRadius) | float | 3000.000000 | Interiors | The radius of cells kept loaded around the door while inside, and waited for on the way out (cm). | |
Interior Origin (InteriorOrigin) | FVector | (X=1000000.000000,Y=1000000.000000,Z=100000.000000) | Interiors | Where the first interior's level instance sits on a partitioned map (cm). Keep it away from the playable area (no cells there) and within about 10 km of the origin (floats stay precise); the Buildings settings' spacing and slots apply from here. | |
Entrance Stream Wait Seconds (EntranceStreamWaitSeconds) | float | 10.000000 | Saves | A save made inside an interior: seconds the interior waits for its building entrance to stream in (a partitioned world loads the cells around the party after the map begins play). After that the visit is over and the party stands outside. |
RPG Saga Engine: World Reactions
Class URSEWorldReactionSettings (module RSECore), Project Settings, Project, RPG Saga Engine. Project Settings -> RPG Saga Engine -> World Reactions (D-157): the rules, the reach of field casts, the texts.
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Battle Radius Padding (BattleRadiusPadding) | float | 150.000000 | Battle | Battle: an ability that lands within its area (Free Tactics radius) plus this padding changes the world objects there (cm). | |
Battle Abilities React (bBattleAbilitiesReact) | bool | True | Battle | Battle abilities change the world on the live map (off = only field casts do). | |
Default Field Radius (DefaultFieldRadius) | float | 900.000000 | Field | Field casts of abilities without their own World Radius reach this far around the caster (cm). | |
Max Targets Per Cast (MaxTargetsPerCast) | int32 | 12 | Field | At most this many objects react to one cast (the nearest first; 0 = no limit). | |
Rules (Rules) | TArray<FRSEWorldReactionRule> | (6 entries) | Rules | The rules (higher Priority first, then in order). The first rule an object matches decides. | |
Nothing Reacts Text (NothingReactsText) | FText | NSLOCTEXT("RSEWorldReactions", "NothingReacts", "Nothing here reacts to it.") | Texts | Said when a field cast finds nothing that reacts (nothing is spent). | |
Surroundings Target Text (SurroundingsTargetText) | FText | NSLOCTEXT("RSEWorldReactions", "SurroundingsTarget", "The surroundings") | Texts | The party menu's target entry for a cast on the surroundings. |
RPG Saga Engine: World Tools
Class URSEWorldToolsSettings (module RSEEditor), Project Settings, Project, RPG Saga Engine. World tools of D-076 (docs/product/world-tools.md): "Make Battle Zone Here" (a ready Tactics battle site, optionally with an ATB stage) and "Populate Zone" (random areas, visible enemies, chests, a save point, a trader, placeholders).
| Setting | Type | Default | Category | Restart | Description |
|---|---|---|---|---|---|
Add Stage by Default (bAddStageByDefault) | bool | True | Battle Site|ATB Stage | Also looks for a flat, clear place for a classic battle stage next to the zone. | |
Stage Camera View Distance (StageCameraViewDistance) | float | 6000.000000 | Battle Site|ATB Stage | The stage camera must see the level within this distance. | |
Stage Clearance (StageClearance) | float | 200.000000 | Battle Site|ATB Stage | Free height above every slot (no roof, branch or wall over the formation). | |
Stage Gap (StageGap) | float | 300.000000 | Battle Site|ATB Stage | Free space kept between the zone and the stage's area. | |
Stage Search Angles (StageSearchAngles) | int32 | 16 | Battle Site|ATB Stage | Directions tried on each ring. | |
Stage Search Radius (StageSearchRadius) | float | 5000.000000 | Battle Site|ATB Stage | How far from the zone the stage may go. | |
Stage Search Step (StageSearchStep) | float | 250.000000 | Battle Site|ATB Stage | Distance between two search rings. | |
Stage Slot Tolerance (StageSlotTolerance) | float | 5.000000 | Battle Site|ATB Stage | Largest distance between a formation slot and the ground under it (the stage is flat). | |
Add Trigger by Default (bAddTriggerByDefault) | bool | True | Battle Site|Encounter | Adds an encounter trigger on the deployment tiles (walking in starts the battle). | |
Deployment Tile Count (DeploymentTileCount) | int32 | 8 | Battle Site|Encounter | Deployment tiles painted on the player's side (at least the encounter's Max Deployed Units). | |
Enemy Area Depth (EnemyAreaDepth) | float | 0.650000 | Battle Site|Encounter | Where the enemy group gathers (D-088), from the deployment (0) to the farthest tile the party can walk to (1). The group stays together around one tile, not along the back line. A request's Enemy Area Center overrides it. | |
Enemy Area Depth Tolerance (EnemyAreaDepthTolerance) | float | 0.150000 | Battle Site|Encounter | Any tile within this share of the farthest walking distance from Enemy Area Depth is as good (other preferences decide). | |
Enemy Edge Margin (EnemyEdgeMargin) | int32 | 1 | Battle Site|Encounter | The enemy group keeps this many tiles away from the zone's border when the grid allows it. | |
Enemy High Ground Preference (EnemyHighGroundPreference) | float | 1.000000 | Battle Site|Encounter | How much the enemy group prefers high ground (per height step above the deployment). 0 = ignore height. | |
Enemy Min Distance from Deployment (EnemyMinDistanceFromDeployment) | int32 | 4 | Battle Site|Encounter | Enemies stand at least this many tiles from any deployment tile when the grid allows it. | |
Enemy Min Spacing (EnemyMinSpacing) | int32 | 2 | Battle Site|Encounter | Enemies stand at least this many tiles apart (Manhattan) when the grid allows it. | |
Generated Enemy Count (GeneratedEnemyCount) | int32 | 0 | Battle Site|Encounter | Enemies of a group generated from a progression zone; 0 = the pool's group size. | |
New Encounter Folder (NewEncounterFolder) | FDirectoryPath | (set per project) | Battle Site|Encounter | Folder of the encounters the tool creates (DA_Encounter_<Site>). | |
Site Folder (SiteFolder) | FString | BattleSites | Battle Site|Encounter | Outliner folder that holds every battle site (one sub-folder per site). | |
Site Name Prefix (SiteNamePrefix) | FString | BattleSite | Battle Site|Encounter | Name of a new site (a number is added): its actors, its Outliner folder and its encounter. | |
Snap to Tile Grid (bSnapToTileGrid) | bool | True | Battle Site|Zone | The zone's corner snaps to the world tile grid (zones placed side by side line up). | |
Default Size Preset (DefaultSizePreset) | int32 | 1 | Battle Site|Zone | Preset used by the viewport's context menu. | |
Ground Search Above (GroundSearchAbove) | float | 1500.000000 | Battle Site|Zone | How far above the area's reference point the ground search starts. | |
Ground Search Below (GroundSearchBelow) | float | 3000.000000 | Battle Site|Zone | How far below the area's reference point the ground search goes. | |
Max Connected Step (MaxConnectedStep) | int32 | 2 | Battle Site|Zone | Two walkable neighbors are connected when their heights differ by at most this many steps (regions, deployment). | |
Max Zone Tiles (MaxZoneTiles) | int32 | 32 | Battle Site|Zone | Largest zone side, in tiles. | |
Min Walkable Fraction (MinWalkableFraction) | float | 0.500000 | Battle Site|Zone | Below this share of walkable tiles the site is refused (the report says why). | |
Min Zone Tiles (MinZoneTiles) | int32 | 4 | Battle Site|Zone | Smallest zone side, in tiles (a dragged rectangle is never smaller). | |
Size Presets (SizePresets) | TArray<FRSEBattleSiteSizePreset> | (4 entries) | Battle Site|Zone | Sizes offered when the area is the camera focus or a click (not a dragged rectangle). | |
Building Mode Colors (BuildingModeColors) | TArray<FLinearColor> | (3 entries) | Building Analyzer | ||
Building Probe Headroom (BuildingProbeHeadroom) | float | 180.000000 | Building Analyzer | Free height a probe point needs above the floor to count as walkable inside (cm). | |
Building Probe Spacing (BuildingProbeSpacing) | float | 100.000000 | Building Analyzer | The interior probe grid's spacing inside a building's bounds (cm). | |
Entrance Folder (EntranceFolder) | FString | Buildings | Building Analyzer | Outliner folder of the entrances the analyzer places. | |
Interior Asset Folder (InteriorAssetFolder) | FString | (set per project) | Building Analyzer | Where the analyzer's new interior data assets go (Separate Interior proposals). | |
Default Populate Rules (DefaultPopulateRules) | TSoftObjectPtr<URSEPopulateRules> | None | Populate | Rules used when the Populate tool is given none (empty = the rules' built-in defaults). | |
Nav Mesh Volume Height (NavMeshVolumeHeight) | float | 2000.000000 | Populate | Height of the navigation bounds volume the tool adds around an area without a navmesh. | |
Populate Area from Point (PopulateAreaFromPoint) | float | 6000.000000 | Populate | Side of the square area Populate uses when the area is a point (a click or the camera focus). | |
Populate Folder Pattern (PopulateFolderPattern) | FString | Populate_{Zone} | Populate | Outliner folder of a populated zone: the text {Zone} is replaced by the progression zone's name. | |
Crossroad Merge (CrossroadMerge) | float | 300.000000 | Populate Interactions | ||
Crossroad Offset (CrossroadOffset) | float | 300.000000 | Populate Interactions | ||
Danger Edge Offset (DangerEdgeOffset) | float | 250.000000 | Populate Interactions | ||
Danger Threshold (DangerThreshold) | float | 1.000000 | Populate Interactions | A zone counts as dangerous at this danger (an enemy level) or above. | |
Existing Clearance (ExistingClearance) | float | 400.000000 | Populate Interactions | Existing objects (interactables, NPCs, exits, save points) are kept this far from new placements (cm). | |
Interactions Folder Pattern (InteractionsFolderPattern) | FString | Interactions_{Group} | Populate Interactions | Outliner folder of a Populate Interactions group: {Group} is replaced by the group's name. | |
Interaction Spot Colors (InteractionSpotColors) | TArray<FLinearColor> | (5 entries) | Populate Interactions | Preview marker colors by spot (Road, Crossroads, Danger Edge, Point Of Interest, Wilds). | |
Min Spacing Any (MinSpacingAny) | float | 400.000000 | Populate Interactions | ||
Point Of Interest Radius (PointOfInterestRadius) | float | 600.000000 | Populate Interactions | ||
Road Clearance (RoadClearance) | float | 500.000000 | Populate Interactions | ||
Road Preview Color (RoadPreviewColor) | FLinearColor | (R=0.850000,G=0.600000,B=0.250000,A=1.000000) | Populate Interactions | ||
Road Sample Step (RoadSampleStep) | float | 200.000000 | Populate Interactions | A road spline is sampled every this many cm. | |
Road Spacing (RoadSpacing) | float | 1500.000000 | Populate Interactions | Candidates along roads every this many cm (at density 1). | |
Road Tags (RoadTags) | TArray<FName> | (1 entries) | Populate Interactions | Actors with one of these tags whose spline is a road (else actors named with a Road Word). | |
Road Words (RoadWords) | TArray<FString> | (4 entries) | Populate Interactions | Words in an actor's label that make its spline a road (lower case). | |
Signpost Arm Cone (SignpostArmCone) | float | 50.000000 | Populate Interactions | A signpost arm names the point of interest within this angle of the road's way. | |
Spawner Danger Radius (SpawnerDangerRadius) | float | 1500.000000 | Populate Interactions | A visible enemy spawner makes the ground within this radius dangerous (cm). | |
Wilds Spacing (WildsSpacing) | float | 2500.000000 | Populate Interactions | ||
Camera Focus Distance (CameraFocusDistance) | float | 30000.000000 | Viewport | How far the camera focus looks for the ground. | |
Marker Size (MarkerSize) | float | 120.000000 | Viewport | Size of a Populate preview marker. | |
Surface Offset (SurfaceOffset) | float | 4.000000 | Viewport | Height of the drawn tiles above the ground (avoids flicker). | |
Area Color (AreaColor) | FLinearColor | (R=1.000000,G=0.850000,B=0.100000,A=1.000000) | Viewport|Colors | ||
Blocked Color (BlockedColor) | FLinearColor | (R=0.000000,G=0.000000,B=0.000000,A=0.450000) | Viewport|Colors | ||
Deployment Color (DeploymentColor) | FLinearColor | (R=0.150000,G=0.450000,B=1.000000,A=0.550000) | Viewport|Colors | ||
Enemy Color (EnemyColor) | FLinearColor | (R=1.000000,G=0.250000,B=0.200000,A=0.600000) | Viewport|Colors | ||
Populate Kind Colors (PopulateKindColors) | TArray<FLinearColor> | (7 entries) | Viewport|Colors | Marker colors of the Populate preview, by kind (Random Area, Spawner, Chest, Save Point, Trader, Signpost, Zone Exit). | |
Problem Color (ProblemColor) | FLinearColor | (R=1.000000,G=0.000000,B=0.600000,A=1.000000) | Viewport|Colors | ||
Stage Color (StageColor) | FLinearColor | (R=1.000000,G=0.550000,B=0.100000,A=1.000000) | Viewport|Colors | ||
Walkable Color (WalkableColor) | FLinearColor | (R=0.200000,G=0.800000,B=0.300000,A=0.250000) | Viewport|Colors |