Skip to content

Code and Blueprint scheme ​

Current UIForge implementation · 2026-10-27 · Unreal Engine 5.8.3. Compact source declarations plus a live Unreal reflection/asset export. The current product examples are under /Game/ForgeExamples. Historical prototypes and QA helpers are retained and listed, not presented as additional shipping features. See the current product gallery and status for runtime evidence.

1405 authored files · 3727 code declarations/definitions · 116 reflected types · 95 Blueprints · 117 graphs · 2014 nodes · 1150 Designer objects.

Folder and file map ​

Every authored file below is retained in the current workspace. Engine-generated build outputs, dependency installations, recovery archives and historical evidence are separated from product source; their exact filenames are included in the downloadable complete index. Repeated implementation entries are declarations/definitions of the same symbol, not additional runtime instances.

Complete searchable JSON index

text
C:/UEProjects/ashenforge-plugins/UIForge/Project/
  .gitignore — project support file
  AGENTS.md — documentation
  Config/
    DefaultEngine.ini — configuration
    DefaultGame.ini — configuration
    DefaultInput.ini — configuration
    Localization/
      ForgeExamples_Compile.ini — configuration
      ForgeExamples_Gather.ini — configuration
  Content/
    Art/
      M_EmberSigil.uasset — Unreal asset
      M_OutpostPalette.uasset — Unreal asset
    ForgeArt/
      MassForge/
        DarkCastle/
          Architecture/
            SM_MF_Blade01.uasset — Unreal asset
            SM_MF_CastleBanner01.uasset — Unreal asset
            SM_MF_CastleBondedDoorway400.uasset — Unreal asset
            SM_MF_CastleBondedDoorway600.uasset — Unreal asset
            SM_MF_CastleBrazier01.uasset — Unreal asset
            SM_MF_CastleNaveRib01.uasset — Unreal asset
            SM_MF_CastlePointedArch01.uasset — Unreal asset
            SM_MF_FloorSlab01.uasset — Unreal asset
            SM_MF_ObjectiveCore01.uasset — Unreal asset
            SM_MF_PathSection01.uasset — Unreal asset
            SM_MF_Pillar01.uasset — Unreal asset
            SM_MF_RockCluster01.uasset — Unreal asset
            SM_MF_RubbleCluster01.uasset — Unreal asset
            SM_MF_Staff01.uasset — Unreal asset
            SM_MF_StairsRamp01.uasset — Unreal asset
            SM_MF_TowerBase01.uasset — Unreal asset
            SM_MF_TowerCannon01.uasset — Unreal asset
            SM_MF_TowerMortar01.uasset — Unreal asset
            SM_MF_TowerSlowEmitter01.uasset — Unreal asset
            SM_MF_WallCorner01.uasset — Unreal asset
            SM_MF_WallStraight01.uasset — Unreal asset
          Characters/
            MF_Infantry01/
              CombatMotion_v003/
                Skeletal/
                  SK_MF_Infantry01_RepairedBasis.uasset — Unreal asset
              Materials/
                M_MF_Infantry01_Skeletal.uasset — Unreal asset
              Skeletal/
                SK_MF_Infantry01.uasset — Unreal asset
                SK_MF_Infantry01_PhysicsAsset.uasset — Unreal asset
                SK_MF_Infantry01_Skeleton.uasset — Unreal asset
              SwordSweep_v001/
                Animations/
                  A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_cast.uasset — Unreal asset
                  A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_death.uasset — Unreal asset
                  A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_hit_reaction.uasset — Unreal asset
                  A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_idle.uasset — Unreal asset
                  A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_melee_attack.uasset — Unreal asset
                  A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_run.uasset — Unreal asset
                  A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_walk.uasset — Unreal asset
              Textures/
                T_MF_Infantry01_Game_BaseColor.uasset — Unreal asset
                T_MF_Infantry01_Game_MetallicRoughness.uasset — Unreal asset
                T_MF_Infantry01_Game_Normal.uasset — Unreal asset
          Equipment/
            StateMaterials/
              M_MF_CastleEquipped_Blade01_0.uasset — Unreal asset
              M_MF_CastleEquipped_Blade01_1.uasset — Unreal asset
              M_MF_CastleEquipped_Blade01_2.uasset — Unreal asset
              M_MF_CastleEquipped_Staff01_0.uasset — Unreal asset
              M_MF_CastleEquipped_Staff01_1.uasset — Unreal asset
              M_MF_CastleEquipped_Staff01_2.uasset — Unreal asset
              M_MF_CastleEquipped_Staff01_3.uasset — Unreal asset
              M_MF_CastleEquipped_Staff01_4.uasset — Unreal asset
          Materials/
            MI_MF_CastleBanner_Oxblood.uasset — Unreal asset
            MI_MF_CastleBanner_StitchedGold.uasset — Unreal asset
            M_MF_CastleBannerWool.uasset — Unreal asset
            M_MF_Castle_Bronze.uasset — Unreal asset
            M_MF_Castle_Energy.uasset — Unreal asset
            M_MF_Castle_FactionPaint.uasset — Unreal asset
            M_MF_Castle_Mortar.uasset — Unreal asset
            M_MF_Castle_Steel.uasset — Unreal asset
            M_MF_Castle_Stone.uasset — Unreal asset
          Textures/
            T_MF_Castle_Bronze_BaseColor.uasset — Unreal asset
            T_MF_Castle_Bronze_MetallicRoughness.uasset — Unreal asset
            T_MF_Castle_Bronze_Normal.uasset — Unreal asset
            T_MF_Castle_Energy_BaseColor.uasset — Unreal asset
            T_MF_Castle_Energy_MetallicRoughness.uasset — Unreal asset
            T_MF_Castle_Energy_Normal.uasset — Unreal asset
            T_MF_Castle_FactionPaint_BaseColor.uasset — Unreal asset
            T_MF_Castle_FactionPaint_MetallicRoughness.uasset — Unreal asset
            T_MF_Castle_FactionPaint_Normal.uasset — Unreal asset
            T_MF_Castle_Leather_BaseColor.uasset — Unreal asset
            T_MF_Castle_Leather_MetallicRoughness.uasset — Unreal asset
            T_MF_Castle_Leather_Normal.uasset — Unreal asset
            T_MF_Castle_Mortar_BaseColor.uasset — Unreal asset
            T_MF_Castle_Mortar_MetallicRoughness.uasset — Unreal asset
            T_MF_Castle_Mortar_Normal.uasset — Unreal asset
            T_MF_Castle_Steel_BaseColor.uasset — Unreal asset
            T_MF_Castle_Steel_MetallicRoughness.uasset — Unreal asset
            T_MF_Castle_Steel_Normal.uasset — Unreal asset
            T_MF_Castle_Stone_BaseColor.uasset — Unreal asset
            T_MF_Castle_Stone_MetallicRoughness.uasset — Unreal asset
            T_MF_Castle_Stone_Normal.uasset — Unreal asset
            T_MF_Castle_Wood_BaseColor.uasset — Unreal asset
            T_MF_Castle_Wood_MetallicRoughness.uasset — Unreal asset
            T_MF_Castle_Wood_Normal.uasset — Unreal asset
    ForgeExamples/
      Animation/
        HumanMotion22/
          ABP_IFDemoCharacter.uasset — Unreal asset
          A_IF_cast.uasset — Unreal asset
          A_IF_death.uasset — Unreal asset
          A_IF_hit_reaction.uasset — Unreal asset
          A_IF_idle.uasset — Unreal asset
          A_IF_melee_attack.uasset — Unreal asset
          A_IF_run.uasset — Unreal asset
          A_IF_walk.uasset — Unreal asset
          BS_IFLocomotion.uasset — Unreal asset
      Environment/
        SM_IFCourtyardTerrain.uasset — Unreal asset
        T_IFCourtyardSoil.uasset — Unreal asset
        T_IFCourtyardSoil_N.uasset — Unreal asset
      Input/
        Army/
          IA_IF_Attack.uasset — Unreal asset
          IA_IF_Formation.uasset — Unreal asset
          IA_IF_Group1.uasset — Unreal asset
          IA_IF_Group2.uasset — Unreal asset
          IA_IF_Group3.uasset — Unreal asset
          IA_IF_Group4.uasset — Unreal asset
          IA_IF_Group5.uasset — Unreal asset
          IA_IF_Group6.uasset — Unreal asset
          IA_IF_Group7.uasset — Unreal asset
          IA_IF_Group8.uasset — Unreal asset
          IA_IF_Group9.uasset — Unreal asset
          IA_IF_Hold.uasset — Unreal asset
          IA_IF_MoveBack.uasset — Unreal asset
          IA_IF_MoveForward.uasset — Unreal asset
          IA_IF_MoveLeft.uasset — Unreal asset
          IA_IF_MoveRight.uasset — Unreal asset
          IA_IF_Pause.uasset — Unreal asset
          IA_IF_SelectAll.uasset — Unreal asset
          IA_IF_Stop.uasset — Unreal asset
          IA_IF_Train.uasset — Unreal asset
          IMC_IFArmy.uasset — Unreal asset
        IA_IF_Ability1.uasset — Unreal asset
        IA_IF_Ability2.uasset — Unreal asset
        IA_IF_Ability3.uasset — Unreal asset
        IA_IF_Ability4.uasset — Unreal asset
        IA_IF_Ability5.uasset — Unreal asset
        IA_IF_Ability6.uasset — Unreal asset
        IA_IF_Attack.uasset — Unreal asset
        IA_IF_Formation.uasset — Unreal asset
        IA_IF_Group1.uasset — Unreal asset
        IA_IF_Group2.uasset — Unreal asset
        IA_IF_Group3.uasset — Unreal asset
        IA_IF_Group4.uasset — Unreal asset
        IA_IF_Group5.uasset — Unreal asset
        IA_IF_Group6.uasset — Unreal asset
        IA_IF_Group7.uasset — Unreal asset
        IA_IF_Group8.uasset — Unreal asset
        IA_IF_Group9.uasset — Unreal asset
        IA_IF_Hold.uasset — Unreal asset
        IA_IF_MoveBack.uasset — Unreal asset
        IA_IF_MoveForward.uasset — Unreal asset
        IA_IF_MoveLeft.uasset — Unreal asset
        IA_IF_MoveRight.uasset — Unreal asset
        IA_IF_Pause.uasset — Unreal asset
        IA_IF_SelectAll.uasset — Unreal asset
        IA_IF_Stop.uasset — Unreal asset
        IA_IF_TargetNext.uasset — Unreal asset
        IA_IF_Train.uasset — Unreal asset
        IMC_IFArmy.uasset — Unreal asset
        IMC_IFEncounter.uasset — Unreal asset
      Licenses/
        Cinzel-OFL.txt — project support file
      Maps/
        Emberfall.umap — example map
        ForgeGateway.umap — example map
        Ironfront.umap — example map
      UI/
        Art/
          MI_IFEmberfallMap.uasset — Unreal asset
          MI_IFIronfrontMap.uasset — Unreal asset
          M_IFCourtyardGround.uasset — Unreal asset
          M_IFMapPresentation.uasset — Unreal asset
          T_IFAbilities.uasset — Unreal asset
          T_IFCommands.uasset — Unreal asset
          T_IFEmberfallMap.uasset — Unreal asset
          T_IFIronfrontMap.uasset — Unreal asset
          T_IFKnightPortrait.uasset — Unreal asset
        DA_IFEmberTheme.uasset — Unreal asset
        DA_IFIronTheme.uasset — Unreal asset
        DA_IFMMOLayout.uasset — Unreal asset
        DA_IFRTSLayout.uasset — Unreal asset
        RPG/
          Art/
            FF_IFCinzel.uasset — Unreal asset
            F_IFCinzel.uasset — Unreal asset
            MI_IFRPGCartography.uasset — Unreal asset
            T_IFButtonBevel.uasset — Unreal asset
            T_IFCartography.uasset — Unreal asset
            T_IFCombatPanel.uasset — Unreal asset
            T_IFDivider.uasset — Unreal asset
            T_IFHUDShade.uasset — Unreal asset
            T_IFMenuVignette.uasset — Unreal asset
            T_IFResourceFill.uasset — Unreal asset
            T_IFResourceTrack.uasset — Unreal asset
            T_IFSlotTrim.uasset — Unreal asset
            T_IFWindowFrame.uasset — Unreal asset
          BP_IFRPGCamera.uasset — Unreal asset
          DA_IFEmberglass.uasset — Unreal asset
          DA_IFMoonsteel.uasset — Unreal asset
          DA_IFRPGLayout.uasset — Unreal asset
          WBP_IFRPGAbility.uasset — Unreal asset
          WBP_IFRPGAbilityBook.uasset — Unreal asset
          WBP_IFRPGAbilityCopy.uasset — Unreal asset
          WBP_IFRPGCast.uasset — Unreal asset
          WBP_IFRPGHUD.uasset — Unreal asset
          WBP_IFRPGJournal.uasset — Unreal asset
          WBP_IFRPGLayout.uasset — Unreal asset
          WBP_IFRPGLoad.uasset — Unreal asset
          WBP_IFRPGMain.uasset — Unreal asset
          WBP_IFRPGObjective.uasset — Unreal asset
          WBP_IFRPGParty.uasset — Unreal asset
          WBP_IFRPGPause.uasset — Unreal asset
          WBP_IFRPGSettingRow.uasset — Unreal asset
          WBP_IFRPGSettings.uasset — Unreal asset
          WBP_IFRPGStory.uasset — Unreal asset
          WBP_IFRPGTarget.uasset — Unreal asset
          WBP_IFRPGVital.uasset — Unreal asset
        Settings/
          BP_IFDisplayPrefs.uasset — Unreal asset
          BP_IFOpacityProvider.uasset — Unreal asset
          DA_Setting_FrameRateLimit.uasset — Unreal asset
          DA_Setting_GameVolume.uasset — Unreal asset
          DA_Setting_InterfaceOpacity.uasset — Unreal asset
          DA_Setting_ReducedMotion.uasset — Unreal asset
          DA_Setting_ShadowQuality.uasset — Unreal asset
          DA_Setting_TextScale.uasset — Unreal asset
          DA_Setting_TooltipDelay.uasset — Unreal asset
          DA_Setting_UIScale.uasset — Unreal asset
          DA_Setting_UIVolume.uasset — Unreal asset
          DA_Setting_VSync.uasset — Unreal asset
          WBP_IFArmySettings.uasset — Unreal asset
          WBP_IFSettingRow.uasset — Unreal asset
          WBP_IFSettingRowCompact.uasset — Unreal asset
          WBP_IFSettingsMenu.uasset — Unreal asset
        WBP_IFAbilityButton.uasset — Unreal asset
        WBP_IFAbilityEntry.uasset — Unreal asset
        WBP_IFArmyRoster.uasset — Unreal asset
        WBP_IFArmyTile.uasset — Unreal asset
        WBP_IFBindingEntry.uasset — Unreal asset
        WBP_IFControls.uasset — Unreal asset
        WBP_IFDefeatPanel.uasset — Unreal asset
        WBP_IFGateway.uasset — Unreal asset
        WBP_IFGroupEntry.uasset — Unreal asset
        WBP_IFJournal.uasset — Unreal asset
        WBP_IFJournalEntry.uasset — Unreal asset
        WBP_IFLoad.uasset — Unreal asset
        WBP_IFMMOHUD.uasset — Unreal asset
        WBP_IFMMOLayout.uasset — Unreal asset
        WBP_IFMainMenu.uasset — Unreal asset
        WBP_IFMenuButton.uasset — Unreal asset
        WBP_IFOrderEntry.uasset — Unreal asset
        WBP_IFPartyFrame.uasset — Unreal asset
        WBP_IFPartyTargetEntry.uasset — Unreal asset
        WBP_IFPause.uasset — Unreal asset
        WBP_IFPlainReadout.uasset — Unreal asset
        WBP_IFQuestJournal.uasset — Unreal asset
        WBP_IFQuestStory.uasset — Unreal asset
        WBP_IFRTSHUD.uasset — Unreal asset
        WBP_IFRTSLayout.uasset — Unreal asset
        WBP_IFRTSWorldLabel.uasset — Unreal asset
        WBP_IFReadout.uasset — Unreal asset
        WBP_IFResourceRow.uasset — Unreal asset
        WBP_IFSettings.uasset — Unreal asset
        WBP_IFStatChip.uasset — Unreal asset
        WBP_IFTitle.uasset — Unreal asset
        WBP_IFUnitFrame.uasset — Unreal asset
        WBP_IFWorldLabel.uasset — Unreal asset
    Input/
      IA_PreviewInteract.uasset — Unreal asset
      IMC_Preview.uasset — Unreal asset
    Localization/
      ForgeExamples/
        ForgeExamples.locmeta — project support file
        ForgeExamples.manifest — project support file
        en/
          ForgeExamples.archive — project support file
          ForgeExamples.locres — project support file
          ForgeExamples.po — project support file
        tr/
          ForgeExamples.archive — project support file
          ForgeExamples.locres — project support file
          ForgeExamples.po — project support file
    Maps/
      ForgeOutpost.umap — example map
      ForgePilgrimage.umap — example map
      ForgeWorkshop.umap — example map
    UI/
      Blueprint/
        BP_ForgeWorldReadout.uasset — Unreal asset
        BP_WatchpostSource.uasset — Unreal asset
        WBP_AshenControls.uasset — Unreal asset
        WBP_AshenMainMenu.uasset — Unreal asset
        WBP_AshenPause.uasset — Unreal asset
        WBP_AshenRTSHUD.uasset — Unreal asset
        WBP_AshenSettings.uasset — Unreal asset
        WBP_EmberAction.uasset — Unreal asset
        WBP_EmberActionButton.uasset — Unreal asset
        WBP_EmberRPGHUD.uasset — Unreal asset
        WBP_EmberRoot.uasset — Unreal asset
        WBP_FieldCard.uasset — Unreal asset
        WBP_FieldCards.uasset — Unreal asset
        WBP_FieldJournal.uasset — Unreal asset
        WBP_ForgeActionButton.uasset — Unreal asset
        WBP_ForgeAppliedPrompt.uasset — Unreal asset
        WBP_ForgeConfirmation.uasset — Unreal asset
        WBP_ForgeContextHint.uasset — Unreal asset
        WBP_ForgeFlowRoot.uasset — Unreal asset
        WBP_ForgeLoading.uasset — Unreal asset
        WBP_ForgeNotification.uasset — Unreal asset
        WBP_ForgeRoot.uasset — Unreal asset
        WBP_ForgeTooltip.uasset — Unreal asset
        WBP_ForgeWorldStatus.uasset — Unreal asset
        WBP_HUDReadout.uasset — Unreal asset
        WBP_JournalEntry.uasset — Unreal asset
        WBP_OutpostCommand.uasset — Unreal asset
        WBP_OutpostCommandButton.uasset — Unreal asset
        WBP_ProductionReadout.uasset — Unreal asset
        WBP_WatchpostEntry.uasset — Unreal asset
        WBP_WatchpostSurvey.uasset — Unreal asset
      DA_ForgeInterfaceAssets.uasset — Unreal asset
    UIForgeTutorial/
      BP_TutorialController.uasset — Unreal asset
      BP_TutorialGameMode.uasset — Unreal asset
      WBP_TutorialHUD.uasset — Unreal asset
      WBP_TutorialMain.uasset — Unreal asset
      WBP_TutorialPause.uasset — Unreal asset
      Walkthrough.umap — example map
  DistributionPolicy.json — project support file
  Docs/
    ARMY_AND_HUD_REWORK.md — documentation
    ARMY_HUD_AUTHORING.md — documentation
    ARTWORK_AND_DEPENDENCIES.md — documentation
    AUDIT.md — documentation
    BLUEPRINT_ANIMATIONS.md — documentation
    BLUEPRINT_CONTROLS.md — documentation
    BLUEPRINT_CUSTOMIZATION.md — documentation
    BLUEPRINT_DIALOGS.md — documentation
    BLUEPRINT_FIELD_CARDS.md — documentation
    BLUEPRINT_INPUT_GLYPHS.md — documentation
    BLUEPRINT_JOURNAL.md — documentation
    BLUEPRINT_LOADING.md — documentation
    BLUEPRINT_LOCALIZATION.md — documentation
    BLUEPRINT_MASS_ADAPTER.md — documentation
    BLUEPRINT_MENUS_HUD.md — documentation
    BLUEPRINT_MENU_HIERARCHY.md — documentation
    BLUEPRINT_MENU_NAVIGATION.md — documentation
    BLUEPRINT_MENU_PRESENTATION.md — documentation
    BLUEPRINT_NAVIGATION_HINTS.md — documentation
    BLUEPRINT_NOTIFICATIONS.md — documentation
    BLUEPRINT_PRODUCT_LAYOUTS.md — documentation
    BLUEPRINT_PROGRESS.md — documentation
    BLUEPRINT_QUICK_START.md — documentation
    BLUEPRINT_READOUT_LAYOUTS.md — documentation
    BLUEPRINT_RECIPES.md — documentation
    BLUEPRINT_RPG.md — documentation
    BLUEPRINT_RTS_COMMANDS.md — documentation
    BLUEPRINT_SAFE_AREAS.md — documentation
    BLUEPRINT_SCROLLING.md — documentation
    BLUEPRINT_SETTINGS.md — documentation
    BLUEPRINT_SETTINGS_COMPOSITION.md — documentation
    BLUEPRINT_TOOLTIPS.md — documentation
    BLUEPRINT_WORLD_NAVIGATION.md — documentation
    BLUEPRINT_WORLD_UI.md — documentation
    CENTER_TINT.md — documentation
    COMBAT_ARTS_AUTHORING.md — documentation
    COMPETITIVE_QUALITY.md — documentation
    COOLDOWN_REFERENCE.md — documentation
    CURRENT_PRODUCT_STATUS.md — documentation
    ENGINE_COMPATIBILITY.md — documentation
    ENTRY_LAYOUT_DECISIONS.md — documentation
    EXAMPLE_CHARACTER_ANIMATION.md — documentation
    EXAMPLE_PRESENTATION.md — documentation
    EXAMPLE_PROJECT.md — documentation
    FEATURE_MATRIX.md — documentation
    GAME_INTEGRATION.md — documentation
    HANDOFF.md — documentation
    INSTALLATION.md — documentation
    Images/
      Animation22/
        RPG-Cast.png — image
        RPG-Combat.png — image
        RPG-Menu.png — image
        RTS-Menu.png — image
        RTS-Move.png — image
        RTS-Victory.png — image
      Army583/
        Emberfall-1280x720-enlarged.png — image
        Emberfall-1280x720.png — image
        Emberfall-1920x1080.png — image
        Emberfall-2560x1080.png — image
        Emberfall-confirmation.png — image
        Emberfall-controls.png — image
        Emberfall-journal.png — image
        Emberfall-menu.png — image
        Emberfall-pause.png — image
        Emberfall-settings.png — image
        Hub.png — image
        Ironfront-1280x720-enlarged.png — image
        Ironfront-1280x720.png — image
        Ironfront-1920x1080.png — image
        Ironfront-2560x1080.png — image
        Ironfront-confirmation.png — image
        Ironfront-controls.png — image
        Ironfront-menu.png — image
        Ironfront-pause.png — image
        Ironfront-settings.png — image
        Packaged-MMO-Combat.png — image
        Packaged-MMO-ReturnedMenu.png — image
        Packaged-RTS-Formation.png — image
        Packaged-RTS-ReturnedMenu.png — image
      Catalog/
        CenterTint-0.png — image
        CenterTint-100.png — image
        CenterTint-25.png — image
        CenterTint-50.png — image
        CenterTint-75.png — image
        Designer-BP_ForgeWorldReadout.png — image
        Designer-BP_IFGenericController.png — image
        Designer-BP_WatchpostSource.png — image
        Designer-WBP_AshenControls.png — image
        Designer-WBP_AshenMainMenu.png — image
        Designer-WBP_AshenPause.png — image
        Designer-WBP_AshenRTSHUD.png — image
        Designer-WBP_AshenSettings.png — image
        Designer-WBP_EmberAction.png — image
        Designer-WBP_EmberActionButton.png — image
        Designer-WBP_EmberRPGHUD.png — image
        Designer-WBP_EmberRoot.png — image
        Designer-WBP_FieldCard.png — image
        Designer-WBP_FieldCards.png — image
        Designer-WBP_FieldJournal.png — image
        Designer-WBP_ForgeActionButton.png — image
        Designer-WBP_ForgeAppliedPrompt.png — image
        Designer-WBP_ForgeConfirmation.png — image
        Designer-WBP_ForgeContextHint.png — image
        Designer-WBP_ForgeFlowRoot.png — image
        Designer-WBP_ForgeLoading.png — image
        Designer-WBP_ForgeNotification.png — image
        Designer-WBP_ForgeRoot.png — image
        Designer-WBP_ForgeTooltip.png — image
        Designer-WBP_ForgeWorldStatus.png — image
        Designer-WBP_HUDReadout.png — image
        Designer-WBP_JournalEntry.png — image
        Designer-WBP_OutpostCommand.png — image
        Designer-WBP_OutpostCommandButton.png — image
        Designer-WBP_ProductionReadout.png — image
        Designer-WBP_Watchpost.png — image
        Designer-WBP_WatchpostEntry.png — image
        Designer-WBP_WatchpostReadout.png — image
        Designer-WBP_WatchpostSurvey.png — image
        Graph-WBP_AshenSettings.png — image
        Graph-WBP_EmberAction.png — image
        Graph-WBP_ForgeFlowRoot.png — image
        Graph-WBP_Watchpost.png — image
        Graph-WBP_WatchpostEntry.png — image
        Graph-WBP_WatchpostReadout.png — image
        Graph-WBP_WatchpostSurvey.png — image
        GraphDetail-WBP_AshenSettings.png — image
        GraphDetail-WBP_EmberAction.png — image
        GraphDetail-WBP_ForgeFlowRoot.png — image
        GraphDetail-WBP_WatchpostEntry.png — image
        GraphDetail-WBP_WatchpostSurvey.png — image
        Native-ForgeControlsScreen.png — image
        Native-ForgeFieldHUD.png — image
        Native-ForgeMainScreen.png — image
        Native-ForgeMenuScreen.png — image
        Native-ForgePauseScreen.png — image
        Native-ForgeSettingsScreen.png — image
        Native-ForgeTintReview.png — image
        Native-ForgeWorkshopWidget.png — image
        Native-IFActionPrompt.png — image
        Native-IFButton.png — image
        Native-IFCenterTint.png — image
        Native-IFDialog.png — image
        Native-IFKeySelector.png — image
        Native-IFLoadingScreen.png — image
        Native-IFNotificationLayer.png — image
        Native-IFProgressWidget.png — image
        Native-IFScrollBox.png — image
        Native-IFSurface.png — image
        Native-IFText.png — image
        Native-IFTooltipCard.png — image
        Optional-Watchpost-Preview.png — image
        Progress-Charges.png — image
        Progress-Linear.png — image
        Progress-Radial.png — image
        Progress-Segmented.png — image
        Progress-SquarePerimeter.png — image
        RPG-HUD.png — image
        RPG-Hearth.png — image
        RPG-KeeperDialog.png — image
        RPG-Kindle-Cooldown.png — image
        RPG-MainMenu.png — image
        RPG-Pause.png — image
        RPG-QuestAccepted.png — image
        RPG-ReturnDialog.png — image
        RPG-Ward-Cooldown.png — image
        RPG-Ward-MidCooldown.png — image
        RTS-Cards.png — image
        RTS-Confirmation.png — image
        RTS-Controls.png — image
        RTS-CustomFlowRoot.png — image
        RTS-HUD.png — image
        RTS-Journal-Ember.png — image
        RTS-Journal.png — image
        RTS-MainMenu.png — image
        RTS-MultiSelection.png — image
        RTS-Pause.png — image
        RTS-Production.png — image
        RTS-Settings.png — image
        RTS-Survey.png — image
        Widget-WBP_AshenControls.png — image
        Widget-WBP_AshenMainMenu.png — image
        Widget-WBP_AshenPause.png — image
        Widget-WBP_AshenRTSHUD.png — image
        Widget-WBP_AshenSettings.png — image
        Widget-WBP_EmberAction.png — image
        Widget-WBP_EmberActionButton.png — image
        Widget-WBP_EmberRPGHUD.png — image
        Widget-WBP_FieldCard.png — image
        Widget-WBP_FieldCards.png — image
        Widget-WBP_FieldJournal.png — image
        Widget-WBP_ForgeActionButton.png — image
        Widget-WBP_ForgeAppliedPrompt.png — image
        Widget-WBP_ForgeConfirmation.png — image
        Widget-WBP_ForgeContextHint.png — image
        Widget-WBP_ForgeLoading.png — image
        Widget-WBP_ForgeNotification.png — image
        Widget-WBP_ForgeTooltip.png — image
        Widget-WBP_ForgeWorldStatus.png — image
        Widget-WBP_HUDReadout.png — image
        Widget-WBP_JournalEntry.png — image
        Widget-WBP_OutpostCommand.png — image
        Widget-WBP_OutpostCommandButton.png — image
        Widget-WBP_ProductionReadout.png — image
        Widget-WBP_WatchpostEntry.png — image
        Widget-WBP_WatchpostReadout.png — image
        Widget-WBP_WatchpostSurvey.png — image
        army-rework-current.png — image
        mmo-rework-current.png — image
        rework-settings.png — image
      CompetitorPass/
        ability-book-aligned.png — image
        ability-book-first.png — image
        before-main.png — image
        button-foundation-dialog.png — image
        button-foundation-main.png — image
        header-modal-ember.png — image
        header-modal-moonsteel.png — image
        hud-moonsteel.png — image
        hud-warm-current.png — image
        journal-footer-current.png — image
        journal-moonsteel.png — image
        load-repaired.png — image
        main-hierarchy.png — image
        menu-composition-first-pass.png — image
        native-binding-y-active.png — image
        native-binding-y-before.png — image
        native-book-ready.png — image
        native-cast-foundation.png — image
        native-keyboard-dialog.png — image
        native-pause-foundation.png — image
        native-settings-foundation.png — image
        native-y-persisted-active.png — image
        package-ability-book.png — image
        package-hub.png — image
        package-reload-new-key.png — image
        package-reload-old-key.png — image
        package-remap-draft.png — image
        package-remapped-skill.png — image
        portrait-layout-first-pass.png — image
        resource-full.png — image
        resource-half.png — image
        resource-local-fallback.png — image
        resource-reverse-quarter.png — image
        resource-zero.png — image
        review-rpg-arts-moonsteel.png — image
        review-rpg-arts.png — image
        review-rpg-audio.png — image
        review-rpg-controls.png — image
        review-rpg-hud.png — image
        review-rpg-journal.png — image
        review-rpg-load.png — image
        review-rpg-main.png — image
        review-rpg-new-dialog.png — image
        review-rpg-pause.png — image
        review-rpg-return-dialog.png — image
        review-rpg-settings.png — image
        review-rpg-video.png — image
        review-rts-audio.png — image
        review-rts-controls.png — image
        review-rts-hud.png — image
        review-rts-load.png — image
        review-rts-main.png — image
        review-rts-new-dialog.png — image
        review-rts-pause.png — image
        review-rts-return-dialog.png — image
        review-rts-settings.png — image
        review-rts-video.png — image
        roster-current.png — image
        rpg-arts-720.png — image
        rpg-controls-720.png — image
        rpg-hud-1280x720.png — image
        rpg-hud-1920x1080.png — image
        rpg-hud-2560x1080.png — image
        rpg-hud-3840x2160.png — image
        rpg-hud-720-enlarged.png — image
        rpg-journal-720.png — image
        rpg-load-720.png — image
        rpg-main-720.png — image
        rpg-settings-720.png — image
        rts-before-shared-theme.png — image
        rts-controls-720.png — image
        rts-core-palette-preview.png — image
        rts-hud-1280x720.png — image
        rts-hud-1920x1080.png — image
        rts-hud-2560x1080.png — image
        rts-hud-3840x2160.png — image
        rts-hud-720-enlarged.png — image
        rts-load-720.png — image
        rts-main-720.png — image
        rts-menu-shared.png — image
        rts-settings-720.png — image
        rts-settings-before-layout.png — image
        settings-compact-ember.png — image
        settings-quiet-rows.png — image
      FieldCards-Enlarged.png — image
      Product583/
        1280x720-confirmation.png — image
        1280x720-controls.png — image
        1280x720-hub.png — image
        1280x720-journal.png — image
        1280x720-mmo-hud.png — image
        1280x720-mmo-menu.png — image
        1280x720-pause.png — image
        1280x720-rts-hud.png — image
        1280x720-rts-menu.png — image
        1280x720-settings-enlarged.png — image
        1280x720-settings.png — image
        1920x1080-confirmation.png — image
        1920x1080-controls.png — image
        1920x1080-hub.png — image
        1920x1080-journal.png — image
        1920x1080-mmo-hud.png — image
        1920x1080-mmo-menu.png — image
        1920x1080-pause.png — image
        1920x1080-rts-hud.png — image
        1920x1080-rts-menu.png — image
        1920x1080-settings.png — image
        2560x1080-confirmation.png — image
        2560x1080-controls.png — image
        2560x1080-hub.png — image
        2560x1080-journal.png — image
        2560x1080-mmo-hud.png — image
        2560x1080-mmo-menu.png — image
        2560x1080-pause.png — image
        2560x1080-rts-hud.png — image
        2560x1080-rts-menu.png — image
        2560x1080-settings.png — image
        Designer-WBP_IFAbilityButton.png — image
        Designer-WBP_IFAbilityEntry.png — image
        Designer-WBP_IFBindingEntry.png — image
        Designer-WBP_IFMMOLayout.png — image
        Designer-WBP_IFRTSLayout.png — image
        Designer-WBP_IFSettingsMenu.png — image
        Designer-WBP_IFUnitFrame.png — image
        Graph-WBP_ForgeFlowRoot.png — image
        Graph-WBP_IFSettings.png — image
        Packaged-MMO-HUD.jpg — image
        Packaged-RTS-Completed.jpg — image
        Packaged-RTS-Training.jpg — image
      Progress-Charges-Complete.png — image
      Progress-Radial-Survey.png — image
      Progress-Reverse-Enlarged.png — image
      RPGRework/
        combat-hud-native.png — image
        dialog.png — image
        hud-1280x720.png — image
        hud-1920x1080.png — image
        hud-2560x1080.png — image
        hud-large-text.png — image
        journal.png — image
        keybinding-draft.png — image
        main-native.png — image
        package-combat.png — image
        package-final-hud.png — image
        package-final-pause.png — image
        pause-large-text.png — image
        pause.png — image
        remapped-skill.png — image
        settings.png — image
      Todo/
        UIForge-Blueprint-CreateRoot.png — image
        UIForge-Blueprint-Opacity-Commit-detail.png — image
        UIForge-Blueprint-Opacity-Commit.png — image
        UIForge-Blueprint-Opacity-Read-detail.png — image
        UIForge-Blueprint-Opacity-Read.png — image
        UIForge-Designer-CompactSettingRow.png — image
        UIForge-choice-after-gc.png — image
        UIForge-choice-controller.png — image
        UIForge-docs-narrow.png — image
        UIForge-final-packaged-activation.jpg — image
        UIForge-final-packaged-pause.jpg — image
        UIForge-icons-dark-states.png — image
        UIForge-icons-light-states.png — image
        UIForge-icons-replacement.png — image
        UIForge-independent-customization.jpg — image
        UIForge-independent-startup.jpg — image
        UIForge-knight-motion.webp — project support file
        UIForge-knight-move.png — image
        UIForge-knight-release.png — image
        UIForge-packaged-choice-gc.png — image
        UIForge-packaged-mmo-motion.webp — project support file
        UIForge-packaged-paused-video-draft.png — image
        UIForge-packaged-rts-motion.webp — project support file
        UIForge-packaged-settings.jpg — image
        UIForge-packaged-video-cancelled.png — image
        UIForge-settings-audio.png — image
        UIForge-settings-controls.png — image
        UIForge-settings-interface.png — image
        UIForge-settings-save-error.png — image
        UIForge-settings-scaled-settled.png — image
        UIForge-settings-video.png — image
        UIForge-tutorial-hud.png — image
        UIForge-tutorial-main.png — image
        UIForge-tutorial-settings.png — image
      VisualGuide/
        UIForge-Ability-Designer.png — image
        UIForge-Binding-Mapping.png — image
        UIForge-Binding-Row.png — image
        UIForge-Button-Designer.png — image
        UIForge-Controller-Root.png — image
        UIForge-Entry-Refresh.png — image
        UIForge-Example-Hub.png — image
        UIForge-HUD-Designer.png — image
        UIForge-HUD-Profile.png — image
        UIForge-Hub-Designer.png — image
        UIForge-Learning-Assets.png — image
        UIForge-MMO-Abilities.png — image
        UIForge-MMO-Confirmation.png — image
        UIForge-MMO-Cool-Theme.png — image
        UIForge-MMO-HUD.png — image
        UIForge-MMO-Journal.png — image
        UIForge-MMO-Load.png — image
        UIForge-MMO-Main.png — image
        UIForge-MMO-Pause.png — image
        UIForge-MMO-Settings-Audio.png — image
        UIForge-MMO-Settings-Controls.png — image
        UIForge-MMO-Settings-Interface.png — image
        UIForge-MMO-Settings-Video.png — image
        UIForge-Main-Defaults.png — image
        UIForge-Main-Designer.png — image
        UIForge-Main-Focus.png — image
        UIForge-Main-PushHUD.png — image
        UIForge-Pause-Graph.png — image
        UIForge-Provider-Commit-Preview.png — image
        UIForge-Provider-Commit-Save.png — image
        UIForge-Provider-Commit.png — image
        UIForge-Provider-Read.png — image
        UIForge-RTS-Confirmation.png — image
        UIForge-RTS-HUD.png — image
        UIForge-RTS-Load.png — image
        UIForge-RTS-Main.png — image
        UIForge-RTS-Pause.png — image
        UIForge-RTS-Settings-Audio.png — image
        UIForge-RTS-Settings-Controls.png — image
        UIForge-RTS-Settings-Interface.png — image
        UIForge-RTS-Settings-Video.png — image
        UIForge-Screen-Initialize.png — image
        UIForge-Setting-Definition.png — image
        UIForge-Settings-Defaults.png — image
        UIForge-Settings-Definition-Instance.png — image
        UIForge-Settings-Pages.png — image
        UIForge-Settings-Row.png — image
        UIForge-Settings-Tab.png — image
        UIForge-Setup-Accept.png — image
        UIForge-Setup-CommonInput.png — image
        UIForge-Setup-EnhancedInput.png — image
        UIForge-Setup-Viewport.png — image
        UIForge-Theme-Asset.png — image
        UIForge-Theme-ButtonStates.png — image
        UIForge-Tutorial-Dialog.png — image
        UIForge-Tutorial-HUD.png — image
        UIForge-Tutorial-Running.png — image
        UIForge-Tutorial-Settings.png — image
      World1026/
        Emberfall-1280x720-enlarged.png — image
        Emberfall-1280x720.png — image
        Emberfall-1920x1080.png — image
        Emberfall-2560x1080.png — image
        Emberfall-confirmation.png — image
        Emberfall-controls.png — image
        Emberfall-journal.png — image
        Emberfall-menu.png — image
        Emberfall-pause.png — image
        Emberfall-settings.png — image
        Hub.png — image
        Ironfront-1280x720-enlarged.png — image
        Ironfront-1280x720.png — image
        Ironfront-1920x1080.png — image
        Ironfront-2560x1080.png — image
        Ironfront-confirmation.png — image
        Ironfront-controls.png — image
        Ironfront-menu.png — image
        Ironfront-pause.png — image
        Ironfront-settings.png — image
        Packaged-Clean-RTS.png — image
        RTS-CameraBounds.png — image
    MIGRATION_UI.md — documentation
    PRESENTATION_SOURCE.md — documentation
    PRODUCT_GALLERY_583.md — documentation
    PRODUCT_VERIFICATION_583.md — documentation
    REBUILD_583.md — documentation
    RELEASE_ACCEPTANCE.md — documentation
    RESEARCH.md — documentation
    RESPONSIVE_LAYOUTS.md — documentation
    RPG_HUD_AUTHORING.md — documentation
    RPG_REDESIGN_RESEARCH.md — documentation
    SHIPPING_VERIFICATION.md — documentation
    SITE_HOME.md — documentation
    STRUCTURE_REFERENCE.md — documentation
    STYLE_AUTHORING.md — documentation
    TODO_EXECUTION.md — documentation
    VISUAL_CATALOG.md — documentation
    VISUAL_CUSTOMIZATION.md — documentation
    VISUAL_DOCUMENTATION.md — documentation
    VISUAL_GAME_SETUP.md — documentation
    VISUAL_INTEGRITY.md — documentation
    VISUAL_SETTINGS.md — documentation
    WORLD_PRESENTATION.md — documentation
  DocumentationSite/
    .vitepress/
      config.mts — project support file
      theme/
        ForgeDiagram.vue — project support file
        ImageZoom.vue — project support file
        custom.css — project support file
        index.ts — project support file
    README.md — documentation
    build-verification.json — project support file
    manual-pages.mjs — project support file
    package-lock.json — project support file
    package.json — project support file
    scripts/
      check-built.mjs — project support file
      sync-docs.mjs — project support file
    source-manifest.json — project support file
    theme-source.json — project support file
  Examples/
    ForgeMassExamples/
      Config/
        DefaultEngine.ini — configuration
        DefaultGame.ini — configuration
        DefaultInput.ini — configuration
      Content/
        Art/
          M_Watchpost.uasset — Unreal asset
        Data/
          DA_WatchpostVitals.uasset — Unreal asset
        Maps/
          Watchpost.umap — example map
        UI/
          WBP_Watchpost.uasset — Unreal asset
          WBP_WatchpostReadout.uasset — Unreal asset
      ForgeMassExamples.uproject — project descriptor
      README.md — documentation
      Source/
        ForgeMassExamples/
          ForgeMassExamples.Build.cs — module dependencies
          Private/
            ForgeMassExamplesModule.cpp — C++ implementation
            Watchpost.cpp — C++ implementation
            WatchpostReview.cpp — C++ implementation
          Public/
            Watchpost.h — C++ declarations
            WatchpostReview.h — C++ declarations
        ForgeMassExamples.Target.cs — Unreal build target
        ForgeMassExamplesEditor/
          ForgeMassExamplesEditor.Build.cs — module dependencies
          Private/
            ForgeMassExamplesEditorModule.cpp — C++ implementation
            WatchpostAuthoring.cpp — C++ implementation
          Public/
            WatchpostAuthoring.h — C++ declarations
        ForgeMassExamplesEditor.Target.cs — Unreal build target
  Integrations/
    InterfaceForgeMass/
      InterfaceForgeMass.uplugin — plugin/module descriptor
      Source/
        InterfaceForgeMass/
          InterfaceForgeMass.Build.cs — module dependencies
          Private/
            IFMassEntitySource.cpp — C++ implementation
            InterfaceForgeMassModule.cpp — C++ implementation
            Tests/
              IFMassAdapterTests.cpp — C++ implementation
              IFMassTestSink.h — C++ declarations
          Public/
            IFMassEntitySource.h — C++ declarations
  PROGRESS.md — documentation
  Plugins/
    InterfaceForge/
      Config/
        DefaultInterfaceForge.ini — configuration
        FilterPlugin.ini — configuration
      Content/
        UIForge/
          Audio/
            DA_IFAudioRouting.uasset — Unreal asset
            IF_Confirm.uasset — Unreal asset
            IF_Focus.uasset — Unreal asset
            IF_GamePreview.uasset — Unreal asset
            SC_IFGamePreview.uasset — Unreal asset
            SC_IFUI.uasset — Unreal asset
            SM_IFPreferences.uasset — Unreal asset
          Input/
            BP_IFGenericController.uasset — Unreal asset
            MI_IFControllerEast.uasset — Unreal asset
            MI_IFControllerNorth.uasset — Unreal asset
            MI_IFControllerSouth.uasset — Unreal asset
            MI_IFControllerWest.uasset — Unreal asset
            M_IFControllerFace.uasset — Unreal asset
          Materials/
            M_IFCenterTint.uasset — Unreal asset
          Themes/
            Art/
              T_IFButtonActive.uasset — Unreal asset
              T_IFButtonBevel.uasset — Unreal asset
              T_IFButtonPrimary.uasset — Unreal asset
              T_IFButtonPrimaryActive.uasset — Unreal asset
              T_IFCombatPanel.uasset — Unreal asset
              T_IFHeaderBand.uasset — Unreal asset
              T_IFResourceFill.uasset — Unreal asset
              T_IFResourceTrack.uasset — Unreal asset
              T_IFWindowNeutral.uasset — Unreal asset
            DA_ForgeEmber.uasset — Unreal asset
            DA_ForgeMineral.uasset — Unreal asset
            DA_ForgeMoonsteel.uasset — Unreal asset
      Docs/
        ARMY_HUD_AUTHORING.md — documentation
        ARTWORK_AND_DEPENDENCIES.md — documentation
        BLUEPRINT_CUSTOMIZATION.md — documentation
        BLUEPRINT_QUICK_START.md — documentation
        BLUEPRINT_SETTINGS_COMPOSITION.md — documentation
        CENTER_TINT.md — documentation
        COMBAT_ARTS_AUTHORING.md — documentation
        GAME_INTEGRATION.md — documentation
        Images/
          UIForge-Blueprint-CreateRoot.png — image
          UIForge-Blueprint-Opacity-Commit-detail.png — image
          UIForge-Blueprint-Opacity-Read-detail.png — image
          UIForge-Designer-CompactSettingRow.png — image
          UIForge-icons-dark-states.png — image
          UIForge-icons-light-states.png — image
          UIForge-icons-replacement.png — image
          UIForge-independent-customization.jpg — image
          UIForge-independent-startup.jpg — image
          UIForge-packaged-settings.jpg — image
          UIForge-settings-interface.png — image
          hud-1920x1080.png — image
          keybinding-draft.png — image
          package-remap-draft.png — image
          remapped-skill.png — image
          review-rpg-arts-moonsteel.png — image
          review-rpg-arts.png — image
          review-rpg-controls.png — image
          review-rpg-settings.png — image
        RPG_HUD_AUTHORING.md — documentation
        STYLE_AUTHORING.md — documentation
      InterfaceForge.uplugin — plugin/module descriptor
      README.md — documentation
      Resources/
        Icon128.png — image
      Source/
        InterfaceForge/
          InterfaceForge.Build.cs — module dependencies
          Private/
            IFActionPrompt.cpp — C++ implementation
            IFBindingEntry.cpp — C++ implementation
            IFButton.cpp — C++ implementation
            IFCenterTint.cpp — C++ implementation
            IFCommandButton.cpp — C++ implementation
            IFDialog.cpp — C++ implementation
            IFHUDLayout.cpp — C++ implementation
            IFInputPresentation.cpp — C++ implementation
            IFKeySelector.cpp — C++ implementation
            IFMapView.cpp — C++ implementation
            IFNavigationInputData.cpp — C++ implementation
            IFNotifications.cpp — C++ implementation
            IFPresentation.cpp — C++ implementation
            IFProfiling.h — C++ declarations
            IFProgressWidget.cpp — C++ implementation
            IFReadoutEntry.cpp — C++ implementation
            IFRemapping.cpp — C++ implementation
            IFScreen.cpp — C++ implementation
            IFScreenLoading.cpp — C++ implementation
            IFScrollBox.cpp — C++ implementation
            IFSelectionOverlay.cpp — C++ implementation
            IFSettingChoiceLabel.cpp — C++ implementation
            IFSettingChoiceLabel.h — C++ declarations
            IFSettingDefinition.cpp — C++ implementation
            IFSettings.cpp — C++ implementation
            IFSettingsWidgets.cpp — C++ implementation
            IFSurface.cpp — C++ implementation
            IFText.cpp — C++ implementation
            IFTooltip.cpp — C++ implementation
            IFWorldEntryLibrary.cpp — C++ implementation
            InterfaceForgeModule.cpp — C++ implementation
            Tests/
              IFProgressTests.cpp — C++ implementation
              IFSettingsTests.cpp — C++ implementation
          Public/
            IFActionPrompt.h — C++ declarations
            IFBindingEntry.h — C++ declarations
            IFButton.h — C++ declarations
            IFCenterTint.h — C++ declarations
            IFCommandButton.h — C++ declarations
            IFDataSource.h — C++ declarations
            IFDialog.h — C++ declarations
            IFHUDLayout.h — C++ declarations
            IFInputPresentation.h — C++ declarations
            IFKeySelector.h — C++ declarations
            IFMapView.h — C++ declarations
            IFNavigationInputData.h — C++ declarations
            IFNotifications.h — C++ declarations
            IFPresentation.h — C++ declarations
            IFProgressWidget.h — C++ declarations
            IFReadoutEntry.h — C++ declarations
            IFRemapping.h — C++ declarations
            IFScreen.h — C++ declarations
            IFScreenLoading.h — C++ declarations
            IFScrollBox.h — C++ declarations
            IFSelectionOverlay.h — C++ declarations
            IFSettingDefinition.h — C++ declarations
            IFSettings.h — C++ declarations
            IFSettingsWidgets.h — C++ declarations
            IFSurface.h — C++ declarations
            IFText.h — C++ declarations
            IFTooltip.h — C++ declarations
            IFWorldEntryLibrary.h — C++ declarations
      SourceAssets/
        Audio/
          IF_Confirm.wav — original audio source
          IF_Focus.wav — original audio source
          IF_GamePreview.wav — original audio source
        UI/
          button-active.png — image
          button-active.svg — image
          button-bevel.png — image
          button-bevel.svg — image
          button-primary-active.png — image
          button-primary-active.svg — image
          button-primary.png — image
          button-primary.svg — image
          combat-panel.png — image
          combat-panel.svg — image
          header-band.png — image
          header-band.svg — image
          provenance.json — project support file
          resource-fill.png — image
          resource-fill.svg — image
          resource-track.png — image
          resource-track.svg — image
          window-neutral.png — image
          window-neutral.svg — image
  README.md — documentation
  Review/
    DeferredInventory/
      Evidence/
        Workshop-1280x720-interaction.png — image
      ExampleContent/
        Items/
          DA_Blade.uasset — Unreal asset
          DA_Healing.uasset — Unreal asset
      InventoryForge/
        InventoryForge.uplugin — plugin/module descriptor
        Source/
          InventoryForge/
            InventoryForge.Build.cs — module dependencies
            Private/
              InvFInventoryComponent.cpp — C++ implementation
              InventoryForgeModule.cpp — C++ implementation
              Tests/
                InvFTransactionTests.cpp — C++ implementation
            Public/
              InvFInventoryComponent.h — C++ declarations
              InvFInventoryTypes.h — C++ declarations
              InvFItemDefinition.h — C++ declarations
      OriginalPlanning/
        AUDIT.md — documentation
        FEATURE_MATRIX.md — documentation
        HANDOFF.md — documentation
        PROGRESS.md — documentation
        RESEARCH.md — documentation
      README.md — documentation
      create_sample_assets.py — authoring/verification utility
    Diagnostics/
      GraphCapture/
        EditorBuild-UnacceptedCapture.txt — project support file
        ForgeGraphPolish-UnacceptedCapture.cpp — C++ implementation
        capture_language_graph_unaccepted.py — authoring/verification utility
      LanguageFocus/
        ForgeLocalizationReview-NativeProbe.cpp — C++ implementation
        verify_language_focus_live_unaccepted.py — authoring/verification utility
  Source/
    ForgeExamples/
      ForgeExamples.Build.cs — module dependencies
      Private/
        ForgeAnimationReview.cpp — C++ implementation
        ForgeArmyOrders.cpp — C++ implementation
        ForgeCustomizationReview.cpp — C++ implementation
        ForgeDemoAnimInstance.cpp — C++ implementation
        ForgeDemoWorld.cpp — C++ implementation
        ForgeEntryReview.cpp — C++ implementation
        ForgeExampleGameMode.cpp — C++ implementation
        ForgeExampleMenus.cpp — C++ implementation
        ForgeExampleUIHelpers.h — C++ declarations
        ForgeExamples.cpp — C++ implementation
        ForgeFieldCardsReview.cpp — C++ implementation
        ForgeGlyphReview.cpp — C++ implementation
        ForgeLoadingFlows.cpp — C++ implementation
        ForgeLoadingReview.cpp — C++ implementation
        ForgeLocalizationReview.cpp — C++ implementation
        ForgeNotificationReview.cpp — C++ implementation
        ForgeOutpost.cpp — C++ implementation
        ForgePilgrimage.cpp — C++ implementation
        ForgePlayableUI.cpp — C++ implementation
        ForgeProgressReview.cpp — C++ implementation
        ForgeRPGCamera.cpp — C++ implementation
        ForgeRTSReview.cpp — C++ implementation
        ForgeSceneArt.cpp — C++ implementation
        ForgeSceneArt.h — C++ declarations
        ForgeSettingsAudioReview.cpp — C++ implementation
        ForgeShippingReview.cpp — C++ implementation
        ForgeTintReview.cpp — C++ implementation
        ForgeTooltipReview.cpp — C++ implementation
        ForgeWorldReadout.cpp — C++ implementation
        ForgeWorldReview.cpp — C++ implementation
      Public/
        ForgeAnimationReview.h — C++ declarations
        ForgeCustomizationReview.h — C++ declarations
        ForgeDemoAnimInstance.h — C++ declarations
        ForgeDemoWorld.h — C++ declarations
        ForgeEntryReview.h — C++ declarations
        ForgeExampleGameMode.h — C++ declarations
        ForgeExampleMenus.h — C++ declarations
        ForgeFieldCardsReview.h — C++ declarations
        ForgeGlyphReview.h — C++ declarations
        ForgeLoadingReview.h — C++ declarations
        ForgeLocalizationReview.h — C++ declarations
        ForgeNotificationReview.h — C++ declarations
        ForgeOutpost.h — C++ declarations
        ForgePilgrimage.h — C++ declarations
        ForgePlayableUI.h — C++ declarations
        ForgeProgressReview.h — C++ declarations
        ForgeRPGCamera.h — C++ declarations
        ForgeRTSReview.h — C++ declarations
        ForgeSettingsAudioReview.h — C++ declarations
        ForgeShippingReview.h — C++ declarations
        ForgeTintReview.h — C++ declarations
        ForgeTooltipReview.h — C++ declarations
        ForgeWorldReadout.h — C++ declarations
        ForgeWorldReview.h — C++ declarations
    ForgeExamplesEditor/
      ForgeExamplesEditor.Build.cs — module dependencies
      Private/
        ForgeAnimationAuthoring.cpp — C++ implementation
        ForgeArmyHUD.cpp — C++ implementation
        ForgeArmyNavigation.cpp — C++ implementation
        ForgeCharacterAnimation.cpp — C++ implementation
        ForgeContentMigration.cpp — C++ implementation
        ForgeCustomizationAuthoring.cpp — C++ implementation
        ForgeDocumentationLibrary.cpp — C++ implementation
        ForgeExampleAuthoring.cpp — C++ implementation
        ForgeExamplesEditor.cpp — C++ implementation
        ForgeFieldCardsAuthoring.cpp — C++ implementation
        ForgeGraphPolish.cpp — C++ implementation
        ForgeIntegrationAuthoring.cpp — C++ implementation
        ForgeMenuAuthoring.cpp — C++ implementation
        ForgeProductAuthoring.cpp — C++ implementation
        ForgeProductWidgets.cpp — C++ implementation
        ForgeRPGAuthoring.cpp — C++ implementation
        ForgeSettingsAuthoring.cpp — C++ implementation
        ForgeSettingsProviderAuthoring.cpp — C++ implementation
      Public/
        ForgeDocumentationLibrary.h — C++ declarations
        ForgeExampleAuthoring.h — C++ declarations
        ForgeProductAuthoring.h — C++ declarations
    UIForge.Target.cs — Unreal build target
    UIForgeEditor.Target.cs — Unreal build target
  TODOS.md — documentation
  Tools/
    Documentation/
      add_clean_terrain.py — authoring/verification utility
      animation_before.py — authoring/verification utility
      audit_army_delivery.py — authoring/verification utility
      audit_clean_worlds.py — authoring/verification utility
      audit_competitive_baseline.py — authoring/verification utility
      audit_competitive_delivery.py — authoring/verification utility
      audit_rpg_controls.py — authoring/verification utility
      audit_todo_delivery.py — authoring/verification utility
      author_army_revision.py — authoring/verification utility
      author_button_skins.py — authoring/verification utility
      author_competitive_accessibility.py — authoring/verification utility
      author_competitive_book_tooltips.py — authoring/verification utility
      author_competitive_layout.py — authoring/verification utility
      author_integration_tutorial.py — authoring/verification utility
      author_resource_skins.py — authoring/verification utility
      author_rpg_revision.py — authoring/verification utility
      author_shared_themes.py — authoring/verification utility
      author_visual_integrity.py — authoring/verification utility
      bake_product_maps.py — authoring/verification utility
      bake_product_portrait.py — authoring/verification utility
      begin_rpg_key_capture.py — authoring/verification utility
      build_catalog.py — authoring/verification utility
      build_product_worlds.py — authoring/verification utility
      build_scheme.py — authoring/verification utility
      build_tabbed_settings.py — authoring/verification utility
      cancel_hud_scale.py — authoring/verification utility
      capture_army_revision.py — authoring/verification utility
      capture_blueprints.py — authoring/verification utility
      capture_clean_gallery.py — authoring/verification utility
      capture_competitive_responsive.py — authoring/verification utility
      capture_competitive_review.py — authoring/verification utility
      capture_details.py — authoring/verification utility
      capture_optional.py — authoring/verification utility
      capture_product_blueprints.py — authoring/verification utility
      capture_product_gallery.py — authoring/verification utility
      capture_rpg.py — authoring/verification utility
      capture_rpg_final_review.py — authoring/verification utility
      capture_rts.py — authoring/verification utility
      capture_visual_manual.py — authoring/verification utility
      capture_widgets.py — authoring/verification utility
      capture_world_edges.py — authoring/verification utility
      check_rpg_persistence.py — authoring/verification utility
      clean_product_generated.ps1 — local build/capture/verification script
      clear_failed_roster_graph.py — authoring/verification utility
      close_animation_editors.py — authoring/verification utility
      close_documentation_editors.py — authoring/verification utility
      compare_animation_pose.py — authoring/verification utility
      configure_animation22.py — authoring/verification utility
      configure_product_art.py — authoring/verification utility
      configure_product_input.py — authoring/verification utility
      configure_product_maps.py — authoring/verification utility
      draw_button_skin.py — authoring/verification utility
      draw_integrity_chrome.py — authoring/verification utility
      draw_resource_art.py — authoring/verification utility
      draw_shared_chrome.py — authoring/verification utility
      editor_capture.py — authoring/verification utility
      export_packaged_motion.py — authoring/verification utility
      finish_army_navigation.py — authoring/verification utility
      finish_clean_navigation.py — authoring/verification utility
      finish_ground_material.py — authoring/verification utility
      fix_party_background.py — authoring/verification utility
      focus_rpg_viewport.py — authoring/verification utility
      host_request.py — authoring/verification utility
      import_animation22.py — authoring/verification utility
      import_product_art.py — authoring/verification utility
      import_vector_ability_icons.py — authoring/verification utility
      inspect_animation_api.py — authoring/verification utility
      inspect_animation_mesh.py — authoring/verification utility
      inspect_blend_data.py — authoring/verification utility
      inspect_competitive_menu.py — authoring/verification utility
      inspect_documentation_end.py — authoring/verification utility
      inspect_menu_clearance.py — authoring/verification utility
      inspect_product_assets.py — authoring/verification utility
      inspect_roster_nodes.py — authoring/verification utility
      inspect_rpg_bones.py — authoring/verification utility
      inspect_rpg_camera.py — authoring/verification utility
      inspect_rpg_camera_api.py — authoring/verification utility
      inspect_rpg_collision_api.py — authoring/verification utility
      inspect_rpg_shortcuts.py — authoring/verification utility
      inspect_rpg_surfaces.py — authoring/verification utility
      inspect_settings_api.py — authoring/verification utility
      inspect_world_dressing.py — authoring/verification utility
      install_current_candidates.py — authoring/verification utility
      install_example_archive.py — authoring/verification utility
      isolate_animation_pose.py — authoring/verification utility
      log_rpg_input.py — authoring/verification utility
      make_todo_candidate.py — authoring/verification utility
      migrate_plugin_content.py — authoring/verification utility
      place_world_camera.py — authoring/verification utility
      polish_army_worlds.py — authoring/verification utility
      polish_gateway_alignment.py — authoring/verification utility
      polish_product_worlds.py — authoring/verification utility
      polish_rpg_menu_sizing.py — authoring/verification utility
      polish_rpg_pause_input.py — authoring/verification utility
      prepare_content_migration.py — authoring/verification utility
      prepare_doc_capture.py — authoring/verification utility
      prepare_dynamic_setting_row.py — authoring/verification utility
      prepare_learning_documentation.py — authoring/verification utility
      prepare_optional_host.py — authoring/verification utility
      prepare_tutorial_host.py — authoring/verification utility
      preview_clean_worlds.py — authoring/verification utility
      preview_competitive_hud.py — authoring/verification utility
      preview_hud_scale.py — authoring/verification utility
      preview_menu_composition.py — authoring/verification utility
      preview_moonsteel.py — authoring/verification utility
      preview_strategy_skin.py — authoring/verification utility
      probe_current_movement.py — authoring/verification utility
      probe_knight_animation.py — authoring/verification utility
      probe_knight_facing.py — authoring/verification utility
      probe_mixed_pointer_policy.py — authoring/verification utility
      probe_movement_delivery.py — authoring/verification utility
      recover_competitive_roster.py — authoring/verification utility
      recover_settings_fixture.py — authoring/verification utility
      redress_example_worlds.py — authoring/verification utility
      refine_product_worlds.py — authoring/verification utility
      refresh_tutorial_host.py — authoring/verification utility
      repair_animation_blend.py — authoring/verification utility
      request.py — authoring/verification utility
      restart_rpg_persistence.py — authoring/verification utility
      retire_previous_gallery.py — authoring/verification utility
      review_icon_states.py — authoring/verification utility
      rpg_inspect.py — authoring/verification utility
      rpg_qa_setup.py — authoring/verification utility
      save_product_portrait.py — authoring/verification utility
      save_rpg_clones.py — authoring/verification utility
      snapshot_competitive_binding.py — authoring/verification utility
      stage_settings_capture.py — authoring/verification utility
      summarize_product_profile.py — authoring/verification utility
      tune_clean_lighting.py — authoring/verification utility
      tutorial_host_service.py — authoring/verification utility
      update_content_paths.py — authoring/verification utility
      validate_animation_blueprints.py — authoring/verification utility
      validate_army_blueprints.py — authoring/verification utility
      validate_competitive_blueprints.py — authoring/verification utility
      validate_rpg_blueprints.py — authoring/verification utility
      validate_visual_manual.py — authoring/verification utility
      verify_animation_final.py — authoring/verification utility
      verify_animation_gameplay.py — authoring/verification utility
      verify_animation_runtime.py — authoring/verification utility
      verify_army_core_load.py — authoring/verification utility
      verify_army_input.py — authoring/verification utility
      verify_army_orders.py — authoring/verification utility
      verify_army_virtualization.py — authoring/verification utility
      verify_blueprint_setting_provider.py — authoring/verification utility
      verify_button_skins.py — authoring/verification utility
      verify_choice_back.py — authoring/verification utility
      verify_choice_lifetime.py — authoring/verification utility
      verify_clean_revision.py — authoring/verification utility
      verify_clean_world_gameplay.py — authoring/verification utility
      verify_competitive_ability_book.py — authoring/verification utility
      verify_competitive_core_load.py — authoring/verification utility
      verify_competitive_customization.py — authoring/verification utility
      verify_competitive_gameplay.py — authoring/verification utility
      verify_competitive_menu_hierarchy.py — authoring/verification utility
      verify_competitive_roster_layout.py — authoring/verification utility
      verify_competitive_settings.py — authoring/verification utility
      verify_competitive_virtualization.py — authoring/verification utility
      verify_final_archive_members.py — authoring/verification utility
      verify_independent_archive.py — authoring/verification utility
      verify_input_contexts.py — authoring/verification utility
      verify_knight_contacts.py — authoring/verification utility
      verify_knight_directions.py — authoring/verification utility
      verify_knight_motion.py — authoring/verification utility
      verify_menu_tableau.py — authoring/verification utility
      verify_mmo_attack_intent.py — authoring/verification utility
      verify_presentation_contracts.py — authoring/verification utility
      verify_product_flows.py — authoring/verification utility
      verify_product_input.py — authoring/verification utility
      verify_product_revision.py — authoring/verification utility
      verify_product_slice.py — authoring/verification utility
      verify_resource_brushes.py — authoring/verification utility
      verify_rpg_camera.py — authoring/verification utility
      verify_rpg_core_load.py — authoring/verification utility
      verify_rpg_defaults.py — authoring/verification utility
      verify_rpg_final.py — authoring/verification utility
      verify_rpg_gameplay.py — authoring/verification utility
      verify_rpg_input.py — authoring/verification utility
      verify_rpg_pie_back.py — authoring/verification utility
      verify_rpg_rebinding.py — authoring/verification utility
      verify_settings_centering.py — authoring/verification utility
      verify_settings_save_failure.py — authoring/verification utility
      verify_settings_session.py — authoring/verification utility
      verify_submenu_focus.py — authoring/verification utility
      verify_tutorial_flow.py — authoring/verification utility
      verify_visual_integrity_alignment.py — authoring/verification utility
      verify_visual_manual_flow.py — authoring/verification utility
      verify_wildcard_redirects.py — authoring/verification utility
      watch_native_mmo_attack.py — authoring/verification utility
      write_product_receipt.py — authoring/verification utility
      write_todo_delivery_docs.py — authoring/verification utility
    add_field_cards.py — authoring/verification utility
    add_language_settings.py — authoring/verification utility
    add_menu_navigation_cues.py — authoring/verification utility
    add_navigation_hint_hosts.py — authoring/verification utility
    add_progress_presentation.py — authoring/verification utility
    add_world_navigation.py — authoring/verification utility
    archive_binary_plugins.py — authoring/verification utility
    archive_playable_example.py — authoring/verification utility
    archive_review_candidate.py — authoring/verification utility
    assemble_review_candidate.py — authoring/verification utility
    audit_mass_deliverable.py — authoring/verification utility
    audit_mass_package.py — authoring/verification utility
    audit_review_candidate.py — authoring/verification utility
    audit_unreal.py — authoring/verification utility
    bind_menu_presentation.py — authoring/verification utility
    capture_baseline.py — authoring/verification utility
    check_distribution_boundary.py — authoring/verification utility
    collect_localization_evidence.py — authoring/verification utility
    create_animation_example.py — authoring/verification utility
    create_applied_prompt.py — authoring/verification utility
    create_blueprint_examples.py — authoring/verification utility
    create_center_tint_material.py — authoring/verification utility
    create_controller_glyphs.py — authoring/verification utility
    create_customization_examples.py — authoring/verification utility
    create_mass_example.py — authoring/verification utility
    create_original_audio.py — authoring/verification utility
    create_playable_assets.py — authoring/verification utility
    create_rpg_assets.py — authoring/verification utility
    create_ui_assets.py — authoring/verification utility
    create_ui_audio_assets.py — authoring/verification utility
    detect_input_devices.py — authoring/verification utility
    inspect_blueprint_only_assets.py — authoring/verification utility
    inspect_sakura_live_cooldown.py — authoring/verification utility
    package_review_candidate.ps1 — local build/capture/verification script
    package_shipping_review.ps1 — local build/capture/verification script
    prepare_binary_install_hosts.py — authoring/verification utility
    prepare_blueprint_package_host.py — authoring/verification utility
    prepare_engine_example.py — authoring/verification utility
    prepare_mass_m4.py — authoring/verification utility
    prepare_progress_host.py — authoring/verification utility
    prepare_rpg_quest_audit.py — authoring/verification utility
    prepare_touch_audit.py — authoring/verification utility
    read_reference_widgets.py — authoring/verification utility
    read_sakura_cooldown.py — authoring/verification utility
    record_if3_visual_review.py — authoring/verification utility
    refine_language_graph.py — authoring/verification utility
    refine_menu_hierarchy.py — authoring/verification utility
    refine_notification_examples.py — authoring/verification utility
    refine_original_menus.py — authoring/verification utility
    refine_rpg_action_dock.py — authoring/verification utility
    refine_rpg_headers.py — authoring/verification utility
    refine_rpg_notification_clearance.py — authoring/verification utility
    refine_rpg_prompt.py — authoring/verification utility
    refine_rpg_safe_area.py — authoring/verification utility
    refine_settings_audio.py — authoring/verification utility
    refine_tooltip_presentation.py — authoring/verification utility
    run_animation_reviews.ps1 — local build/capture/verification script
    run_aspect_reviews.ps1 — local build/capture/verification script
    run_binary_install_checks.ps1 — local build/capture/verification script
    run_compat_polish_matrix.ps1 — local build/capture/verification script
    run_customization_reviews.ps1 — local build/capture/verification script
    run_entry_core_checks.ps1 — local build/capture/verification script
    run_entry_example_matrix.ps1 — local build/capture/verification script
    run_entry_scale_reviews.ps1 — local build/capture/verification script
    run_field_cards.ps1 — local build/capture/verification script
    run_field_cards_matrix.ps1 — local build/capture/verification script
    run_final_ui_audit.ps1 — local build/capture/verification script
    run_glyph_reviews.ps1 — local build/capture/verification script
    run_list_theme_matrix.ps1 — local build/capture/verification script
    run_loading_reviews.ps1 — local build/capture/verification script
    run_localization_matrix.ps1 — local build/capture/verification script
    run_mass_current_core.ps1 — local build/capture/verification script
    run_mass_example_reviews.ps1 — local build/capture/verification script
    run_new_labels_matrix.ps1 — local build/capture/verification script
    run_newer_quest_reviews.ps1 — local build/capture/verification script
    run_normal_startup.ps1 — local build/capture/verification script
    run_nullable_entry_check.ps1 — local build/capture/verification script
    run_progress_core_checks.ps1 — local build/capture/verification script
    run_progress_flow_regressions.ps1 — local build/capture/verification script
    run_progress_newer_matrix.ps1 — local build/capture/verification script
    run_progress_reviews.ps1 — local build/capture/verification script
    run_rts_reviews.ps1 — local build/capture/verification script
    run_safe_area_matrix.ps1 — local build/capture/verification script
    run_settings_audio_reviews.ps1 — local build/capture/verification script
    run_shipping_reviews.ps1 — local build/capture/verification script
    run_tooltip_reviews.ps1 — local build/capture/verification script
    run_world_reviews.ps1 — local build/capture/verification script
    summarize_candidate_runtime.py — authoring/verification utility
    summarize_entry_example_matrix.py — authoring/verification utility
    summarize_exported_widgets.py — authoring/verification utility
    summarize_field_cards_matrix.py — authoring/verification utility
    summarize_final_ui_audit.py — authoring/verification utility
    summarize_mass_example.py — authoring/verification utility
    summarize_new_labels.py — authoring/verification utility
    summarize_progress_core.py — authoring/verification utility
    summarize_progress_flows.py — authoring/verification utility
    summarize_progress_runtime.py — authoring/verification utility
    summarize_progress_ward.py — authoring/verification utility
    summarize_shipping_review.py — authoring/verification utility
    theme_example_scrollboxes.py — authoring/verification utility
    theme_journal_list.py — authoring/verification utility
    translate_example_tr.py — authoring/verification utility
    verify_animation_review.py — authoring/verification utility
    verify_binary_install.py — authoring/verification utility
    verify_blueprint_package.py — authoring/verification utility
    verify_candidate_runtime.ps1 — local build/capture/verification script
    verify_core_host.py — authoring/verification utility
    verify_customization_review.py — authoring/verification utility
    verify_default_launch.py — authoring/verification utility
    verify_documentation_derivative.py — authoring/verification utility
    verify_engine_matrix.ps1 — local build/capture/verification script
    verify_entry_review.py — authoring/verification utility
    verify_field_cards.py — authoring/verification utility
    verify_glyph_review.py — authoring/verification utility
    verify_language_graph.py — authoring/verification utility
    verify_loading_review.py — authoring/verification utility
    verify_localization_review.py — authoring/verification utility
    verify_mass_current_core.py — authoring/verification utility
    verify_mass_example.py — authoring/verification utility
    verify_notification_review.py — authoring/verification utility
    verify_progress_review.py — authoring/verification utility
    verify_progress_sources.py — authoring/verification utility
    verify_reference_preservation.py — authoring/verification utility
    verify_rpg_quest_audit.py — authoring/verification utility
    verify_rts_review.py — authoring/verification utility
    verify_settings_audio_review.py — authoring/verification utility
    verify_shipping_review.py — authoring/verification utility
    verify_tooltip_review.py — authoring/verification utility
    verify_touch_activation.py — authoring/verification utility
    verify_world_review.py — authoring/verification utility
    wrap_localized_pause.py — authoring/verification utility
  UIForge.uproject — project descriptor
  Binaries/ — generated/evidence/recovery, 16 files; full index lists each filename
  Intermediate/ — generated/evidence/recovery, 561 files; full index lists each filename
  DerivedDataCache/ — generated/evidence/recovery, 8 files; full index lists each filename
  Saved/ — generated/evidence/recovery, 380 files; full index lists each filename
  Evidence/ — generated/evidence/recovery, 1713 files; full index lists each filename
  Maintenance/ — generated/evidence/recovery, 1030 files; full index lists each filename

C++ and tool objects ​

Names, fields, functions, enum values, delegates and test macros are extracted from the source. Reflected defaults and Blueprint flags follow below. Descriptions use source comments where available; unnamed local temporaries are implementation detail rather than public objects.

Examples/ForgeMassExamples/Source/ForgeMassExamples.Target.cs ​

text
C# class ForgeMassExamplesTarget : TargetRules [L2]
  constructor ForgeMassExamplesTarget(TargetInfo Target) [L4]
module dependencies ExtraModuleNames: ForgeMassExamples [L4]

Examples/ForgeMassExamples/Source/ForgeMassExamples/ForgeMassExamples.Build.cs ​

text
C# class ForgeMassExamples : ModuleRules [L2]
  constructor ForgeMassExamples(ReadOnlyTargetRules Target) [L4]
module dependencies PublicDependencyModuleNames: Core, CoreUObject, Engine, InterfaceForge, InterfaceForgeMass, MassForge, MassEntity, MassActors, UMG, Slate, SlateCore [L4]
module dependencies PrivateDependencyModuleNames: InputCore, ApplicationCore [L4]

Examples/ForgeMassExamples/Source/ForgeMassExamples/Private/Watchpost.cpp ​

text
function AWatchpostGameMode::AWatchpostGameMode() [L23]
function void AWatchpostController::BeginPlay() [L24]
function void AWatchpostController::SpawnScouts() [L40]
function UObject* AWatchpostController::GetUIModel_Implementation(FName Name) [L61]
function void AWatchpostController::EntityViewChanged() [L67]
function void AWatchpostController::UpdateSummary() [L68]
function void AWatchpostController::ChangeHealth(float Delta) [L73]
function void AWatchpostController::Retire() [L79]
function void AWatchpostController::Reinforce() [L85]
function bool AWatchpostController::RequestUIAction_Implementation(FName Name,UObject*) [L91]
function void AWatchpostController::EndPlay(const EEndPlayReason::Type Reason) [L102]

Examples/ForgeMassExamples/Source/ForgeMassExamples/Private/WatchpostReview.cpp ​

text
function void Key(FKey K) [L21]
function UTextBlock* FindLabel(UIFButton* Button) [L22]
function bool VisibleHealth(UIFScreen* Screen,FName EntryName) [L23]
function void AWatchpostReview::Start(AWatchpostController* Player) [L24]
function void AWatchpostReview::Check(bool Result,const TCHAR* Reason) [L29]
function void AWatchpostReview::Press(FName Name) [L30]
function void AWatchpostReview::Capture(const TCHAR* Name) [L31]
function void AWatchpostReview::Step() [L32]

Examples/ForgeMassExamples/Source/ForgeMassExamples/Public/Watchpost.h ​

text
class AWatchpostController [L14] — Small local example backend. Entity mutation belongs here, never in InterfaceForgeMass.
  function virtual void BeginPlay() override; [L18]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L19]
  function virtual UObject* GetUIModel_Implementation(FName Name) override; [L20]
  function virtual bool RequestUIAction_Implementation(FName Action,UObject* Context) override; [L21]
  function bool UsesMassBackend()const [L22]
  function int32 GetSelectedScout()const [L23]
  function UIFScreen* GetWatchpostScreen()const [L24]
  function void SpawnScouts(); [L26]
  function void UpdateSummary(); [L26]
  function void ChangeHealth(float Delta); [L26]
  function void Retire(); [L26]
  function void Reinforce(); [L26]
  function void EntityViewChanged(); [L27]
  field TObjectPtr<UIFScreen> Screen; [L28]
  field TArray<TObjectPtr<UIFMassEntitySource>> Sources; [L29]
  field TArray<TObjectPtr<UIFPresentationData>> Standalone; [L30]
  field TObjectPtr<UIFPresentationData> Summary; [L31]
  field TArray<TObjectPtr<AActor>> Actors; [L32]
  field TArray<FMFEntityHandle> Handles; [L33]
  field TArray<bool> Alive; [L33]
  field int32 Selected=0; [L34]
  field bool bMass=true,bEnding=false; [L34]
class AWatchpostGameMode [L37]
  function AWatchpostGameMode(); [L40]

Examples/ForgeMassExamples/Source/ForgeMassExamples/Public/WatchpostReview.h ​

text
class AWatchpostReview [L8]
  function void Start(AWatchpostController* Player); [L11]
  function void Step(); [L13]
  function void Check(bool Result,const TCHAR* Reason); [L13]
  function void Press(FName Name); [L13]
  function void Capture(const TCHAR* Name); [L13]
  field TObjectPtr<AWatchpostController> Controller; [L14]
  field FTimerHandle Timer; [L15]
  field int32 Stage=0; [L15]
  field bool Passed=true; [L15]

Examples/ForgeMassExamples/Source/ForgeMassExamplesEditor.Target.cs ​

text
C# class ForgeMassExamplesEditorTarget : TargetRules [L2]
  constructor ForgeMassExamplesEditorTarget(TargetInfo Target) [L4]
module dependencies ExtraModuleNames: ForgeMassExamples, ForgeMassExamplesEditor [L4]

Examples/ForgeMassExamples/Source/ForgeMassExamplesEditor/ForgeMassExamplesEditor.Build.cs ​

text
C# class ForgeMassExamplesEditor : ModuleRules [L2]
  constructor ForgeMassExamplesEditor(ReadOnlyTargetRules Target) [L4]
module dependencies PublicDependencyModuleNames: Core, CoreUObject, Engine [L4]
module dependencies PrivateDependencyModuleNames: UnrealEd, UMG, UMGEditor, Kismet, KismetCompiler, BlueprintGraph, AssetRegistry, Slate, SlateCore, InterfaceForge, CommonUI, MassForge, ForgeMassExamples [L4]

Examples/ForgeMassExamples/Source/ForgeMassExamplesEditor/Private/WatchpostAuthoring.cpp ​

text
function T* Node(UEdGraph* G,int X,int Y) [L46]
function void Link(UEdGraphPin* A,UEdGraphPin* B) [L47]
function UK2Node_CallFunction* Call(UEdGraph* G,UClass* Class,FName Name,int X,int Y) [L48]
function UK2Node_VariableGet* Get(UEdGraph* G,FName Name,int X,int Y) [L49]
function UK2Node_Event* Event(UEdGraph* G,UClass* Class,FName Name) [L50]
function bool Save(UObject* Object) [L51]
function UWidgetBlueprint* Create(const TCHAR* Name,UClass* Parent) [L52]
function UEdGraph* Graph(UWidgetBlueprint* BP) [L53]
function void Compile(UWidgetBlueprint* BP) [L54]
function T* Widget(UWidgetBlueprint* BP,FName Name) [L55]
function void FinishScreen(UWidgetBlueprint* BP) [L56]
function UIFText* Text(UWidgetBlueprint* BP,FName Name,const TCHAR* Value,int32 Size) [L86]
function bool Entry() [L87]
function bool Screen() [L105]
function bool UWatchpostAuthoring::CreateInterface() [L135]

Examples/ForgeMassExamples/Source/ForgeMassExamplesEditor/Public/WatchpostAuthoring.h ​

text
class UWatchpostAuthoring [L6]
  function static bool CreateInterface(); [L9]

Integrations/InterfaceForgeMass/Source/InterfaceForgeMass/InterfaceForgeMass.Build.cs ​

text
C# class InterfaceForgeMass : ModuleRules [L3]
  constructor InterfaceForgeMass(ReadOnlyTargetRules Target) [L5]
module dependencies PublicDependencyModuleNames: Core, CoreUObject, Engine, InterfaceForge, MassForge [L8]
module dependencies PrivateDependencyModuleNames: MassEntity, MassActors [L9]

Integrations/InterfaceForgeMass/Source/InterfaceForgeMass/Private/IFMassEntitySource.cpp ​

text
function EIFMassViewState UIFMassEntitySource::ObserveEntity(const UObject* Context,FMFEntityHandle Entity,FMFAttributeId ValueAttribute,FText Title,float FixedMaximum) [L10]
function EMFEntityResolveResult UIFMassEntitySource::ObserveActor(const UObject* Context,AActor* Actor,FMFAttributeId ValueAttribute,FText Title,float FixedMaximum) [L23]
function void UIFMassEntitySource::SetUnavailable(EIFMassViewState NewState,const FText& Reason) [L29]
function EIFMassViewState UIFMassEntitySource::RefreshEntity() [L37]
function void UIFMassEntitySource::StopObserving() [L62]
function UObject* UIFMassEntitySource::GetUIModel_Implementation(FName Name) [L69]
function bool UIFMassEntitySource::RequestUIAction_Implementation(FName ActionName,UObject* Context) [L70]
function bool UIFMassViewSubsystem::DoesSupportWorldType(EWorldType::Type Type)const [L77]
function void UIFMassViewSubsystem::Initialize(FSubsystemCollectionBase& Collection) [L78]
function void UIFMassViewSubsystem::Deinitialize() [L83]
function bool UIFMassViewSubsystem::RegisterSource(UIFMassEntitySource* Source) [L90]
function void UIFMassViewSubsystem::UnregisterSource(UIFMassEntitySource* Source) [L96]
function void UIFMassViewSubsystem::AttributeChanged(FMFEntityHandle Entity,FMFAttributeId,float,float,FName,bool) [L101]
function void UIFMassViewSubsystem::Tick(float) [L103]
function TStatId UIFMassViewSubsystem::GetStatId()const [L112]
function int32 UIFMassViewSubsystem::GetObservedSourceCount()const [L113]

Integrations/InterfaceForgeMass/Source/InterfaceForgeMass/Private/Tests/IFMassAdapterTests.cpp ​

text
macro object IMPLEMENT_SIMPLE_AUTOMATION_TEST(FIFMassAdapterTest,"InterfaceForge.MassAdapter.Lifecycle",EAutomationTestFlags::EditorContext|EAutomationTestFlags::EngineFilter) [L17]
function bool FIFMassAdapterTest::RunTest(const FString&) [L18]
function TStrongObjectPtr<UMF_VitalAttributesSchemaData> Schema(NewObject<UMF_VitalAttributesSchemaData>()); [L21]
  field UMF_MassForgeAttributesSchemaSettings* S; [L25]
  field TSoftObjectPtr<UMF_VitalAttributesSchemaData> Value; [L25]
  function ~FRestore() [L25]
struct FRestore [L25]
  field UWorld* W; [L30]
  field bool bDestroyed=false; [L30]
  function ~FCleanup() [L30]
struct FCleanup [L30]
function TStrongObjectPtr<UIFMassEntitySource> Source(NewObject<UIFMassEntitySource>()); [L36]
function TStrongObjectPtr<UIFMassTestSink> Sink(NewObject<UIFMassTestSink>()); [L41]
function TStrongObjectPtr<UIFMassEntitySource> ActorSource(NewObject<UIFMassEntitySource>()); [L52]
function TStrongObjectPtr<UIFMassEntitySource> View(NewObject<UIFMassEntitySource>()); [L63]
function TStrongObjectPtr<UIFMassEntitySource> Extra(NewObject<UIFMassEntitySource>()); [L64]

Integrations/InterfaceForgeMass/Source/InterfaceForgeMass/Private/Tests/IFMassTestSink.h ​

text
class UIFMassTestSink [L8] — Internal automation receiver; no game or authoring workflow depends on it.
  field int32 Changes=0,Actions=0; [L12]
  field bool bStopOnChange=false; [L12]
  field TObjectPtr<UIFMassEntitySource> Source; [L13]
  function void Changed() [L14]
  function void Requested(FName ActionName,FMFEntityHandle Entity,UObject* Context) [L15]

Integrations/InterfaceForgeMass/Source/InterfaceForgeMass/Public/IFMassEntitySource.h ​

text
enum EIFMassViewState [L13]
  value Uninitialized [L13]
  value Ready [L13]
  value WaitingForMass [L13]
  value InvalidEntity [L13]
  value UnavailableAttribute [L13]
  value InvalidWorld [L13]
  value CapacityReached [L13]
  value Released [L13]
function DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FIFMassUIActionRequested,FName,ActionName,FMFEntityHandle,Entity,UObject*,Context) [L14]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FIFMassUIActionRequested,FName,ActionName,FMFEntityHandle,Entity,UObject*,Context); [L14]
class UIFMassEntitySource [L18] — A presentation-only adapter. The project owns selection, actions and authority.
  function EIFMassViewState ObserveEntity(const UObject* WorldContextObject,FMFEntityHandle Entity,FMFAttributeId ValueAttribute,FText Title,float FixedMaximum=100.f); [L24] — Bind an explicit world-scoped handle. Handles do not contain a world ID; use the originating world.
  function EMFEntityResolveResult ObserveActor(const UObject* WorldContextObject,AActor* Actor,FMFAttributeId ValueAttribute,FText Title,float FixedMaximum=100.f); [L27] — Resolve MassForge's actual Actor representation, including different-world/stale failures.
  field FMFAttributeId MaximumAttribute; [L29] — Optional configured maximum attribute. None uses the explicit fixed maximum.
  field bool bForwardActions=false; [L31] — Opt in to forwarding requests to the owning project's callback. This adapter executes no gameplay.
  field FIFMassUIActionRequested OnActionRequested; [L32]
  function void StopObserving(); [L33]
  function EIFMassViewState RefreshEntity(); [L34]
  function EIFMassViewState GetViewState() const [L35]
  function FMFEntityHandle GetObservedEntity() const [L36]
  function UIFPresentationData* GetEntityModel() const [L38] — Stable object through updates, invalidation and release. Use Initialize Entry with this model.
  function virtual UObject* GetUIModel_Implementation(FName ModelName) override; [L39]
  function virtual bool RequestUIAction_Implementation(FName ActionName,UObject* Context) override; [L40]
  function virtual UWorld* GetWorld() const override [L41]
  function void SetUnavailable(EIFMassViewState NewState,const FText& Reason); [L44]
  field TObjectPtr<UIFPresentationData> Model; [L45]
  field TWeakObjectPtr<UWorld> ObservedWorld; [L46]
  field FMFEntityHandle Handle; [L47]
  field FMFAttributeId Attribute; [L47]
  field EIFMassViewState State=EIFMassViewState::Uninitialized; [L48]
  field float Maximum=100.f; [L49]
  field bool bNeedsRefresh=true; [L49]
class UIFMassViewSubsystem [L54] — One bounded watcher registry per world. Never queries the whole entity population or ticks widgets.
  function virtual void Initialize(FSubsystemCollectionBase& Collection) override; [L58]
  function virtual void Deinitialize() override; [L59]
  function virtual void Tick(float DeltaTime) override; [L60]
  function virtual TStatId GetStatId() const override; [L61]
  function virtual bool IsTickableWhenPaused() const override [L62]
  function bool RegisterSource(UIFMassEntitySource* Source); [L63]
  function void UnregisterSource(UIFMassEntitySource* Source); [L64]
  function int32 GetObservedSourceCount() const; [L65]
  field static constexpr int32 MaxObservedSources=512; [L66]
  function virtual bool DoesSupportWorldType(EWorldType::Type Type) const override; [L68]
  function void AttributeChanged(FMFEntityHandle Entity,FMFAttributeId Attribute,float Previous,float Current,FName Source,bool bClamped); [L70]
  field TObjectPtr<UMF_AttributeSubsystem> Attributes; [L71]
  field TArray<TWeakObjectPtr<UIFMassEntitySource>> Sources; [L72]
  field FCriticalSection PendingGuard; [L73]
  field TSet<FMFEntityHandle> WatchedEntities,Pending; [L74]
  field FDelegateHandle AttributeHandle; [L75]
  field double NextLifetimeCheck=0; [L76]
  field bool bShuttingDown=false; [L77]

Plugins/InterfaceForge/Source/InterfaceForge/InterfaceForge.Build.cs ​

text
C# class InterfaceForge : ModuleRules [L3]
  constructor InterfaceForge(ReadOnlyTargetRules Target) [L5]
module dependencies PublicDependencyModuleNames: Core, CoreUObject, Engine, UMG, Slate, SlateCore, CommonUI, CommonInput, EnhancedInput, InputCore, GameplayTags [L8]
module dependencies PrivateDependencyModuleNames: ApplicationCore, DeveloperSettings [L9]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFActionPrompt.cpp ​

text
function void UIFActionPrompt::NativeOnInitialized() [L18]
function void UIFActionPrompt::NativeConstruct() [L30]
function void UIFActionPrompt::NativeDestruct() [L49]
function void UIFActionPrompt::RefreshPrompt() [L66]
function void UIFActionPrompt::InputChanged(EIFInputPresentation,EIFInputPresentation) [L98]
function void UIFActionPrompt::SettingsChanged(UEnhancedInputUserSettings*) [L99]
function void UIFActionPrompt::SettingsApplied() [L100]
function void UIFActionPrompt::ThemeChanged(UIFTheme*) [L101]
function void UIFActionPrompt::ProfileChanged(const UEnhancedPlayerMappableKeyProfile*) [L102]
function void UIFActionPrompt::MethodChanged(ECommonInputType) [L103]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFBindingEntry.cpp ​

text
function void PresentBindingStatus(UTextBlock* Label,const FText& Message) [L15]
function void UIFBindingEntry::NativeConstruct() [L18]
function void UIFBindingEntry::NativeDestruct() [L24]
function void UIFBindingEntry::RefreshBinding() [L25]
function TGuardValue<bool> Guard(bRefreshing,true); [L28]
function void UIFBindingEntry::SelectorStateChanged() [L35]
function void UIFBindingEntry::RefreshKeyPresentation() [L36]
function void UIFBindingEntry::KeySelected(FInputChord Chord) [L48]
function bool UIFBindingEntry::RestoreBindingDefault() [L55]
function void UIFRemappingScreen::NativeConstruct() [L60]
function void UIFRemappingScreen::VisitBindings(TFunctionRef<void(UIFBindingEntry*)> Visitor) [L67]
function void UIFRemappingScreen::NativeOnActivated() [L71]
function void UIFRemappingScreen::ApplyClicked() [L76]
function bool UIFRemappingScreen::ApplyBindings() [L77]
function void UIFRemappingScreen::CancelBindings() [L83]
function void UIFRemappingScreen::RestoreBindingDefaults() [L84]
function bool UIFRemappingScreen::NativeOnHandleBackAction() [L85]
function void UIFRemappingScreen::NativeOnDeactivated() [L86]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFButton.cpp ​

text
function UIFButtonStyle::UIFButtonStyle() [L17]
function UIFButton::UIFButton() [L26]
function void UIFButton::NativeOnInitialized() [L33]
function TSharedRef<SWidget> UIFButton::RebuildWidget() [L38]
function TGuardValue<bool> Guard(bBuildingPreviewContent,IsDesignTime()); [L44]
function void UIFButton::NativePreConstruct() [L49]
function void UIFButton::EnsureNativeContent() [L56]
function void UIFButton::SetLabel(FText Text) [L71]
function void UIFButton::SetButtonRole(EIFButtonRole NewRole) [L72]
function void UIFButton::SetTooltipData(UObject* Data) [L73]
function void UIFButton::SetActionAvailability(bool Available,FText Reason) [L75]
function void UIFButton::SynchronizeProperties() [L81]
function void UIFButton::NativeOnAddedToFocusPath(const FFocusEvent& Event) [L82]
function void UIFButton::NativeOnRemovedFromFocusPath(const FFocusEvent& Event) [L84]
function UIFTheme* UIFButton::ResolveTheme() const [L86]
function void UIFButton::RefreshAppearance() [L92]
function void UIFButton::PresentAppearance() [L166]
function void UIFButton::StopAppearanceAnimation() [L171]
function void UIFButton::UpdateAppearanceColors(FLinearColor Tint,FLinearColor Text,float Seconds) [L173]
function bool UIFButton::AdvanceAppearance(float DeltaSeconds) [L184]
function void UIFButton::NativeConstruct() [L192]
function void UIFButton::NativeDestruct() [L205]
function void UIFButton::ThemeChanged(UIFTheme*) [L215]
function void UIFButton::PreferencesChanged(const FIFUIPreferences&) [L216]
function void UIFButton::InputChanged(EIFInputPresentation,EIFInputPresentation) [L217]
function void UIFButton::NativeOnMouseEnter(const FGeometry& Geometry,const FPointerEvent& Event) [L218]
function void UIFButton::NativeOnMouseLeave(const FPointerEvent& Event) [L229]
function void UIFButton::NativeOnHovered() [L234]
function void UIFButton::NativeOnUnhovered() [L239]
function void UIFButton::NativeOnPressed() [L240]
function void UIFButton::NativeOnReleased() [L241]
function void UIFButton::NativeOnSelected(bool bBroadcast) [L242]
function void UIFButton::NativeOnDeselected(bool bBroadcast) [L243]
function void UIFButton::NativeOnEnabled() [L244]
function void UIFButton::NativeOnDisabled() [L245]
function void UIFButton::NativeOnClicked() [L246]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFCenterTint.cpp ​

text
function float Unit(float V) [L6]
function UIFCenterTint::UIFCenterTint() [L7]
function void UIFCenterTint::SetRemainingFraction(float Fraction) [L13]
function void UIFCenterTint::SynchronizeProperties() [L14]
function void UIFCenterTint::RefreshTint() [L15]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFCommandButton.cpp ​

text
function void UIFCommandButton::NativeConstruct() [L7]
function void UIFCommandButton::RefreshCommandBinding() [L8]
function void UIFCommandButton::RefreshCommandModel() [L20]
function void UIFCommandButton::NativeOnClicked() [L26]
function void UIFCommandButton::NativeDestruct() [L35]
function void UIFCommandButton::ClearCommandBinding() [L39]
function void UIFCommandButton::SetCommandContext(UObject* Context) [L44]
function UObject* UIFCommandButton::GetCommandContext()const [L48]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFDialog.cpp ​

text
function UIFDialog::UIFDialog() [L26]
function void UIFDialog::NativeOnInitialized() [L27]
function void UIFDialog::InitializeScreen_Implementation(UObject* Data) [L52]
function void UIFDialog::RefreshContent() [L54]
function void UIFDialog::Confirm() [L61]
function void UIFDialog::Cancel() [L62]
function void UIFDialog::Reply(EIFDialogResult Result) [L63]
function void UIFDialog::OnThemeUpdated_Implementation(UIFTheme* Theme) [L64]
function void UIFDialog::Finish(EIFDialogResult Result) [L74]
function bool UIFDialog::NativeOnHandleBackAction() [L82]
function void UIFDialog::NativeOnDeactivated() [L83]
function FReply UIFDialog::NativeOnMouseButtonDown(const FGeometry&,const FPointerEvent&) [L88]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFHUDLayout.cpp ​

text
function bool Finite(FVector2D V) [L10]
function bool UIFHUDLayout::ValidRegion(const FIFHUDRegion& R) [L11]
function bool UIFHUDLayout::ValidateProfile(const UIFHUDLayoutProfile* P) const [L17]
function void UIFHUDLayout::NativeOnInitialized() [L24]
function void UIFHUDLayout::NativePreConstruct() [L36]
function void UIFHUDLayout::NativeConstruct() [L37]
function void UIFHUDLayout::PrepareRegions() [L45]
function bool UIFHUDLayout::SetLayoutProfile(UIFHUDLayoutProfile* P) [L56]
function bool UIFHUDLayout::SetRegionWidget(FName Region,UWidget* Widget) [L61]
function UWidget* UIFHUDLayout::GetRegionWidget(FName Region) const [L71]
function bool UIFHUDLayout::OverrideRegion(FIFHUDRegion R) [L72]
function void UIFHUDLayout::ResetRegionOverrides() [L77]
function void UIFHUDLayout::NativeTick(const FGeometry& G,float DT) [L78]
function void UIFHUDLayout::RefreshLayout() [L83]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFInputPresentation.cpp ​

text
global declaration const FName IntentLock(TEXT("InterfaceForge.Intent")); [L25]
function ECommonInputType Family(EIFInputPresentation Mode) [L26]
function EIFInputPresentation PresentationFor(ECommonInputType Type) [L30]
class FIFIntentProcessor [L36]
  function explicit FIFIntentProcessor(UIFInputPresentationSubsystem& InOwner) : Owner(InOwner) [L39]
  function virtual void Tick(float, FSlateApplication&, TSharedRef<ICursor>) override [L40]
  function virtual const TCHAR* GetDebugName() const override [L41]
  function virtual bool HandleKeyDownEvent(FSlateApplication&, const FKeyEvent& Event) override [L42]
  function virtual bool HandleKeyUpEvent(FSlateApplication&,const FKeyEvent& Event) override [L56]
  function virtual bool HandleAnalogInputEvent(FSlateApplication&, const FAnalogInputEvent& Event) override [L61]
  function virtual bool HandleMouseMoveEvent(FSlateApplication&, const FPointerEvent& Event) override [L82]
  function virtual bool HandleMouseButtonDownEvent(FSlateApplication&, const FPointerEvent& Event) override [L100]
  function virtual bool HandleMouseButtonDoubleClickEvent(FSlateApplication&, const FPointerEvent& Event) override [L101]
  function virtual bool HandleMouseWheelOrGestureEvent(FSlateApplication&, const FPointerEvent& Event,const FPointerEvent* Gesture) override [L102]
  function void Reset() [L104]
  field bool bIgnoreMove=false; [L105]
  function bool RoutePIEBack(const FKeyEvent& Event) [L108]
  function void PointerIntent(const FPointerEvent& Event) [L129]
  field UIFInputPresentationSubsystem& Owner; [L134]
  field FVector2D NetTravel=FVector2D::ZeroVector; [L135]
  field double WindowStart=0; [L136]
  field TMap<FKey,bool> HeldAxes; [L137]
function void UIFInputPresentationSubsystem::Initialize(FSubsystemCollectionBase& Collection) [L140]
function void UIFInputPresentationSubsystem::SetObservationEnabled(bool bEnabled) [L153]
function TGuardValue<bool> Guard(bApplyingIntent,true); [L164]
function bool UIFInputPresentationSubsystem::IsRelevant(const FInputEvent& Event) const [L173]
function void UIFInputPresentationSubsystem::AcceptIntent(EIFInputPresentation Intent,FInputDeviceId Device) [L197]
function TGuardValue<bool> Guard(bApplyingIntent,true); [L205] — Replace the same named lock atomically: never unlock into the raw jitter state between devices.
function void UIFInputPresentationSubsystem::HandleCommonInputChanged(ECommonInputType Type) [L211]
function void UIFInputPresentationSubsystem::Publish(EIFInputPresentation NewPresentation) [L217]
function void UIFInputPresentationSubsystem::HandleDeviceConnection(EInputDeviceConnectionState State,FPlatformUserId User,FInputDeviceId Device) [L224]
function void UIFInputPresentationSubsystem::IgnoreNextPointerMove() [L230]
function void UIFInputPresentationSubsystem::Deinitialize() [L231]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFKeySelector.cpp ​

text
function TSharedRef<SWidget> UIFKeySelector::RebuildWidget() [L9]
function void UIFKeySelector::ReleaseSlateResources(bool bReleaseChildren) [L21]
function void UIFKeySelector::SynchronizeProperties() [L27]
function void UIFKeySelector::ThemeChanged(UIFTheme*) [L28]
function void UIFKeySelector::PreferencesChanged(const FIFUIPreferences&) [L29]
function void UIFKeySelector::RefreshAppearance() [L30]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFMapView.cpp ​

text
class SIFMap [L10]
  function SLATE_BEGIN_ARGS(SIFMap) [L13]
  function SLATE_END_ARGS() [L13]
  function void Construct(const FArguments&,UIFMapView* InOwner) [L14]
  function virtual FVector2D ComputeDesiredSize(float) const override [L15]
  function virtual bool SupportsKeyboardFocus() const override [L16]
  function virtual FReply OnMouseButtonDown(const FGeometry& G,const FPointerEvent& E) override [L17]
  function virtual FReply OnTouchStarted(const FGeometry& G,const FPointerEvent& E) override [L23]
  function virtual FReply OnKeyDown(const FGeometry&,const FKeyEvent& E) override [L24]
  function virtual int32 OnPaint(const FPaintArgs&,const FGeometry& G,const FSlateRect&,FSlateWindowElementList& Out,int32 L,const FWidgetStyle& Style,bool Enabled) const override [L39]
  function virtual void OnFocusLost(const FFocusEvent& E)override [L64]
  field TWeakObjectPtr<UIFMapView> Owner; [L65]
  field FVector2D Cursor=FVector2D(.5,.5); [L65]
  field bool bEditingCursor=false; [L65]
function TSharedRef<SWidget> UIFMapView::RebuildWidget() [L67]
function void UIFMapView::ReleaseSlateResources(bool Children) [L68]
function void UIFMapView::SetMapData(UIFMapData* Data) [L69]
function void UIFMapView::RefreshMap() [L74]
function void UIFMapView::RefreshScreenBinding() [L75]
function const TArray<FIFMapMarker>& UIFMapView::GetMarkers()const [L80]
function const TArray<FVector2D>& UIFMapView::GetViewCorners()const [L81]
function void UIFMapView::PressLocation(FVector2D P,bool Alternate) [L82]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFNavigationInputData.cpp ​

text
struct FIFDefaultAction [L11]
  function FIFDefaultAction(const FText& Name,FKey Keyboard,FKey Gamepad) [L13]
function FDataTableRowHandle UIFNavigationInputData::GetDefaultAcceptAction() [L21]
function FDataTableRowHandle UIFNavigationInputData::GetDefaultBackAction() [L23]
function FKey UIFNavigationInputData::GetNavigationActionKey(UUserWidget* Widget,FDataTableRowHandle Action) [L25]
function UIFNavigationInputData::UIFNavigationInputData() [L33]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFNotifications.cpp ​

text
function UIFNotificationLayer::UIFNotificationLayer(const FObjectInitializer& Initializer):Super(Initializer) [L16]
function void UIFNotificationLayer::NativeOnInitialized() [L18]
function void UIFNotificationLayer::RegisterEntryHost(UContentWidget* Host) [L28]
function bool UIFNotificationLayer::ShowEntry(UObject* Data,TSubclassOf<UUserWidget> Class) [L34]
function void UIFNotificationLayer::ClearEntry() [L46]
function void UIFNotificationLayer::NativeDestruct() [L51]
function void UIFNotificationLayer::NativeTick(const FGeometry& Geometry,float DeltaSeconds) [L52]
function bool UIFNotificationSubsystem::RegisterNotificationLayer(UIFNotificationLayer* Presenter) [L62]
function void UIFNotificationSubsystem::UnregisterNotificationLayer(UIFNotificationLayer* Presenter) [L68]
function void UIFNotificationSubsystem::RefreshNotificationPresentation() [L70]
function FGuid UIFNotificationSubsystem::PostNotification(FText Title,FText Message,float Duration,FName Key,UObject* Scope,TSubclassOf<UUserWidget> Class) [L72]
function FGuid UIFNotificationSubsystem::PostNotificationData(UObject* Data,float Duration,FName Key,UObject* Scope,TSubclassOf<UUserWidget> Class) [L78]
function FGuid UIFNotificationSubsystem::Enqueue(UObject* Data,float Duration,FName Key,UObject* Scope,TSubclassOf<UUserWidget> Class) [L80]
function bool UIFNotificationSubsystem::EndNotification(FGuid Id,EIFNotificationEndReason Reason) [L102]
function bool UIFNotificationSubsystem::DismissNotification(FGuid Id) [L109]
function int32 UIFNotificationSubsystem::DismissScope(UObject* Scope) [L110]
function void UIFNotificationSubsystem::ClearNotifications() [L116]
function TGuardValue<bool> Guard(bClearing,true); [L118]
function void UIFNotificationSubsystem::SetQueueCapacity(int32 Capacity) [L122]
function TGuardValue<bool> Guard(bClearing,true); [L125]
function UObject* UIFNotificationSubsystem::GetNotificationData(FGuid Id) const [L130]
function float UIFNotificationSubsystem::GetRemainingSeconds(FGuid Id) const [L132]
function void UIFNotificationSubsystem::Advance(float DeltaSeconds,bool Suppressed) [L134]
function void UIFNotificationSubsystem::Deinitialize() [L158]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFPresentation.cpp ​

text
function void UIFPresentationData::SetFraction(float NewFraction) [L4]
function void UIFCollectionData::SetItems(const TArray<UObject*>& NewItems) [L10]
function UIFTheme::UIFTheme() [L17]
function void UIFEntryWidget::InitializeEntry_Implementation(UObject* Data) [L26]
function void UIFEntryWidget::RefreshEntry_Implementation() [L35]
function void UIFEntryWidget::SetEntrySelected_Implementation(bool bSelected) [L36]
function void UIFEntryWidget::ReleaseEntry_Implementation() [L37]
function void UIFEntryWidget::HandleDataChanged() [L49]
function void UIFEntryWidget::NativeOnListItemObjectSet(UObject* Item) [L50]
function void UIFEntryWidget::NativeOnItemSelectionChanged(bool bSelected) [L52]
function void UIFEntryWidget::NativeOnEntryReleased() [L54]
function void UIFEntryWidget::NativeDestruct() [L56]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFProgressWidget.cpp ​

text
class SIFProgress [L13]
  function SLATE_BEGIN_ARGS(SIFProgress) [L16]
  function SLATE_END_ARGS() [L16]
  function void Construct(const FArguments&,UIFProgressWidget* InOwner) [L17]
  function virtual FVector2D ComputeDesiredSize(float) const override [L18]
  function virtual bool ComputeVolatility() const override [L19]
  function virtual int32 OnPaint(const FPaintArgs&,const FGeometry& G,const FSlateRect&,FSlateWindowElementList& Out,int32 Layer,const FWidgetStyle& WidgetStyle,bool Enabled) const override [L20]
  field TWeakObjectPtr<UIFProgressWidget> Owner; [L98]
function TSharedRef<SWidget> UIFProgressWidget::RebuildWidget() [L100]
function void UIFProgressWidget::ReleaseSlateResources(bool Children) [L107]
function void UIFProgressWidget::ThemeChanged(UIFTheme*) [L109]
function void UIFProgressWidget::RefreshAppearance() [L110]
function void UIFProgressWidget::SetLinearBrushes(FSlateBrush Fill,FSlateBrush Track) [L122]
function void UIFProgressWidget::SynchronizeProperties() [L124]
function void UIFProgressWidget::SetFraction(float Value) [L125]
function bool UIFProgressWidget::ConfigureProgress(EIFProgressStyle NewStyle,FVector2D NewDesiredSize,int32 NewSegments,bool bReversed,float NewStartOffset) [L132]
function int32 UIFProgressWidget::GetDisplayedCharges() const [L139]
function void UIFProgressWidget::StartCooldown(float Seconds) [L146]
function void UIFProgressWidget::ClearCooldown() [L152]
function float UIFProgressWidget::GetRemainingSeconds() const [L153]
function float UIFProgressWidget::GetDisplayedFraction() const [L154]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFReadoutEntry.cpp ​

text
function void UIFReadoutEntry::NativeConstruct() [L14]
function void UIFReadoutEntry::InitializeEntry_Implementation(UObject* Data) [L15]
function void UIFReadoutEntry::RefreshFraction(float Fraction) [L20]
function void UIFReadoutEntry::RefreshScreenBinding() [L27]
function void UIFReadoutEntry::RefreshEntry_Implementation() [L43]
function void UIFReadoutEntry::ReleaseEntry_Implementation() [L73]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFRemapping.cpp ​

text
function bool SameMapping(const FMapPlayerKeyArgs& A,const FMapPlayerKeyArgs& B) [L8]
function UIFRemappingSubsystem::UIFRemappingSubsystem() [L11]
function UEnhancedInputUserSettings* UIFRemappingSubsystem::Settings() const [L13]
function const FPlayerKeyMapping* UIFRemappingSubsystem::FindMapping(const FMapPlayerKeyArgs& Args) const [L15]
function bool UIFRemappingSubsystem::BeginEdit(FText& Failure) [L17]
function bool UIFRemappingSubsystem::ValidateMapping(const FMapPlayerKeyArgs& Args,FText& Failure) const [L25]
function bool UIFRemappingSubsystem::StageKeyMapping(FMapPlayerKeyArgs Args,FText& Failure) [L51]
function bool UIFRemappingSubsystem::StageDefault(FMapPlayerKeyArgs Args,FText& Failure) [L60]
function FKey UIFRemappingSubsystem::GetPreviewKey(FMapPlayerKeyArgs Args) const [L66]
function bool UIFRemappingSubsystem::StageRegisteredKey(FName Name,EIFInputPresentation Family,FKey Key,FText& Failure) [L68]
function bool UIFRemappingSubsystem::StageRegisteredDefault(FName Name,EIFInputPresentation Family,FText& Failure) [L74]
function FKey UIFRemappingSubsystem::GetRegisteredPreviewKey(FName Name,EIFInputPresentation Family) const [L80]
function bool UIFRemappingSubsystem::GetRegisteredMapping(FName Name, EIFInputPresentation Family,FMapPlayerKeyArgs& Out) const [L82]
function bool UIFRemappingSubsystem::ValidatePending(FText& Failure) const [L95]
function bool UIFRemappingSubsystem::Apply(FText& Failure) [L103]
function void UIFRemappingSubsystem::Cancel() [L122]
function void UIFRemappingSubsystem::Deinitialize() [L123]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFScreen.cpp ​

text
function void UIFScreen::NativeConstruct() [L31]
function void UIFScreen::NativeDestruct() [L43]
function void UIFScreen::NativeOnActivated() [L54]
function void UIFScreen::NativeOnDeactivated() [L71]
function bool UIFScreen::RegisterNavigationHintHost(UContentWidget* Host,TSubclassOf<UUserWidget> EntryClass,bool YieldToNotifications) [L87]
function void UIFScreen::UnregisterNavigationHintHost() [L89]
function void UIFScreen::RequestBack() [L91]
function UIFRootLayout* UIFScreen::GetRootLayout() const [L92]
function UObject* UIFScreen::GetUIModel(FName ModelName) const [L94]
function bool UIFScreen::RequestUIAction(FName ActionName,UObject* Context) [L96]
function void UIFScreen::RefreshInputPresentation() [L98]
function void UIFScreen::HandleInputPresentation(EIFInputPresentation Presentation,EIFInputPresentation Previous) [L103]
function UIFScreen::UIFScreen() [L142]
function void UIFScreen::OnInputPresentationUpdated_Implementation(EIFInputPresentation) [L143]
function void UIFScreen::OnThemeUpdated_Implementation(UIFTheme*) [L144]
function void UIFScreen::OnPreferencesUpdated_Implementation(const FIFUIPreferences&) [L145]
function void UIFScreen::InitializeScreen_Implementation(UObject* Data) [L146]
function UWidget* UIFScreen::NativeGetDesiredFocusTarget() const [L147]
function bool UIFScreen::ForwardGameplayAnalogInput(const FAnalogInputEvent& Event) [L159]
function void UIFScreen::ReleaseGameplayAnalogInput() [L174]
function bool UIFScreen::ForwardGameplayKeyInput(const FKeyEvent& Event,bool Pressed) [L182]
function FReply UIFScreen::NativeOnPreviewKeyDown(const FGeometry& Geometry,const FKeyEvent& Event) [L198]
function bool UIFScreen::NativeOnHandleBackAction() [L212]
function TOptional<FUIInputConfig> UIFScreen::GetDesiredInputConfig() const [L216]
function UIFRootLayout::UIFRootLayout() [L222]
function UIFDialog* UIFRootLayout::PushDialog(UIFDialogData* Data) [L223]
function void UIFRootLayout::NativeOnInitialized() [L225]
function void UIFRootLayout::RegisterLayer(EIFLayer Layer,UCommonActivatableWidgetStack* Stack) [L247]
function TGuardValue<bool> ClearingGuard(bClearingLayers,true); [L249]
function void UIFRootLayout::HandleLayerTransition(UCommonActivatableWidgetContainerBase* Container,bool Transitioning) [L258]
function bool UIFRootLayout::RegisterNotificationLayer(UIFNotificationLayer* Presenter) [L277]
function void UIFRootLayout::RefreshTopPresentation(UCommonActivatableWidget*) [L287]
function void UIFRootLayout::NativeConstruct() [L294]
function void UIFRootLayout::NativeDestruct() [L316]
function void UIFRootLayout::NativeTick(const FGeometry& Geometry,float DeltaSeconds) [L326]
function void UIFRootLayout::ApplyPreferences(const FIFUIPreferences& Preferences) [L333]
function void UIFRootLayout::ApplyTheme(UIFTheme* Theme) [L335]
function UIFScreen* UIFRootLayout::PushScreen(EIFLayer Layer,TSubclassOf<UIFScreen> Class,UObject* Data) [L340]
function bool UIFRootLayout::GoBack() [L351]
function void UIFRootLayout::ClearLayer(EIFLayer Layer) [L357]
function TGuardValue<bool> ClearingGuard(bClearingLayers,true); [L358]
function bool UIFRootLayout::RemoveScreen(UIFScreen* Screen) [L359]
function bool UIFRootLayout::ReserveScreenLoad(UIFScreenLoadAction* Request) [L368]
function void UIFRootLayout::ReleaseScreenLoad(UIFScreenLoadAction* Request) [L373]
function void UIFRootLayout::StopScreenLoads() [L375]
function UIFRootLayout* UIFLocalPlayerSubsystem::CreateRoot(TSubclassOf<UIFRootLayout> Class) [L377]
function UIFScreen* UIFRootLayout::GetTopScreen() const [L393]
function UIFScreen* UIFRootLayout::GetActiveScreen(EIFLayer Layer) const [L399]
function void UIFLocalPlayerSubsystem::RemoveRoot() [L401]
function void UIFLocalPlayerSubsystem::SetTheme(UIFTheme* Theme) [L409]
function void UIFLocalPlayerSubsystem::Deinitialize() [L410]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFScreenLoading.cpp ​

text
function UIFScreenLoadAction* UIFScreenLoadAction::PushScreenAsync(UIFRootLayout* Root,EIFLayer Layer,TSoftClassPtr<UIFScreen> ScreenClass,UObject* Data,FText Title,UObject* Scope) [L23]
function bool UIFScreenLoadAction::CheckOwner() const [L33]
function void UIFScreenLoadAction::Activate() [L40]
function bool UIFScreenLoadAction::Advance(float) [L58]
function void UIFScreenLoadAction::Loaded() [L67]
function void UIFScreenLoadAction::CommitScreen() [L72]
function void UIFScreenLoadAction::CancelLoading() [L91]
function void UIFScreenLoadAction::Finish(EIFScreenLoadState Result,UIFScreen* Screen,FText Reason) [L93]
function void UIFScreenLoadAction::BeginDestroy() [L111]
function UIFLoadingScreen::UIFLoadingScreen() [L118]
function void UIFLoadingScreen::NativeOnInitialized() [L119]
function void UIFLoadingScreen::InitializeScreen_Implementation(UObject* Data) [L143]
function void UIFLoadingScreen::OnLoadingUpdated_Implementation() [L150]
function void UIFLoadingScreen::CancelLoading() [L157]
function bool UIFLoadingScreen::NativeOnHandleBackAction() [L158]
function void UIFLoadingScreen::NativeDestruct() [L159]
function FReply UIFLoadingScreen::NativeOnMouseButtonDown(const FGeometry&,const FPointerEvent&) [L161]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFScrollBox.cpp ​

text
function float ResolveThickness(UIFTheme* Theme) [L16]
function void ThemeBar(FScrollBarStyle& Style,UIFTheme* Theme) [L18]
function TSharedPtr<SScrollBar> FindListBar(const TSharedRef<SWidget>& Widget) [L31]
function void UIFScrollBox::ApplyThemeToScrollBox(UScrollBox* ScrollBox,UIFTheme* Theme) [L42]
function bool UIFScrollBox::ApplyThemeToListView(UListView* ListView,UIFTheme* Theme) [L57]
function TSharedRef<SWidget> UIFScrollBox::RebuildWidget() [L74]
function void UIFScrollBox::ReleaseSlateResources(bool bReleaseChildren) [L82]
function void UIFScrollBox::SynchronizeProperties() [L87]
function void UIFScrollBox::ThemeChanged(UIFTheme*) [L88]
function void UIFScrollBox::RefreshAppearance() [L89]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFSelectionOverlay.cpp ​

text
class SIFSelectionOverlay [L9]
  function SLATE_BEGIN_ARGS(SIFSelectionOverlay) [L12]
  function SLATE_END_ARGS() [L12]
  function void Construct(const FArguments&,UIFSelectionOverlay* InOwner) [L13]
  function virtual FVector2D ComputeDesiredSize(float)const override [L14]
  function virtual int32 OnPaint(const FPaintArgs&,const FGeometry& G,const FSlateRect&,FSlateWindowElementList& Out,int32 L,const FWidgetStyle& Style,bool)const override [L15]
  field TWeakObjectPtr<UIFSelectionOverlay> Owner; [L43]
function UIFSelectionOverlay::UIFSelectionOverlay() [L45]
function TSharedRef<SWidget> UIFSelectionOverlay::RebuildWidget() [L46]
function void UIFSelectionOverlay::SetSelectionData(UIFSelectionData* Data) [L47]
function void UIFSelectionOverlay::RefreshSelection() [L52]
function void UIFSelectionOverlay::RefreshScreenBinding() [L53]
function void UIFSelectionOverlay::ReleaseSlateResources(bool Children) [L58]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFSettingChoiceLabel.cpp ​

text
function void UIFSettingChoiceLabel::SetLabel(const FText& Value) [L6]
function TSharedRef<SWidget> UIFSettingChoiceLabel::RebuildWidget() [L11]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFSettingChoiceLabel.h ​

text
class UIFSettingChoiceLabel [L10] — Internal popup label. SObjectWidget retains this owner while Slate uses its text/style.
  function void SetLabel(const FText& Value); [L14]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L16]
  field TObjectPtr<UIFText> LabelText; [L18]
  field FText Caption; [L19]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFSettingDefinition.cpp ​

text
function FText Message(const TCHAR* Text) [L12]
function bool Scalar(EIFSettingBinding Binding,EIFScalarPreference& Out) [L13]
function UGameUserSettings* Video() [L25]
function UIFSettingsSubsystem* Preferences(APlayerController* PC) [L26]
function UIFRemappingSubsystem* Bindings(APlayerController* PC) [L27]
function bool IsVideo(EIFSettingBinding B) [L28]
function bool UIFSettingProvider::ReadValue_Implementation(APlayerController*,FName,float&,FText& Failure) [L30]
function bool UIFSettingProvider::ValidateValue_Implementation(APlayerController*,FName,float V,FText& Failure) [L31]
function bool UIFSettingProvider::PreviewValue_Implementation(APlayerController*,FName,float,FText& Failure) [L32]
function bool UIFSettingProvider::CommitValue_Implementation(APlayerController*,FName,float,FText& Failure) [L33]
function bool UIFSettingProvider::RestoreValue_Implementation(APlayerController*,FName,float,FText& Failure) [L34]
function bool UIFSettingsSession::BeginSession(APlayerController* Player,const TArray<UIFSettingDefinition*>& Items,bool IncludeInputBindings,FText& Failure) [L36]
function bool UIFSettingsSession::Read(UIFSettingDefinition* D,float& V,FText& Failure) [L72]
function bool UIFSettingsSession::Check(UIFSettingDefinition* D,float V,FText& Failure) const [L90]
function bool UIFSettingsSession::Preview(UIFSettingDefinition* D,float V,FText& Failure) [L109]
function bool UIFSettingsSession::GetSettingValue(FName Id,float& V) const [L124]
function bool UIFSettingsSession::SetSettingValue(FName Id,float V,FText& Failure) [L125]
function bool UIFSettingsSession::HasPendingChanges() const [L137]
function bool UIFSettingsSession::RestoreDefaults(FName Page,FText& Failure) [L143]
function void UIFSettingsSession::RestoreCustom(const TArray<FName>& Ids,FText& Failure,bool RetainDraftPreview) [L152]
function bool UIFSettingsSession::ApplySession(FText& Failure) [L162]
function void UIFSettingsSession::CancelSession() [L207]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFSettings.cpp ​

text
function bool UIFSettingsSubsystem::Validate(FIFUIPreferences& P) [L10]
function void UIFSettingsSubsystem::Initialize(FSubsystemCollectionBase& Collection) [L18]
function void UIFSettingsSubsystem::LoadPreferences() [L24]
function bool UIFSettingsSubsystem::BeginEdit() [L32]
function bool UIFSettingsSubsystem::SetDraft(FIFUIPreferences P,bool bPreview) [L33]
function float UIFSettingsSubsystem::GetScalarPreference(EIFScalarPreference Field) const [L35]
function bool UIFSettingsSubsystem::SetScalarPreference(EIFScalarPreference Field,float Value,bool bPreview) [L48]
function bool UIFSettingsSubsystem::SetReducedMotion(bool bValue,bool bPreview) [L63]
function void UIFSettingsSubsystem::RestoreDefaults(bool bPreview) [L65]
function bool UIFSettingsSubsystem::Apply(FText& FailureReason) [L67]
function void UIFSettingsSubsystem::Cancel() [L76]
function bool UIFSettingsSubsystem::SetStorageProfile(FString Slot,int32 UserIndex) [L77]
function bool UIFSettingsSubsystem::SetAudioRouting(UIFAudioRouting* Routing) [L82]
function void UIFSettingsSubsystem::Present(const FIFUIPreferences& P) [L88]
function void UIFSettingsSubsystem::Deinitialize() [L102]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFSettingsWidgets.cpp ​

text
function void UIFSettingsTabButton::NativeOnClicked() [L24]
function void UIFSettingRow::NativePreConstruct() [L26]
function void UIFSettingRow::NativeConstruct() [L34]
function void UIFSettingRow::NativeDestruct() [L48]
function void UIFSettingRow::InitializeSetting(UIFSettingsSession* EditingSession) [L62]
function void UIFSettingRow::StopChoiceFocusWatch() [L70]
function bool UIFSettingRow::DismissChoicePopup() [L75]
function void UIFSettingRow::ChoiceOpening() [L84]
function const TWeakObjectPtr<UIFScreen> OwningScreen(Screen); [L89]
function void UIFSettingRow::RefreshSetting() [L105]
function TGuardValue<bool> Guard(bRefreshing,true); [L107]
function bool UIFSettingRow::SubmitSettingValue(float Value) [L145]
function void UIFSettingRow::SliderChanged(float V) [L152]
function void UIFSettingRow::ToggleChanged(bool V) [L153]
function void UIFSettingRow::ToggleClicked() [L154]
function void UIFSettingRow::ChoiceChanged(FString Item,ESelectInfo::Type) [L155]
function void UIFSettingRow::SettingChanged(FName Id) [L160]
function void UIFSettingRow::ThemeChanged(UIFTheme*) [L161]
function UWidget* UIFSettingRow::GenerateChoiceLabel(FString Item) [L162]
function void UIFSettingRow::RefreshControlTheme() [L172]
function void UIFSettingsMenu::VisitWidgets(TFunctionRef<void(UWidget*)> Visitor) [L200]
function void UIFSettingsMenu::NativeConstruct() [L207]
function void UIFSettingsMenu::NativeDestruct() [L215]
function void UIFSettingsMenu::NativeOnActivated() [L220]
function bool UIFSettingsMenu::SelectSettingsPage(int32 Index) [L235]
function void UIFSettingsMenu::ShowMessage(const FText& Message) [L244]
function void UIFSettingsMenu::SessionChanged(FName) [L251]
function void UIFSettingsMenu::BindingChanged(bool,const FText& Message) [L252]
function bool UIFSettingsMenu::ApplySettings() [L253]
function void UIFSettingsMenu::ApplyClicked() [L258]
function void UIFSettingsMenu::DefaultsClicked() [L259]
function void UIFSettingsMenu::CancelSettings() [L260]
function bool UIFSettingsMenu::RestorePageDefaults() [L261]
function bool UIFSettingsMenu::RestoreAllDefaults() [L267]
function bool UIFSettingsMenu::NativeOnHandleBackAction() [L273]
function void UIFSettingsMenu::NativeOnDeactivated() [L288]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFSurface.cpp ​

text
function TSharedRef<SWidget> UIFSurface::RebuildWidget() [L8]
function void UIFSurface::ReleaseSlateResources(bool Children) [L16]
function void UIFSurface::SynchronizeProperties() [L21]
function void UIFSurface::ThemeChanged(UIFTheme*) [L22]
function void UIFSurface::RefreshAppearance() [L23]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFText.cpp ​

text
function UIFText::UIFText() [L8]
function TSharedRef<SWidget> UIFText::RebuildWidget() [L10]
function void UIFText::ReleaseSlateResources(bool bReleaseChildren) [L22]
function void UIFText::SynchronizeProperties() [L30]
function void UIFText::ThemeChanged(UIFTheme*) [L31]
function void UIFText::PreferencesChanged(const FIFUIPreferences&) [L32]
function void UIFText::RefreshAppearance() [L33]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFTooltip.cpp ​

text
function void UIFTooltipCard::NativeOnInitialized() [L20]
function void UIFTooltipCard::RefreshEntry_Implementation() [L33]
function void UIFTooltipCard::ReleaseEntry_Implementation() [L45]
function UIFTooltipAnchor::UIFTooltipAnchor(const FObjectInitializer& Initializer):Super(Initializer) [L50]
function TSharedRef<SWidget> UIFTooltipAnchor::RebuildWidget() [L56]
function void UIFTooltipAnchor::SetTooltipData(UObject* Data) [L68]
function bool UIFTooltipAnchor::RequestTooltip(bool UseDelay) [L73]
function void UIFTooltipAnchor::HideTooltip() [L78]
function bool UIFTooltipAnchor::IsTooltipHosted() const [L83]
function bool UIFTooltipAnchor::IsTooltipShown() const [L85]
function void UIFTooltipAnchor::ReleaseEntry() [L86]
function void UIFTooltipAnchor::CloseTooltip() [L93]
function TGuardValue<bool> Guard(bClosingTooltip,true); [L96]
function void UIFTooltipAnchor::MenuChanged(bool Opened) [L98]
function void UIFTooltipAnchor::ReleaseSlateResources(bool ReleaseChildren) [L104]
function TEnumAsByte<EMenuPlacement> UIFTooltipAnchor::GetResolvedPlacement() const [L106]
function void UIFTooltipAnchor::RefreshTooltipPlacement() [L115]
function bool UIFTooltipAnchor::ShowTooltip(UContentWidget* Host,TSubclassOf<UUserWidget> EntryClass) [L119]
function UUserWidget* UIFTooltipAnchor::CreateTooltipContent() [L131]
function UUserWidget* UIFTooltipAnchor::CreateEntry(TSubclassOf<UUserWidget> EntryClass,bool BoundPopupWidth) [L132]
function bool UIFTooltipSubsystem::CanShow(UIFTooltipAnchor* Anchor) const [L152]
function bool UIFTooltipSubsystem::RegisterNavigationHintHost(UIFScreen* Screen,UContentWidget* Host,TSubclassOf<UUserWidget> EntryClass,bool YieldToNotifications) [L163]
function TGuardValue<bool> Guard(bChangingHost,true); [L169]
function void UIFTooltipSubsystem::UnregisterNavigationHintHost(UIFScreen* Screen) [L174]
function TGuardValue<bool> Guard(bChangingHost,true); [L177]
function UContentWidget* UIFTooltipSubsystem::ResolveNavigationHost(UIFTooltipAnchor* Anchor) const [L181]
function bool UIFTooltipSubsystem::ShouldYieldNavigationHint(UIFTooltipAnchor* Anchor) const [L191]
function bool UIFTooltipSubsystem::Present(UIFTooltipAnchor* Anchor) [L196]
function bool UIFTooltipSubsystem::Request(UIFTooltipAnchor* Anchor,bool UseDelay) [L200]
function void UIFTooltipSubsystem::Hide(UIFTooltipAnchor* Anchor) [L218]
function void UIFTooltipSubsystem::ClearTooltips() [L219]
function TGuardValue<bool> Guard(bClearing,true); [L222]
function void UIFTooltipSubsystem::Advance(float DeltaSeconds) [L225]
function void UIFTooltipSubsystem::Deinitialize() [L240]

Plugins/InterfaceForge/Source/InterfaceForge/Private/IFWorldEntryLibrary.cpp ​

text
global declaration TSet<TWeakObjectPtr<UWidgetComponent>> ActiveOperations; [L15] — Blueprint release/initialization can call the same node again. Reject nested mutations of this component.
struct FWorldEntryOperation [L16]
  field TWeakObjectPtr<UWidgetComponent> Component; [L18]
  field bool bEntered; [L19]
  function explicit FWorldEntryOperation(UWidgetComponent* InComponent):Component(InComponent),bEntered(!ActiveOperations.Contains(Component)) [L20]
  function ~FWorldEntryOperation() [L22]
function void ReleaseBody(UWidgetComponent* Component) [L24]
function UUserWidget* UIFWorldEntryLibrary::SetWorldEntry(UWidgetComponent* Component,APlayerController* LocalPlayer,TSubclassOf<UUserWidget> EntryClass,UObject* Data) [L32]
function FWorldEntryOperation Operation(Component); [L38]
function void UIFWorldEntryLibrary::ClearWorldEntry(UWidgetComponent* Component) [L53]
function FWorldEntryOperation Operation(Component); [L56]
function void UIFWorldEntryLibrary::RefreshWorldEntry(UWidgetComponent* Component) [L59]
function bool UIFWorldEntryLibrary::UpdateWorldEntryLink(UStaticMeshComponent* Link,FVector From,FVector To,float Width) [L66]
function bool UIFWorldEntryLibrary::GetWorldEntryWidgetPoint(UWidgetComponent* Component,UWidget* Widget,FVector2D Alignment,FVector& WorldPosition) [L81]

Plugins/InterfaceForge/Source/InterfaceForge/Private/Tests/IFProgressTests.cpp ​

text
macro object IMPLEMENT_SIMPLE_AUTOMATION_TEST(FIFProgressPresentationTest,"AshenForge.InterfaceForge.Progress.PresentationAndCounts",EAutomationTestFlags::EditorContext|EAutomationTestFlags::En [L7]
function bool FIFProgressPresentationTest::RunTest(const FString&) [L8]

Plugins/InterfaceForge/Source/InterfaceForge/Private/Tests/IFSettingsTests.cpp ​

text
macro object IMPLEMENT_SIMPLE_AUTOMATION_TEST(FIFSettingsTransactionTest,"AshenForge.InterfaceForge.Settings.PreviewCancelPersistence",EAutomationTestFlags::EditorContext|EAutomationTestFlags:: [L10]
function bool FIFSettingsTransactionTest::RunTest(const FString&) [L11]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFActionPrompt.h ​

text
class UIFActionPrompt [L16] — Event-driven prompt for a registered EnhancedInput mapping. Uses CommonInput's configured controller glyphs.
  field FName MappingName; [L20]
  field FText ActionLabel; [L22] — Empty displays only the glyph or readable key, useful beside an existing context/action label.
  field int32 LabelFontSize=14; [L24] — Base key-label size; the player's accessibility text scale still applies.
  field bool bWrapLabel=true; [L26] — Disable for compact keycaps. A remapped long key remains one line inside a Designer ScaleBox.
  field FKey ResolvedKey; [L27]
  field FSlateBrush ResolvedGlyph; [L28]
  field bool bHasResolvedGlyph=false; [L30] — Whether CommonInput supplied a brush for the current applied key. Custom bodies can choose art or readable text.
  field FText PromptText; [L31]
  function void RefreshPrompt(); [L32]
  function void OnPromptUpdated(); [L33]
  function virtual void NativeOnInitialized() override; [L35]
  function virtual void NativeConstruct() override; [L36]
  function virtual void NativeDestruct() override; [L37]
  field TObjectPtr<UImage> GlyphWidget; [L39]
  field TObjectPtr<UTextBlock> TextWidget; [L40]
  field TObjectPtr<UEnhancedInputUserSettings> ObservedSettings; [L41]
  field TWeakObjectPtr<UIFLocalPlayerSubsystem> ObservedUI; [L42]
  function void InputChanged(EIFInputPresentation Mode,EIFInputPresentation Previous); [L43]
  function void SettingsChanged(UEnhancedInputUserSettings* Settings); [L44]
  function void SettingsApplied(); [L45]
  function void ThemeChanged(UIFTheme* Theme); [L46]
  function void ProfileChanged(const UEnhancedPlayerMappableKeyProfile* Profile); [L47]
  function void MethodChanged(ECommonInputType Type); [L48]
  field FDelegateHandle MethodHandle; [L49]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFBindingEntry.h ​

text
function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FIFBindingDraftChanged,bool,Success,const FText&,Message) [L11]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FIFBindingDraftChanged,bool,Success,const FText&,Message); [L11]
class UIFBindingEntry [L14] — Designer-authored row for an existing Enhanced Input mapping. Owns no input context or gameplay action.
  field FName MappingName; [L18]
  field FText Label; [L19]
  field EIFInputPresentation Family=EIFInputPresentation::Keyboard; [L20]
  function void RefreshBinding(); [L21]
  function bool RestoreBindingDefault(); [L22]
  function void OnBindingStaged(bool Success,const FText& Message); [L23]
  field FIFBindingDraftChanged OnBindingDraftChanged; [L24]
  function virtual void NativeConstruct() override; [L26]
  function virtual void NativeDestruct() override; [L27]
  field TObjectPtr<UInputKeySelector> KeySelector; [L28]
  field TObjectPtr<UTextBlock> LabelText; [L29]
  field TObjectPtr<UTextBlock> StatusText; [L30]
  field TObjectPtr<UTextBlock> KeyLabelText; [L32] — Optional custom key body over the engine selector; ignores hit tests and supports controller glyphs.
  field TObjectPtr<UImage> KeyGlyphImage; [L33]
  function void KeySelected(FInputChord Chord); [L35]
  function void SelectorStateChanged(); [L36]
  function void RefreshKeyPresentation(); [L37]
  field bool bRefreshing=false; [L38]
class UIFRemappingScreen [L42] — Optional transaction owner. Use your own screen with IFRemappingSubsystem instead if desired.
  function bool ApplyBindings(); [L46]
  function void CancelBindings(); [L47]
  function void RestoreBindingDefaults(); [L48]
  field bool bOwnsBindingSession=false; [L49]
  function virtual void NativeConstruct() override; [L51]
  function virtual void NativeOnActivated() override; [L52]
  function virtual void NativeOnDeactivated() override; [L53]
  function virtual bool NativeOnHandleBackAction() override; [L54]
  field TObjectPtr<UIFButton> ApplyChoice; [L55]
  field TObjectPtr<UIFButton> CancelChoice; [L56]
  field TObjectPtr<UIFButton> DefaultsChoice; [L57]
  field TObjectPtr<UTextBlock> RemapStatus; [L58]
  function void ApplyClicked(); [L60]
  function void VisitBindings(TFunctionRef<void(UIFBindingEntry*)> Visitor); [L61]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFButton.h ​

text
enum EIFButtonRole [L17] — Visual hierarchy is independent of action routing, focus and gameplay availability.
  value Standard [L17]
  value Primary [L17]
  value Quiet [L17]
  value Destructive [L17]
enum EIFButtonVisualState [L20]
  value Normal [L20]
  value Emphasized [L20]
  value Pressed [L20]
  value Selected [L20]
  value Unavailable [L20]
class UIFButtonStyle [L23]
  function UIFButtonStyle(); [L26]
class UIFButton [L31] — CommonUI button with a useful native label and visible focus. A BP may replace its content tree/style.
  function UIFButton(); [L35]
  field FText Label; [L36]
  field TEnumAsByte<ETextJustify::Type> LabelAlignment = ETextJustify::Center; [L37]
  field bool bOverrideContentPadding=false; [L39] — Compact command tiles and dense tables can override padding without copying a theme.
  field FMargin ContentPadding=FMargin(8,4); [L40]
  field int32 LabelFontSize=0; [L42] — Zero follows the theme. Accessibility text scaling still applies to a local size.
  field TObjectPtr<UIFTheme> ThemeOverride; [L44] — Optional local theme; otherwise follows the owning local player's theme.
  function void SetLabel(FText Text); [L45]
  field EIFButtonRole ButtonRole=EIFButtonRole::Standard; [L47] — Standard keeps the existing style. Primary highlights the main action; Quiet is a text action; Destructive uses Dan
  field FName SkinName; [L49] — Optional key in Theme.ButtonStyles. None resolves Standard/Primary/Quiet/Destructive from Button Role.
  function void SetButtonRole(EIFButtonRole NewRole); [L51] — Use this node for live role changes; Designer values synchronize automatically.
  function void SetTooltipData(UObject* Data); [L53] — Pass a presentation model (or your own UObject) to the optional TooltipAnchor in this tree.
  function void SetActionAvailability(bool Available, FText Reason); [L55] — Blocks activation while retaining navigation focus. Gameplay still validates every request.
  field FText UnavailableReason; [L56]
  function void RefreshAppearance(); [L57]
  function EIFButtonVisualState GetVisualState() const [L59] — Current resolved state. Custom Blueprint trees can animate decorations without replacing input routing.
  function bool IsAppearanceAnimating() const [L60]
  function void OnVisualStateChanged(EIFButtonVisualState State); [L61]
  function void OnAppearanceUpdated(UIFTheme* Theme, EIFInputPresentation Presentation, bool NavigationFocused, bool Hovered, bool Enabled); [L63] — Custom Designer trees receive the same focus, hover, enabled, theme and input updates.
  function virtual void SynchronizeProperties() override; [L64]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L66]
  function virtual void NativePreConstruct() override; [L67]
  function virtual void NativeOnInitialized() override; [L68]
  function virtual void NativeConstruct() override; [L69]
  function virtual void NativeDestruct() override; [L70]
  function virtual void NativeOnMouseEnter(const FGeometry& Geometry,const FPointerEvent& Event) override; [L71]
  function virtual void NativeOnMouseLeave(const FPointerEvent& Event) override; [L72]
  function virtual void NativeOnHovered() override; [L73]
  function virtual void NativeOnUnhovered() override; [L74]
  function virtual void NativeOnClicked() override; [L75]
  function virtual void NativeOnPressed() override; [L76]
  function virtual void NativeOnReleased() override; [L77]
  function virtual void NativeOnSelected(bool bBroadcast) override; [L78]
  function virtual void NativeOnDeselected(bool bBroadcast) override; [L79]
  function virtual void NativeOnEnabled() override; [L80]
  function virtual void NativeOnDisabled() override; [L81]
  function virtual void NativeOnAddedToFocusPath(const FFocusEvent& Event) override; [L82]
  function virtual void NativeOnRemovedFromFocusPath(const FFocusEvent& Event) override; [L83]
  field TObjectPtr<UIFTooltipAnchor> TooltipAnchor; [L86] — Wrap custom button content in an InterfaceForge Tooltip Anchor with this name.
  field TObjectPtr<UTextBlock> LabelWidget; [L88] — Optional Designer Text Block with this name inherits label/font/color behavior.
  field TObjectPtr<UTextBlock> AvailabilityWidget; [L90] — Optional Designer text displays the reason for mouse, keyboard, controller and touch alike.
  field TObjectPtr<UBorder> FocusBorder; [L92] — Optional Designer Border with this name inherits the default focus surface.
  function void ThemeChanged(UIFTheme* Theme); [L93]
  function void PreferencesChanged(const FIFUIPreferences& Preferences); [L94]
  function void InputChanged(EIFInputPresentation Mode,EIFInputPresentation Previous); [L95]
  function UIFTheme* ResolveTheme() const; [L96]
  field bool bInFocusPath=false; [L97]
  field bool bPointerInside=false; [L98]
  field EIFButtonVisualState VisualState=EIFButtonVisualState::Normal; [L99]
  field FTSTicker::FDelegateHandle AppearanceTicker; [L100]
  field FLinearColor PresentedTint=FLinearColor::White,PresentedText=FLinearColor::White; [L101]
  field FLinearColor StartTint=FLinearColor::White,StartText=FLinearColor::White; [L102]
  field FLinearColor TargetTint=FLinearColor::White,TargetText=FLinearColor::White; [L103]
  field float AppearanceElapsed=0,AppearanceDuration=0; [L104]
  field bool bAppearanceReady=false; [L105]
  field bool bBuildingPreviewContent=false; [L106]
  function void PresentAppearance(); [L107]
  function void EnsureNativeContent(); [L108]
  function void StopAppearanceAnimation(); [L109]
  function bool AdvanceAppearance(float DeltaSeconds); [L110]
  function void UpdateAppearanceColors(FLinearColor Tint,FLinearColor Text,float Seconds); [L111]
  field TWeakObjectPtr<UIFLocalPlayerSubsystem> BoundUI; [L112]
  field TWeakObjectPtr<UIFInputPresentationSubsystem> BoundInput; [L113]
  field TWeakObjectPtr<UIFSettingsSubsystem> BoundSettings; [L114]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFCenterTint.h ​

text
class UIFCenterTint [L8] — Center-origin interior tint; independent of ability/gameplay systems. Can also use a plain Image and the material.
  function UIFCenterTint(); [L12]
  field float RemainingFraction=0; [L13]
  field FLinearColor Tint=FLinearColor::White; [L14]
  field float RemainingOpacity=.75f; [L15]
  field float PassedOpacity=.15f; [L16]
  field float StartAngle=0; [L18] — Turns from the top, clockwise. 0.25 starts at the right.
  field bool bReverse=false; [L19]
  function void SetRemainingFraction(float Fraction); [L21] — 1 covers the interior; 0 uses passed opacity everywhere. No backend or timer is started.
  function void RefreshTint(); [L23] — Apply Designer/property overrides to this image's own material instance.
  function virtual void SynchronizeProperties() override; [L24]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFCommandButton.h ​

text
class UIFCommandButton [L10] — A public convenience over IFButton: route an action to the containing screen's external data source.
  field FName ActionName; [L14]
  field bool bRequestScreenBack=false; [L16] — Back uses the containing screen's CommonUI handler; no gameplay data-source action is needed.
  field FName ModelName; [L18] — Optional stable model used for label, availability and action context. None preserves the Designer label.
  field bool bUseModelLabel=true; [L19]
  field FName PromptMappingName; [L21] — Optional ActionPrompt child displays the registered mapping beside your custom Designer label.
  field FName TooltipModelName; [L23] — Optional separate presentation model for a rich tooltip; useful when Detail is a short live countdown.
  function void RefreshCommandBinding(); [L24]
  function void ClearCommandBinding(); [L25]
  function void SetCommandContext(UObject* Context); [L27] — Route a recycled list entry's context without inventing a model name for each item.
  function UObject* GetCommandContext()const; [L29] — Effective explicit entry context or named screen model. None after cleanup.
  function void OnCommandResult(bool Accepted); [L30]
  function virtual void NativeConstruct() override; [L32]
  function virtual void NativeDestruct() override; [L33]
  function virtual void NativeOnClicked() override; [L34]
  field TObjectPtr<UIFActionPrompt> ActionPrompt; [L35]
  field TObjectPtr<UObject> CommandContext; [L37]
  field TObjectPtr<UIFPresentationData> CommandModel; [L38]
  field TWeakObjectPtr<UIFScreen> CommandScreen; [L39]
  function void RefreshCommandModel(); [L40]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFDataSource.h ​

text
class UIFDataSource [L9] — Optional presentation adapter. Your gameplay system owns the objects, rules and authority.
class IIFDataSource [L10]
  function UObject* GetUIModel(FName ModelName); [L15] — Return a stable observable model, not a newly allocated snapshot on every call.
  function bool RequestUIAction(FName ActionName, UObject* Context); [L17] — Request an action. The adapter validates it; true means accepted, not necessarily completed.

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFDialog.h ​

text
enum EIFDialogResult [L9]
  value Confirmed [L9]
  value Cancelled [L9]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFDialogCompleted,EIFDialogResult,Result); [L10]
class UIFDialogData [L12]
  field FText Title; [L16]
  field FText Message; [L17]
  field FText ConfirmLabel=NSLOCTEXT("InterfaceForge","Confirm","Confirm"); [L18]
  field FText CancelLabel=NSLOCTEXT("InterfaceForge","Cancel","Cancel"); [L19]
  field bool bDestructiveAction=false; [L21] — Presentation only. The caller still owns validation and the confirmed action.
  field FIFDialogCompleted OnCompleted; [L22]
class UIFDialog [L26] — Reusable modal. Cancel is the default focus; back reports Cancelled exactly once.
  function UIFDialog(); [L30]
  function virtual void InitializeScreen_Implementation(UObject* Data) override; [L31]
  function void Reply(EIFDialogResult Result); [L33] — Use from custom Blueprint buttons. Completes exactly once, including a Back cancellation.
  function UIFDialogData* GetDialogData() const [L34]
  function virtual void NativeOnInitialized() override; [L36]
  function virtual bool NativeOnHandleBackAction() override; [L37]
  function virtual void NativeOnDeactivated() override; [L38]
  function virtual FReply NativeOnMouseButtonDown(const FGeometry&,const FPointerEvent&) override; [L39]
  function virtual void OnThemeUpdated_Implementation(UIFTheme* Theme) override; [L40]
  function void Confirm(); [L42]
  function void Cancel(); [L43]
  function void Finish(EIFDialogResult Result); [L44]
  function void RefreshContent(); [L45]
  field bool bFinished=false; [L46]
  field TObjectPtr<UIFDialogData> DialogData; [L47]
  field TObjectPtr<UTextBlock> TitleWidget; [L48]
  field TObjectPtr<UTextBlock> MessageWidget; [L49]
  field TObjectPtr<UIFButton> ConfirmButton; [L50]
  field TObjectPtr<UIFButton> CancelButton; [L51]
  field TObjectPtr<UBorder> Surface; [L52]
  field TObjectPtr<UBorder> HeaderSurface; [L53]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFHUDLayout.h ​

text
struct FIFHUDRegion [L12] — Content-sized HUD region. Anchor is normalized; size and inset use DPI-aware Slate units.
  field FName Name; [L15]
  field FVector2D Anchor=FVector2D::ZeroVector; [L16]
  field FVector2D Alignment=FVector2D::ZeroVector; [L17]
  field FVector2D Offset=FVector2D(24,24); [L18]
  field FVector2D Size=FVector2D(280,120); [L19]
  field bool bAutoHeight=false; [L21] — Runtime content height at the authored width. Size.Y remains the Designer preview estimate.
  field bool bAutoWidth=false; [L23] — With Auto Height, also use intrinsic content width. Useful for compact action strips that grow with text.
  field int32 ZOrder=0; [L24]
  field bool bHideWhenCompact=false; [L26] — Decorative/optional regions may be hidden in the compact viewport. Essential controls must remain.
class UIFHUDLayoutProfile [L31] — Share composition without sharing widget trees. Example gameplay and widget classes do not live here.
  field TArray<FIFHUDRegion> Regions; [L35]
  field float CompactBelowWidth=1440; [L36]
  field float CompactScale=.8f; [L37]
  field FVector2D MinimumCanvasSize=FVector2D::ZeroVector; [L39] — Optional total composition footprint in Slate units. Caps scale to keep essential regions on screen.
class UIFHUDLayout [L44] — Passive HUD composition. Put inside a Safe Zone; CommonUI screens retain input-routing ownership.
  field TObjectPtr<UIFHUDLayoutProfile> Profile; [L48]
  function bool SetRegionWidget(FName Region,UWidget* Widget); [L50] — Attach a developer-created widget to a named region. Missing names return false with a diagnostic.
  function UWidget* GetRegionWidget(FName Region) const; [L51]
  function bool SetLayoutProfile(UIFHUDLayoutProfile* NewProfile); [L52]
  function bool OverrideRegion(FIFHUDRegion Region); [L54] — Session override; persist your game's chosen layout through its normal save/settings system.
  function void ResetRegionOverrides(); [L55]
  function void RefreshLayout(); [L56]
  function void OnLayoutApplied(bool Compact); [L57]
  function virtual void NativeOnInitialized() override; [L59]
  function virtual void NativeConstruct() override; [L60]
  function virtual void NativePreConstruct() override; [L61]
  function virtual void NativeTick(const FGeometry& Geometry,float DeltaSeconds) override; [L62]
  field TObjectPtr<UCanvasPanel> RegionCanvas; [L64]
  field TMap<FName,TObjectPtr<UWidget>> RegionWidgets; [L65]
  field TMap<FName,TObjectPtr<USizeBox>> RegionHosts; [L66]
  field TMap<FName,FIFHUDRegion> Overrides; [L67]
  field FVector2D LastSize=FVector2D::ZeroVector; [L68]
  function bool ValidateProfile(const UIFHUDLayoutProfile* Candidate) const; [L69]
  function void PrepareRegions(); [L70]
  function static bool ValidRegion(const FIFHUDRegion& Region); [L71]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFInputPresentation.h ​

text
enum EIFInputPresentation [L11]
  value Pointer [L11]
  value Keyboard [L11]
  value Gamepad [L11]
  value Touch [L11]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FIFInputPresentationChanged, EIFInputPresentation, Presentation, EIFInputPresentation, Previous); [L12]
class UIFInputPresentationSubsystem [L16] — One non-consuming observer per local player. CommonUI still routes all actions/navigation.
  function virtual void Initialize(FSubsystemCollectionBase& Collection) override; [L20]
  function virtual void Deinitialize() override; [L21]
  function void SetObservationEnabled(bool bEnabled); [L23] — Enable while this player's interface exists; disabling releases only our CommonInput lock.
  function EIFInputPresentation GetInputPresentation() const [L24]
  field FIFInputPresentationChanged OnInputPresentationChanged; [L25]
  field float MouseIntentPixels = 6.f; [L27] — Net mouse travel in screen pixels within MouseIntentWindowSeconds; tiny jitter cannot accumulate forever.
  field float MouseIntentWindowSeconds = .2f; [L28]
  field float AnalogIntentThreshold = .4f; [L30] — An axis must cross this threshold after returning below AnalogReleaseThreshold.
  field float AnalogReleaseThreshold = .2f; [L31]
  function void IgnoreNextPointerMove(); [L33] — Call before your own cursor warp. Engine synthetic accept is recognized automatically.
  function bool IsRelevant(const struct FInputEvent& Event) const; [L36]
  function void AcceptIntent(EIFInputPresentation Intent, FInputDeviceId Device); [L37]
  function void HandleCommonInputChanged(ECommonInputType Type); [L38]
  function void HandleDeviceConnection(EInputDeviceConnectionState State, FPlatformUserId User, FInputDeviceId Device); [L39]
  function void Publish(EIFInputPresentation NewPresentation); [L40]
  field TObjectPtr<UCommonInputSubsystem> CommonInput; [L41]
  field TSharedPtr<FIFIntentProcessor> Processor; [L42]
  field FDelegateHandle MethodHandle, ConnectionHandle; [L43]
  field EIFInputPresentation Presentation = EIFInputPresentation::Pointer; [L44]
  field EIFInputPresentation LastNonGamepad = EIFInputPresentation::Pointer; [L45]
  field FInputDeviceId LastGamepadDevice; [L46]
  field bool bObserving = false; [L47]
  field bool bApplyingIntent = false; [L48]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFKeySelector.h ​

text
class UIFKeySelector [L10] — Unreal's normal key selector with semantic theme/text-size presentation. Mapping rules stay separate.
  field TObjectPtr<UIFTheme> ThemeOverride; [L14]
  function void RefreshAppearance(); [L15]
  function virtual void SynchronizeProperties() override; [L16]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L18]
  function virtual void ReleaseSlateResources(bool bReleaseChildren) override; [L19]
  field FButtonStyle ResolvedButtonStyle; [L22] — UE5.6's selector setters pass the supplied style address to Slate. Keep it alive through paint.
  field FTextBlockStyle ResolvedTextStyle; [L23]
  field TWeakObjectPtr<UIFLocalPlayerSubsystem> BoundUI; [L24]
  field TWeakObjectPtr<UIFSettingsSubsystem> BoundSettings; [L25]
  function void ThemeChanged(UIFTheme* Theme); [L26]
  function void PreferencesChanged(const FIFUIPreferences& Preferences); [L27]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFMapView.h ​

text
struct FIFMapMarker [L8]
  field FName Id; [L11]
  field FVector2D Location=FVector2D(.5,.5); [L12]
  field FLinearColor Color=FLinearColor::White; [L13]
  field float Radius=4; [L14]
  field bool bSelected=false; [L15]
class UIFMapData [L19] — Presentation only. Your adapter owns world bounds, discovery, factions and map-to-world conversion.
  field TArray<FIFMapMarker> Markers; [L24] — Normalized coordinates, 0..1. Update a batch then call Notify Data Changed once.
  field TArray<FVector2D> ViewCorners; [L26] — Optional normalized camera/region footprint. Your adapter supplies world projection.
  field FVector2D RequestedLocation=FVector2D(.5,.5); [L27]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFMapPressed,FVector2D,NormalizedLocation); [L29]
class UIFMapView [L32] — Lightweight map; optional baked background, observable markers and one routing action. No SceneCapture tick.
  field FVector2D DesiredSize=FVector2D(220,220); [L36]
  field FSlateBrush Background; [L37]
  field FLinearColor BackgroundColor=FLinearColor(.018f,.03f,.029f,.98f); [L38]
  field FName ModelName=TEXT("Minimap"); [L39]
  field FName LocationAction; [L41] — Optional external action name. None only broadcasts On Location Pressed.
  field FName AlternateLocationAction; [L43] — Optional secondary pointer action, for example right-click order versus primary camera recenter.
  field FIFMapPressed OnLocationPressed; [L44]
  field FIFMapPressed OnAlternateLocationPressed; [L45]
  function void SetMapData(UIFMapData* Data); [L46]
  function void RefreshScreenBinding(); [L47]
  function void RefreshMap(); [L48]
  function void PressLocation(FVector2D NormalizedLocation,bool Alternate=false); [L49]
  function const TArray<FIFMapMarker>& GetMarkers() const; [L50]
  function const TArray<FVector2D>& GetViewCorners() const; [L51]
  function virtual void ReleaseSlateResources(bool Children) override; [L52]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L54]
  field TObjectPtr<UIFMapData> MapData; [L56]
  field TSharedPtr<SIFMap> Map; [L57]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFNavigationInputData.h ​

text
class UIFNavigationInputData [L10] — Optional quick-start defaults: Enter / bottom face button accept; Escape / right face button back. Select this clas
  function UIFNavigationInputData(); [L14]
  function static FDataTableRowHandle GetDefaultAcceptAction(); [L16] — Current project CommonInput defaults, including a developer's replacement Input Data class.
  function static FDataTableRowHandle GetDefaultBackAction(); [L17]
  function static FKey GetNavigationActionKey(class UUserWidget* Widget,FDataTableRowHandle Action); [L19] — Resolve this row for the widget's owning local player. Does not bind or execute the action.

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFNotifications.h ​

text
enum EIFNotificationEndReason [L11]
  value Expired [L11]
  value Dismissed [L11]
  value ScopeEnded [L11]
  value Overflow [L11]
  value InvalidEntry [L11]
  value RootRemoved [L11]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FIFNotificationEnded, FGuid, NotificationId, EIFNotificationEndReason, Reason); [L12]
struct FIFQueuedNotification [L16] — Internal queue state. Scope is weak; a notification never keeps a gameplay owner alive.
  field FGuid Id; [L19]
  field TObjectPtr<UObject> Data; [L20]
  field TWeakObjectPtr<UObject> Scope; [L21]
  field bool bScoped=false; [L22]
  field FName Key; [L23]
  field TSubclassOf<UUserWidget> EntryClass; [L24]
  field float Remaining=4; [L25]
  field float Age=0; [L26]
class UIFNotificationLayer [L31] — One passive entry at a time. Replace its content through IFEntry, not a gameplay-specific widget base.
  function UIFNotificationLayer(const FObjectInitializer& Initializer); [L35]
  field TSubclassOf<UUserWidget> NotificationEntryClass; [L36]
  field float PreferredWidth=320; [L37]
  field FVector2D Dock=FVector2D(.5,.25); [L39] — Normalized anchor within the root's safe area. The native layer is top-centered by default.
  function void RegisterEntryHost(UContentWidget* Host); [L41] — For a custom Designer tree, register a Content Widget that will receive the passive entry.
  function UUserWidget* GetCurrentEntry() const [L42]
  function bool ShowEntry(UObject* Data,TSubclassOf<UUserWidget> Class); [L43]
  function void ClearEntry(); [L44]
  function virtual void NativeOnInitialized() override; [L46]
  function virtual void NativeDestruct() override; [L47]
  function virtual void NativeTick(const FGeometry& Geometry,float DeltaSeconds) override; [L48]
  field TObjectPtr<UContentWidget> EntryHost; [L50]
  field TObjectPtr<USizeBox> NoticeBounds; [L51]
  field TObjectPtr<UUserWidget> CurrentEntry; [L52]
class UIFNotificationSubsystem [L57] — A bounded local-player queue, driven by the public root's UI tick, including during world pause.
  function FGuid PostNotification(FText Title,FText Message,float Duration=4,FName Key=NAME_None,UObject* Scope=nullptr,TSubclassOf<UUserWidget> EntryClass=nullptr); [L63] — Post a short result. A nonempty Key + matching Scope updates its existing message in place.
  function FGuid PostNotificationData(UObject* Data,float Duration=4,FName Key=NAME_None,UObject* Scope=nullptr,TSubclassOf<UUserWidget> EntryClass=nullptr); [L66] — Custom data/entry variant. Reposting the same Key + Scope replaces data and resets reading time.
  function bool DismissNotification(FGuid NotificationId); [L67]
  function int32 DismissScope(UObject* Scope); [L68]
  function void ClearNotifications(); [L70] — Finishes this player's messages. Posts from ended callbacks are rejected during this operation.
  function int32 GetNotificationCount() const [L71]
  function bool HasNotificationPresenter() const [L73] — True when a player-owned result presenter is registered. Queued results need not block hints without a presenter.
  function FGuid GetActiveNotificationId() const [L74]
  function UObject* GetNotificationData(FGuid NotificationId) const; [L75]
  function float GetRemainingSeconds(FGuid NotificationId) const; [L76]
  function UIFNotificationLayer* GetNotificationLayer() const [L77]
  field int32 MaximumQueued=8; [L79] — Capacity includes the visible message. On overflow, preserve it and discard the oldest pending one.
  function void SetQueueCapacity(int32 Capacity); [L80]
  field FIFNotificationEnded OnNotificationEnded; [L81]
  function bool RegisterNotificationLayer(UIFNotificationLayer* Presenter); [L83] — A custom IFRootLayout places this layer above menus/HUDs and below its modal stack.
  function void RefreshNotificationPresentation(); [L85] — Rebuild the visible entry after changing its class or host; preserve the GUID and reading time.
  function void UnregisterNotificationLayer(UIFNotificationLayer* Presenter); [L86]
  function void Advance(float DeltaSeconds,bool Suppressed); [L87]
  function virtual void Deinitialize() override; [L88]
  field TArray<FIFQueuedNotification> Queue; [L90]
  field TWeakObjectPtr<UIFNotificationLayer> Layer; [L91]
  field FGuid ActiveId; [L92]
  field bool bClearing=false; [L93]
  function bool EndNotification(FGuid Id,EIFNotificationEndReason Reason); [L94]
  function FGuid Enqueue(UObject* Data,float Duration,FName Key,UObject* Scope,TSubclassOf<UUserWidget> EntryClass); [L95]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFPresentation.h ​

text
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE(FIFDataChanged); [L9]
function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFFractionChanged,float,Fraction) [L10]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFFractionChanged,float,Fraction); [L10]
class UIFPresentationData [L13] — Optional generic view model. You may instead pass your own UObject to the entry contract.
  field FName StableKey; [L17]
  field FText Title; [L18]
  field FText Detail; [L19]
  field int32 Quantity = 0; [L20]
  field float Fraction = 0; [L21]
  field FLinearColor AccentColor=FLinearColor::White; [L23] — Optional semantic accent for a readout that opts in (ally/hostile, warning, project-defined state).
  field TSoftObjectPtr<UTexture2D> Icon; [L24]
  field bool bEnabled = true; [L25]
  field FText UnavailableReason; [L27] — Explain an unavailable action without forcing the player to click it. Empty when available.
  field FIFDataChanged OnDataChanged; [L28]
  field FIFFractionChanged OnFractionChanged; [L30] — Lightweight progress channel: animate a fraction without rebinding labels/icons or rebuilding lists.
  function void SetFraction(float NewFraction); [L31]
  function void NotifyDataChanged() [L33] — Call once after a group of Blueprint property edits. Entries update without rebuilding the list.
class UIFCollectionData [L38] — Observable game-agnostic list. Stable UObject identities preserve recycled entry bindings.
  field TArray<TObjectPtr<UObject>> Items; [L42]
  function void SetItems(const TArray<UObject*>& NewItems); [L44] — Only broadcasts when membership/order changes. Nulls and duplicate objects are omitted.
class UIFEntry [L48] — Add this interface to any Widget Blueprint; no InterfaceForge subclass is required.
class IIFEntry [L49]
  function void InitializeEntry(UObject* Data); [L53]
  function void RefreshEntry(); [L54]
  function void SetEntrySelected(bool bSelected); [L55]
  function void ReleaseEntry(); [L56]
class UIFEntryWidget [L61] — Optional convenience base: wires native virtualized-list lifecycle and model updates to Blueprint events.
  field TObjectPtr<UObject> EntryData; [L65]
  field bool bEntrySelected = false; [L66]
  function virtual void InitializeEntry_Implementation(UObject* Data) override; [L67]
  function virtual void RefreshEntry_Implementation() override; [L68]
  function virtual void SetEntrySelected_Implementation(bool bSelected) override; [L69]
  function virtual void ReleaseEntry_Implementation() override; [L70]
  function void OnEntryInitialized(UObject* Data); [L71]
  function void OnEntryRefreshed(); [L72]
  function void OnEntrySelectionChanged(bool bSelected); [L73]
  function void OnEntryReleased(); [L75] — Cleanup once for each initialized context, including None data. Called before reuse; EntryData is still available.
  function virtual void NativeOnListItemObjectSet(UObject* ListItemObject) override; [L77]
  function virtual void NativeOnItemSelectionChanged(bool bIsSelected) override; [L78]
  function virtual void NativeOnEntryReleased() override; [L79]
  function virtual void NativeDestruct() override; [L80]
  function void HandleDataChanged(); [L82]
  field bool bEntryInitialized=false; [L84] — Model presence is independent of lifecycle ownership: static entries may initialize with None.
struct FIFButtonSkin [L89] — Reusable CommonUI button art. Brushes support textures, materials and nine-slice margins.
  field FSlateBrush Normal; [L92]
  field FSlateBrush Emphasized; [L94] — Also used for keyboard/controller focus so navigation has the same visual priority.
  field FSlateBrush Pressed; [L95]
  field FSlateBrush Selected; [L96]
  field FSlateBrush Unavailable; [L97]
  field FLinearColor Text=FLinearColor(.9f,.93f,.97f,1); [L98]
  field FLinearColor EmphasizedText=FLinearColor::White; [L99]
  field FLinearColor UnavailableText=FLinearColor(.5f,.55f,.6f,1); [L100]
  field float FeedbackSeconds=.10f; [L102] — Tint/text interpolation only; does not move hit targets. Zero snaps. Reduced motion always snaps.
class UIFTheme [L107] — Project-wide visual tokens; override individual tokens per widget rather than copying widget trees.
  function UIFTheme(); [L111]
  field FLinearColor Surface = FLinearColor(0.025f,0.035f,0.05f,1); [L112]
  field FLinearColor Text = FLinearColor(0.9f,0.93f,0.97f,1); [L113]
  field FLinearColor Accent = FLinearColor(0.2f,0.8f,0.65f,1); [L114]
  field FLinearColor Danger = FLinearColor(0.95f,0.25f,0.22f,1); [L115]
  field FLinearColor MutedText = FLinearColor(.44f,.58f,.67f,1); [L116]
  field FLinearColor Outline = FLinearColor(.19f,.29f,.33f,1); [L117]
  field TMap<FName,FSlateBrush> Icons; [L118]
  field TMap<FName,FSlateBrush> SurfaceStyles; [L120] — Optional named surface skins (including nine-slice brushes). Widgets choose a key, not a game-specific subclass.
  field TMap<FName,FIFButtonSkin> ButtonStyles; [L122] — Role keys: Standard, Primary, Quiet, Destructive. A button can select any other named skin locally. Missing keys re
  field FName DefaultSurfaceStyle; [L124] — Optional style used by surfaces with no local key, including native dialog/tooltip fallbacks.
  field FName DialogSurfaceStyle; [L126] — Optional style key for built-in confirmation cards. None follows the default surface style.
  field FName DialogHeaderSurfaceStyle; [L128] — Optional header brush for native confirmation cards. None keeps a text-only heading.
  field TMap<FKey,FText> CompactKeyLabels; [L130] — Readable fallback when CommonInput has no glyph for the applied key. Override for your platform/style.
  field TObjectPtr<USoundBase> FocusSound; [L131]
  field TObjectPtr<USoundBase> ConfirmSound; [L132]
  field FSlateFontInfo BodyFont; [L133]
  field FSlateFontInfo HeadingFont; [L134]
  field float Spacing = 12; [L135]
  field float ScrollBarThickness = 6; [L137] — Slate units; viewport DPI and the player's UI scale apply once. Text enlargement does not multiply it.
  field float TransitionSeconds = 0.16f; [L138]
  field float ButtonCornerRadius = 2.f; [L139]
  field FMargin ButtonPadding = FMargin(16,12); [L140]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFProgressWidget.h ​

text
enum EIFProgressStyle [L10]
  value Linear [L10]
  value Radial [L10]
  value SquarePerimeter [L10]
  value Segmented [L10]
  value Charges [L10]
class UIFProgressWidget [L14] — Original procedural progress rendering. Square style measures real perimeter distance, not angle.
  field EIFProgressStyle Style = EIFProgressStyle::SquarePerimeter; [L18]
  field float Fraction = 0; [L19]
  field FLinearColor FillColor = FLinearColor(0.2f,0.8f,0.65f,1); [L20]
  field FLinearColor TrackColor = FLinearColor(0.08f,0.12f,0.17f,1); [L21]
  field bool bUseLinearBrushes=false; [L23] — Linear mode only: draw your artwork at full size and clip the fill to its fraction. No stretched end caps. Other pr
  field FSlateBrush LinearFillBrush; [L24]
  field FSlateBrush LinearTrackBrush; [L25]
  field FName LinearFillStyle; [L27] — Optional keys in the active theme's Surface Styles. None retains the local brush.
  field FName LinearTrackStyle; [L28]
  function void SetLinearBrushes(FSlateBrush Fill,FSlateBrush Track); [L29]
  field bool bUseThemeColors=false; [L31] — Use the project's Accent/Outline tokens. Disable to use custom Fill/Track colors.
  field TObjectPtr<UIFTheme> ThemeOverride; [L32]
  function void RefreshAppearance(); [L33]
  field float Thickness = 6; [L34]
  field bool bReverse = false; [L35]
  field float StartOffset = 0; [L37] — Normalized position along the perimeter; zero starts at the top-left for square, top for radial.
  field int32 Segments = 8; [L38]
  field FVector2D DesiredSize = FVector2D(128,128); [L39]
  function void SetFraction(float Value); [L40]
  function bool ConfigureProgress(EIFProgressStyle NewStyle,FVector2D NewDesiredSize,int32 NewSegments=8,bool bReversed=false,float NewStartOffset=0.f); [L42] — Change presentation without replacing the widget or restarting its clock. Invalid style/size/origin leaves it uncha
  function int32 GetDisplayedCharges() const; [L44] — Whole filled cells, rounded down with a small floating-point tolerance. This displays counts; it owns no gameplay c
  function void StartCooldown(float DurationSeconds); [L46] — Uses an absolute game-time end, so repaint frequency cannot accumulate timer drift. Zero duration completes.
  function void ClearCooldown(); [L47]
  function float GetDisplayedFraction() const; [L48]
  function float GetRemainingSeconds() const; [L49]
  function virtual void SynchronizeProperties() override; [L50]
  function virtual void ReleaseSlateResources(bool bReleaseChildren) override; [L51]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L53]
  field FSlateBrush ResolvedLinearFill; [L56]
  field FSlateBrush ResolvedLinearTrack; [L57]
  field TSharedPtr<SIFProgress> Progress; [L58]
  field double CooldownEnd = 0; [L59]
  field float CooldownDuration = 0; [L60]
  field TWeakObjectPtr<UIFLocalPlayerSubsystem> BoundUI; [L61]
  function void ThemeChanged(UIFTheme* Theme); [L62]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFReadoutEntry.h ​

text
class UIFReadoutEntry [L15] — Optional binding convenience. Build the entire Designer tree yourself; use any subset of these names.
  field FName ModelName; [L20] — Optional automatic screen binding. None leaves initialization to your Blueprint graph.
  function void RefreshScreenBinding(); [L21]
  field bool bShowFractionPercent=false; [L22]
  field bool bShowQuantity=false; [L23]
  field bool bDetailOnlyWhenFractionActive=false; [L24]
  field bool bHideWhenUnavailable=false; [L26] — Useful for contextual/defeat panels; keeps the model subscription while collapsed.
  field float UnavailableIconOpacity=.5f; [L27]
  field FVector2D IconUVMin=FVector2D::ZeroVector; [L29] — UV rectangle for an optional texture atlas. Full texture by default.
  field FVector2D IconUVMax=FVector2D(1,1); [L30]
  field FName EntryActionName; [L32] — Optional EntryCommand action; None routes Model Name.
  field FName TooltipModelName; [L33]
  field FName SecondaryModelName; [L35] — Optional nested SecondaryEntry binding, for a compact resource row or another related readout.
  field FName MappingName; [L37] — Registered Enhanced Input mapping; an optional ActionPrompt child displays its applied key/glyph.
  field bool bOverrideFractionColors=false; [L38]
  field bool bUseModelAccent=false; [L39]
  field FLinearColor FractionColor=FLinearColor(.13f,.62f,.42f); [L40]
  field FLinearColor FractionTrackColor=FLinearColor(.025f,.045f,.04f); [L41]
  function virtual void InitializeEntry_Implementation(UObject* Data) override; [L42]
  function virtual void RefreshEntry_Implementation() override; [L43]
  function virtual void ReleaseEntry_Implementation() override; [L44]
  function virtual void NativeConstruct() override; [L46]
  field TObjectPtr<UTextBlock> TitleText; [L47]
  field TObjectPtr<UTextBlock> DetailText; [L48]
  field TObjectPtr<UTextBlock> ValueText; [L49]
  field TObjectPtr<UImage> IconImage; [L50]
  field TObjectPtr<UIFProgressWidget> FractionBar; [L51]
  field TObjectPtr<UIFCenterTint> CooldownTint; [L52]
  field TObjectPtr<UIFCommandButton> EntryCommand; [L53]
  field TObjectPtr<UIFActionPrompt> ActionPrompt; [L54]
  field TObjectPtr<UIFReadoutEntry> SecondaryEntry; [L55]
  field TObjectPtr<UListView> ItemList; [L57] — Optional engine ListView/TileView. Collection data supplies items; entry class remains Designer editable.
  function void RefreshFraction(float Fraction); [L59]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFRemapping.h ​

text
class UIFRemappingSubsystem [L11] — Stages existing EnhancedInput mappings without changing gameplay until Apply. No parallel key file.
  function bool BeginEdit(FText& FailureReason); [L15]
  function bool StageKeyMapping(FMapPlayerKeyArgs Mapping,FText& FailureReason); [L16]
  function bool StageDefault(FMapPlayerKeyArgs Mapping,FText& FailureReason); [L17]
  function bool StageRegisteredKey(FName MappingName,EIFInputPresentation Family,FKey Key,FText& FailureReason); [L19] — Simple first-slot workflow; resolves the registered hardware identity rather than guessing it.
  function bool StageRegisteredDefault(FName MappingName,EIFInputPresentation Family,FText& FailureReason); [L20]
  function FKey GetRegisteredPreviewKey(FName MappingName,EIFInputPresentation Family) const; [L22] — First registered slot for this family, including staged changes. Invalid key if unavailable.
  function bool ValidatePending(FText& FailureReason) const; [L24] — Preflight staged mappings without applying or saving them. Used by shared settings menus.
  function bool Apply(FText& FailureReason); [L25]
  function void Cancel(); [L26]
  function bool IsEditing() const [L27]
  function bool HasPendingChanges() const [L28]
  function FKey GetPreviewKey(FMapPlayerKeyArgs Mapping) const; [L30] — Returns a staged key if present, otherwise the current engine mapping. Invalid if no mapping exists.
  function bool GetRegisteredMapping(FName MappingName, EIFInputPresentation Family, FMapPlayerKeyArgs& Mapping) const; [L32] — Resolve the first registered slot for this family, retaining its actual hardware ID. Never guess that ID.
  field bool bRejectConflictingKeys=true; [L33]
  field TArray<FKey> ReservedKeys; [L35] — Keep a way out of a menu. Configure separately from CommonUI Input Data to match your project.
  function UIFRemappingSubsystem(); [L36]
  function virtual void Deinitialize() override; [L37]
  function UEnhancedInputUserSettings* Settings() const; [L39]
  function const FPlayerKeyMapping* FindMapping(const FMapPlayerKeyArgs& Args) const; [L40]
  function bool ValidateMapping(const FMapPlayerKeyArgs& Args,FText& FailureReason) const; [L41]
  field TArray<FMapPlayerKeyArgs> Pending; [L42]
  field FString ProfileId; [L43]
  field bool bEditing=false; [L44]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFScreen.h ​

text
enum EIFLayer [L23]
  value HUD [L23]
  value Menu [L23]
  value Modal [L23]
enum EIFInputPolicy [L24]
  value Gameplay [L24]
  value GameAndUI [L24]
  value Menu [L24]
struct FIFScreenShortcut [L27] — A HUD command whose applied Enhanced Input key must win over widget navigation (for example Tab targeting).
  field FName MappingName; [L30]
  field FName ActionName; [L31]
class UIFScreen [L35]
  function UIFScreen(); [L39]
  field EIFInputPolicy InputPolicy = EIFInputPolicy::Menu; [L40]
  field EMouseCaptureMode GameAndUIMouseCapture=EMouseCaptureMode::CaptureDuringMouseDown; [L42] — Mixed HUDs need temporary capture to receive world mouse presses in FSceneViewport. Cursor stays visible.
  field bool bContainNavigation = true; [L44] — Stop unhandled directional/Tab navigation at a menu/modal boundary. Child widgets retain their own explicit/wrap ru
  field TObjectPtr<UWidget> InitialFocus; [L45]
  field FName InitialFocusName; [L47] — Designer widget name or nested path (HUDLayout/Pause). Direct Initial Focus takes priority.
  field FName FallbackFocusName; [L48]
  field TArray<FIFScreenShortcut> Shortcuts; [L50] — Optional top-screen shortcuts. Uses applied engine bindings; no parallel key file or global input handler.
  field bool bShortcutsEnabled=true; [L52] — Disable while a custom text/chat editor owns focus, or present that editor on another screen.
  field TArray<FKey> GameplayAnalogKeys; [L54] — Axes reserved for gameplay on this top Game And UI HUD. They bypass widget navigation. Leave empty on menus or scre
  field TArray<FName> GameplayKeyMappings; [L57] — Applied keyboard mappings reserved for gameplay on this top mixed HUD (movement, groups, commands). Menus/modals an
  field bool bShowKeyboardNavigationFocus=true; [L59] — HUD hotkeys can change keyboard glyphs without selecting a button or opening a navigation tooltip.
  function bool ForwardGameplayAnalogInput(const FAnalogInputEvent& Event); [L60]
  function bool ForwardGameplayKeyInput(const FKeyEvent& Event,bool Pressed); [L61]
  field FName BackActionName; [L63] — Optional adapter action for Back (for example Pause or Resume). None uses CommonUI's default Back behavior.
  field TObjectPtr<UObject> ScreenData; [L64]
  function void InitializeScreen(UObject* Data); [L66] — Called before a pooled screen is pushed/activated; reset all context-specific state here.
  function void OnInputPresentationUpdated(EIFInputPresentation Presentation); [L68] — Runs for all screens, including HUD behind a modal. Focus is managed only by the top screen.
  field bool bShowPointerCursor = true; [L69]
  function void RefreshInputPresentation(); [L70]
  function void RequestBack(); [L72] — Uses the same back handler as CommonUI, including Blueprint overrides and cancel behavior.
  function bool RegisterNavigationHintHost(UContentWidget* Host,TSubclassOf<UUserWidget> EntryClass,bool YieldToNotifications=true); [L74] — Optional empty Designer container for passive keyboard/controller descriptions.
  function void UnregisterNavigationHintHost(); [L75]
  function UIFRootLayout* GetRootLayout() const; [L77] — The owning player's root. Returns None until a root is created; never crosses players.
  function UObject* GetUIModel(FName ModelName) const; [L79] — Resolve a named model from this screen's data source. Missing source/model returns None.
  function bool RequestUIAction(FName ActionName, UObject* Context=nullptr); [L81] — Ask the screen's adapter; it owns validation and execution. False also covers a missing source.
  function void OnThemeUpdated(UIFTheme* Theme); [L82]
  function void OnPreferencesUpdated(const FIFUIPreferences& Preferences); [L83]
  function virtual TOptional<FUIInputConfig> GetDesiredInputConfig() const override; [L84]
  function virtual void NativeConstruct() override; [L86]
  function virtual void NativeDestruct() override; [L87]
  function virtual void NativeOnActivated() override; [L88]
  function virtual FReply NativeOnPreviewKeyDown(const FGeometry& Geometry,const FKeyEvent& Event) override; [L89]
  function virtual UWidget* NativeGetDesiredFocusTarget() const override; [L90]
  function virtual bool NativeOnHandleBackAction() override; [L91]
  function virtual void NativeOnDeactivated() override; [L92]
  function void ReleaseGameplayAnalogInput(); [L95]
  field TSet<FKey> ForwardedAnalogKeys; [L96]
  field TSet<FKey> ForwardedDigitalKeys; [L97]
  function void HandleInputPresentation(EIFInputPresentation Presentation, EIFInputPresentation Previous); [L98]
  field TObjectPtr<UWidget> LastNavigationFocus; [L99]
class UIFRootLayout [L104] — May be replaced by a Widget Blueprint that registers its own CommonUI stacks.
  function UIFRootLayout(); [L108]
  field TSubclassOf<UIFDialog> DefaultDialogClass; [L110] — Project-wide dialog appearance. Any IFDialog Blueprint keeps exactly-once replies and Back.
  field TSubclassOf<UIFLoadingScreen> DefaultLoadingClass; [L112] — Replace loading appearance in Blueprint. A native themed body is the fallback.
  field TSubclassOf<UUserWidget> DefaultNotificationEntryClass; [L114] — Any IFEntry Blueprint can replace the passive notification body.
  field FVector2D NotificationDock=FVector2D(.5,.15); [L115]
  field float NotificationWidth=320; [L116]
  function UIFDialog* PushDialog(UIFDialogData* Data); [L117]
  function void RegisterLayer(EIFLayer Layer,UCommonActivatableWidgetStack* Stack); [L118]
  function bool RegisterNotificationLayer(UIFNotificationLayer* Presenter); [L120] — Register a Designer notification presenter. The root owns its registration and cleanup. None clears it.
  function UIFScreen* PushScreen(EIFLayer Layer,TSubclassOf<UIFScreen> ScreenClass,UObject* Data); [L121]
  function bool GoBack(); [L122]
  function void ClearLayer(EIFLayer Layer); [L124] — End a flow, e.g. leaving gameplay. Deactivates/removes all screens in this layer.
  function bool RemoveScreen(UIFScreen* Screen); [L126] — Remove exactly this screen; preserve unrelated dialogs/history in its stack.
  function UIFScreenLoadAction* GetPendingScreenLoad() const [L127]
  function bool ReserveScreenLoad(UIFScreenLoadAction* Request); [L128]
  function void ReleaseScreenLoad(UIFScreenLoadAction* Request); [L129]
  function void StopScreenLoads(); [L130]
  function UIFScreen* GetTopScreen() const; [L131]
  function UIFScreen* GetActiveScreen(EIFLayer Layer) const; [L132]
  function bool IsChangingScreens() const [L133]
  function virtual void NativeOnInitialized() override; [L135]
  function virtual void NativeConstruct() override; [L136]
  function virtual void NativeDestruct() override; [L137]
  function virtual void NativeTick(const FGeometry& Geometry,float DeltaSeconds) override; [L138]
  field TWeakObjectPtr<UIFTooltipSubsystem> TooltipService; [L140]
  field TWeakObjectPtr<UIFNotificationSubsystem> NotificationService; [L141]
  field TWeakObjectPtr<UCommonUIActionRouterBase> InputRouter; [L142]
  field FDelegateHandle InputConfigHandle; [L143]
  field TObjectPtr<UIFNotificationLayer> Notifications; [L144]
  field TSet<TWeakObjectPtr<UCommonActivatableWidgetContainerBase>> TransitioningLayers; [L145]
  field bool bPushingScreen=false; [L146]
  field bool bAcceptScreenLoads=true; [L147]
  field bool bClearingLayers=false; [L148]
  field TObjectPtr<UIFScreenLoadAction> PendingScreenLoad; [L149]
  function void HandleLayerTransition(UCommonActivatableWidgetContainerBase* Container,bool Transitioning); [L150]
  field TMap<EIFLayer,TObjectPtr<UCommonActivatableWidgetStack>> Layers; [L151]
  function void RefreshTopPresentation(UCommonActivatableWidget* Displayed); [L152]
  function void ApplyPreferences(const FIFUIPreferences& Preferences); [L153]
  function void ApplyTheme(UIFTheme* Theme); [L154]
  field float ThemeTransitionDuration=.12f; [L155]
function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFThemeChanged, UIFTheme*, Theme) [L158]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFThemeChanged, UIFTheme*, Theme); [L158]
class UIFLocalPlayerSubsystem [L161] — Each local player owns its UI and theme. Dedicated servers never create a layout.
  function UIFRootLayout* CreateRoot(TSubclassOf<UIFRootLayout> RootClass); [L165]
  function void RemoveRoot(); [L166]
  function UIFRootLayout* GetRoot() const [L167]
  function void SetTheme(UIFTheme* Theme); [L168]
  function UIFTheme* GetTheme() const [L169]
  field FIFThemeChanged OnThemeChanged; [L170]
  function virtual void Deinitialize() override; [L171]
  field TObjectPtr<UIFRootLayout> Root; [L173]
  field TObjectPtr<UIFTheme> CurrentTheme; [L174]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFScreenLoading.h ​

text
enum EIFScreenLoadState [L13]
  value Loading [L13]
  value Ready [L13]
  value Failed [L13]
  value Cancelled [L13]
function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FIFScreenLoadCompleted,UIFScreen*,Screen,FText,Reason) [L14]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FIFScreenLoadCompleted,UIFScreen*,Screen,FText,Reason); [L14]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE(FIFScreenLoadUpdated); [L15]
class UIFScreenLoadAction [L20] — Engine soft-class loading with local-player ownership. Cancel prevents late screen pushes; it does not undo unrelat
  function static UIFScreenLoadAction* PushScreenAsync(UIFRootLayout* Root,EIFLayer Layer,TSoftClassPtr<UIFScreen> ScreenClass,UObject* Data,FText Title,UObject* Scope=nullptr); [L25]
  field FIFScreenLoadCompleted Ready; [L26]
  field FIFScreenLoadCompleted Failed; [L27]
  field FIFScreenLoadCompleted Cancelled; [L28]
  field FIFScreenLoadUpdated OnLoadingUpdated; [L29]
  function void CancelLoading(); [L30]
  function EIFScreenLoadState GetLoadState() const [L31]
  function float GetLoadProgress() const [L32]
  function FText GetLoadingTitle() const [L33]
  function FText GetLoadingDetail() const [L34]
  function UIFLoadingScreen* GetLoadingScreen() const [L35]
  function EIFLayer GetTargetLayer() const [L36]
  function virtual void Activate() override; [L37]
  function virtual void BeginDestroy() override; [L38]
  function bool CheckOwner() const; [L40]
  function bool Advance(float DeltaSeconds); [L41]
  function void Loaded(); [L42]
  function void CommitScreen(); [L43]
  function void Finish(EIFScreenLoadState Result,UIFScreen* Screen,FText Reason); [L44]
  field TWeakObjectPtr<UIFRootLayout> OwnerRoot; [L45]
  field TWeakObjectPtr<UObject> OwnerScope; [L46]
  field bool bHasScope=false,bActivated=false,bFinished=false; [L47]
  field bool bAssetsReady=false; [L48]
  field EIFLayer TargetLayer=EIFLayer::Menu; [L49]
  field EIFScreenLoadState State=EIFScreenLoadState::Loading; [L50]
  field float Progress=0; [L51]
  field FText LoadingTitle,LoadingDetail; [L52]
  field TSoftClassPtr<UIFScreen> TargetClass; [L53]
  field TObjectPtr<UObject> ScreenData; [L54]
  field TWeakObjectPtr<UIFLoadingScreen> LoadingScreen; [L55]
  field TSharedPtr<FStreamableHandle> Handle; [L56]
  field FTSTicker::FDelegateHandle UpdateTicker; [L57]
class UIFLoadingScreen [L63] — Blueprint designer replacement: optional named controls retain progress/Cancel/CommonUI Back. A completely custom b
  function UIFLoadingScreen(); [L67]
  function virtual void InitializeScreen_Implementation(UObject* Data) override; [L68]
  function UIFScreenLoadAction* GetLoadingRequest() const [L69]
  function void CancelLoading(); [L70]
  function void OnLoadingUpdated(); [L71]
  function virtual void NativeOnInitialized() override; [L73]
  function virtual void NativeDestruct() override; [L74]
  function virtual bool NativeOnHandleBackAction() override; [L75]
  function virtual FReply NativeOnMouseButtonDown(const FGeometry&,const FPointerEvent&) override; [L76]
  field TObjectPtr<UTextBlock> LoadingTitle; [L77]
  field TObjectPtr<UTextBlock> LoadingDetail; [L78]
  field TObjectPtr<UIFProgressWidget> LoadingProgress; [L79]
  field TObjectPtr<UIFButton> CancelButton; [L80]
  field TObjectPtr<UIFScreenLoadAction> Request; [L82]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFScrollBox.h ​

text
class UIFScrollBox [L12] — Ordinary UMG scrolling with automatic local-player theme styling. Children and navigation remain UMG-owned.
  field TObjectPtr<UIFTheme> ThemeOverride; [L16]
  function static void ApplyThemeToScrollBox(UScrollBox* ScrollBox,UIFTheme* Theme); [L18] — Apply theme colors and thickness to any standard ScrollBox. Call again after an intentional theme change.
  function static bool ApplyThemeToListView(UListView* ListView,UIFTheme* Theme); [L20] — Styles a standard List/Tile/Tree View's scrollbar without rebuilding entries. Call from Construct and On Theme Upda
  function void RefreshAppearance(); [L22] — Reapply after changing a local override. Global Set Theme updates automatically.
  function virtual void SynchronizeProperties() override; [L23]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L25]
  function virtual void ReleaseSlateResources(bool bReleaseChildren) override; [L26]
  field TWeakObjectPtr<UIFLocalPlayerSubsystem> BoundUI; [L28]
  function void ThemeChanged(UIFTheme* Theme); [L29]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFSelectionOverlay.h ​

text
struct FIFSelectionMarker [L10] — Projected ellipse. Center and axes are normalized to the game viewport, independent of DPI/UI scale.
  field FVector2D Center=FVector2D::ZeroVector; [L13]
  field FVector2D AxisX=FVector2D(.01,0); [L14]
  field FVector2D AxisY=FVector2D(0,.006); [L15]
  field FLinearColor Color=FLinearColor(.22f,.8f,.68f); [L16]
  field bool bOrderDestination=false; [L17]
class UIFSelectionData [L21] — Presentation snapshot only. Your game supplies projection and selection; no actor/entity scanning.
  field TArray<FIFSelectionMarker> Markers; [L25]
  field bool bMarqueeVisible=false; [L26]
  field FVector2D MarqueeStart=FVector2D::ZeroVector; [L27]
  field FVector2D MarqueeEnd=FVector2D::ZeroVector; [L28]
class UIFSelectionOverlay [L32] — Passive full-viewport overlay. Add outside scaled HUD regions; never captures input or owns focus.
  function UIFSelectionOverlay(); [L36]
  field FName ModelName=TEXT("SelectionOverlay"); [L37]
  field FLinearColor MarqueeColor=FLinearColor(.26f,.76f,.64f,1); [L38]
  field float LineThickness=1.5f; [L39]
  function void SetSelectionData(UIFSelectionData* Data); [L40]
  function void RefreshScreenBinding(); [L41]
  function void RefreshSelection(); [L42]
  function const UIFSelectionData* GetSelectionData() const [L43]
  function virtual void ReleaseSlateResources(bool Children) override; [L44]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L46]
  field TObjectPtr<UIFSelectionData> SelectionData; [L48]
  field TSharedPtr<SIFSelectionOverlay> Overlay; [L49]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFSettingDefinition.h ​

text
enum EIFSettingControl [L9]
  value Slider [L9]
  value Toggle [L9]
  value Choice [L9]
enum EIFSettingBinding [L12]
  value UIScale [L14]
  value TextScale [L14]
  value UIVolume [L14]
  value GameVolume [L14]
  value TooltipDelay [L14]
  value ReducedMotion [L14]
  value VSync [L15]
  value FrameRateLimit [L15]
  value ResolutionScale [L15]
  value ShadowQuality [L15]
  value ViewDistanceQuality [L15]
  value Custom [L16]
struct FIFSettingOption [L21] — One option in a localized choice row. Values remain stable when labels are translated.
  field FText Label; [L24]
  field float Value=0; [L25]
class UIFSettingProvider [L32] — Project-specific settings implement this in Blueprint. The menu owns drafts, not this provider. Preview is reversib
  function bool ReadValue(APlayerController* Player,FName SettingId,float& Value,FText& Failure); [L37] — Read the game's persisted value; also useful after Create Root during Blueprint startup.
  function bool ValidateValue(APlayerController* Player,FName SettingId,float Value,FText& Failure); [L38]
  function bool PreviewValue(APlayerController* Player,FName SettingId,float Value,FText& Failure); [L40] — Present an existing saved value at startup, or a reversible settings preview.
  function bool CommitValue(APlayerController* Player,FName SettingId,float Value,FText& Failure); [L41]
  function bool RestoreValue(APlayerController* Player,FName SettingId,float OriginalValue,FText& Failure); [L42]
class UIFSettingDefinition [L47] — Create this Data Asset once, then choose it on any Blueprint row. Presentation is independent.
  field FName SettingId; [L51]
  field FName PageId=TEXT("Interface"); [L52]
  field FText Label; [L53]
  field FText Help; [L54]
  field EIFSettingControl Control=EIFSettingControl::Slider; [L55]
  field EIFSettingBinding Binding=EIFSettingBinding::UIScale; [L56]
  field float Minimum=.75f; [L57]
  field float Maximum=1.5f; [L58]
  field float Step=.01f; [L59]
  field float DefaultValue=1; [L60]
  field float DisplayMultiplier=1; [L62] — Display only: keep stored values in their native engine units.
  field FText ValueSuffix; [L63]
  field int32 FractionalDigits=2; [L64]
  field TArray<FIFSettingOption> Options; [L65]
  field bool bPreview=true; [L66]
  field bool bEnabled=true; [L67]
  field FText UnavailableReason; [L68]
  field TSubclassOf<UIFSettingProvider> ProviderClass; [L69]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFSettingsSessionChanged,FName,ChangedSettingId); [L73]
class UIFSettingsSession [L77] — Shared draft across every tab and binding row. No widget tree is constructed by this class.
  function bool BeginSession(APlayerController* Player,const TArray<UIFSettingDefinition*>& Definitions,bool IncludeInputBindings,FText& Failure); [L82] — Definitions must have unique IDs; opening another editor is rejected without disturbing it.
  function bool IsActive() const [L83]
  function bool HasPendingChanges() const; [L84]
  function bool GetSettingValue(FName SettingId,float& Value) const; [L85]
  function bool SetSettingValue(FName SettingId,float Value,FText& Failure); [L87] — Rejects invalid/out-of-range values. Snaps slider steps; previews only when configured.
  function bool RestoreDefaults(FName PageId,FText& Failure); [L89] — None restores all definitions. Input bindings reset separately through Restore Binding Default.
  function bool ApplySession(FText& Failure); [L92] — Validates all drafts, then commits. Failure retains the session and reports rollback failures. Engine input persist
  function void CancelSession(); [L93]
  field FIFSettingsSessionChanged OnSessionChanged; [L94]
  function bool Read(UIFSettingDefinition* Definition,float& Value,FText& Failure); [L96]
  function bool Check(UIFSettingDefinition* Definition,float Value,FText& Failure) const; [L97]
  function bool Preview(UIFSettingDefinition* Definition,float Value,FText& Failure); [L98]
  function void RestoreCustom(const TArray<FName>& Ids,FText& Failure,bool RetainDraftPreview=false); [L99]
  field TObjectPtr<APlayerController> Owner; [L100]
  field TMap<FName,TObjectPtr<UIFSettingDefinition>> Definitions; [L101]
  field TMap<FName,TObjectPtr<UIFSettingProvider>> Providers; [L102]
  field TMap<FName,float> Original; [L103]
  field TMap<FName,float> Draft; [L104]
  field TSet<FName> TouchedCustom; [L105]
  field bool bActive=false; [L106]
  field bool bOwnsBindings=false; [L107]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFSettings.h ​

text
enum EIFScalarPreference [L12] — Small scalar controls can edit one preference without rebuilding the whole preference struct.
  value UIScale [L12]
  value TextScale [L12]
  value UIVolume [L12]
  value GameVolume [L12]
  value TooltipDelay [L12]
struct FIFUIPreferences [L16] — Display/audio preferences are shared by this game instance. Key profiles remain local-player EnhancedInput data.
  field float UIScale=1.f; [L19]
  field float TextScale=1.f; [L20]
  field float UIVolume=.8f; [L21]
  field float GameVolume=.8f; [L22]
  field bool bReducedMotion=false; [L23]
  field float TooltipDelay=.35f; [L24]
class UIFSettingsSave [L27]
  field int32 SchemaVersion=1; [L31]
  field FIFUIPreferences Preferences; [L32]
class UIFAudioRouting [L36] — Configure your own engine audio classes. UI/game must be distinct siblings; avoid a parent/master class here.
  field TObjectPtr<USoundMix> Mix; [L40]
  field TObjectPtr<USoundClass> UIClass; [L41]
  field TObjectPtr<USoundClass> GameClass; [L42]
function DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFPreferencesChanged,const FIFUIPreferences&,Preferences) [L44]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FIFPreferencesChanged,const FIFUIPreferences&,Preferences); [L44]
class UIFSettingsSubsystem [L48] — Staged UI preferences with explicit preview/apply/cancel. Uses engine DPI, SoundMix and SaveGame.
  function virtual void Initialize(FSubsystemCollectionBase& Collection) override; [L52]
  function virtual void Deinitialize() override; [L53]
  function bool BeginEdit(); [L55] — False if another screen already owns an edit session.
  function bool IsEditing() const [L56]
  function FIFUIPreferences GetPreferences() const [L57]
  function FIFUIPreferences GetCommittedPreferences() const [L58]
  function FIFUIPreferences GetPresentedPreferences() const [L59]
  function void RefreshPresentation() [L61] — Reapply audio to a new world after travel.
  function bool SetDraft(FIFUIPreferences Preferences,bool bPreview); [L63] — Rejects non-finite values; finite values clamp to supported bounds. Preview is reversible.
  function float GetScalarPreference(EIFScalarPreference Preference) const; [L65] — Reads the active draft, or committed value when no session is open.
  function bool SetScalarPreference(EIFScalarPreference Preference,float Value,bool bPreview=true); [L67] — Same validation/transaction as Set Draft; leaves every other field unchanged.
  function bool GetReducedMotion() const [L68]
  function bool SetReducedMotion(bool bValue,bool bPreview=true); [L69]
  function void RestoreDefaults(bool bPreview); [L70]
  function bool Apply(FText& FailureReason); [L72] — On save failure returns false and retains the draft/session. No success event is emitted.
  function void Cancel(); [L73]
  function bool SetStorageProfile(FString Slot,int32 UserIndex); [L75] — Select a different save profile before editing. Existing files are never migrated silently.
  function bool SetAudioRouting(UIFAudioRouting* Routing); [L76]
  field FIFPreferencesChanged OnPreferencesChanged; [L77]
  function void LoadPreferences(); [L79]
  function void Present(const FIFUIPreferences& Preferences); [L80]
  function static bool Validate(FIFUIPreferences& Preferences); [L81]
  field FIFUIPreferences Committed,Draft,Presented; [L82]
  field bool bEditing=false; [L83]
  field float ProjectApplicationScale=1.f; [L84]
  field FString StorageSlot=TEXT("InterfaceForgeUI"); [L85]
  field int32 StorageUser=0; [L86]
  field TObjectPtr<UIFAudioRouting> AudioRouting; [L87]
  field TWeakObjectPtr<UWorld> AudioWorld; [L88]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFSettingsWidgets.h ​

text
class UIFSettingsTabButton [L20] — Place in Designer and set Page Index. Any Blueprint button style can inherit this behavior.
  field int32 PageIndex=0; [L24]
  field TObjectPtr<UIFSettingsMenu> Menu; [L25]
  function virtual void NativeOnClicked() override; [L27]
class UIFSettingRow [L32] — Build the visual in Designer. Name only the controls you need; no copied setting logic.
  field TObjectPtr<UIFSettingDefinition> Definition; [L36]
  field TObjectPtr<UIFSettingsSession> Session; [L37]
  field bool bFollowThemeColors=true; [L39] — Disable to retain explicitly authored Slider/Combo styles and option generation.
  function void InitializeSetting(UIFSettingsSession* EditingSession); [L40]
  function void RefreshSetting(); [L41]
  function bool SubmitSettingValue(float Value); [L43] — Custom controls call this instead of touching any engine subsystem directly.
  function void OnSettingRefreshed(float Value,bool Available,const FText& Reason); [L44]
  function void OnSettingSubmitted(bool Success,const FText& Reason); [L45]
  function virtual void NativePreConstruct() override; [L47]
  function virtual void NativeConstruct() override; [L48]
  function virtual void NativeDestruct() override; [L49]
  field TObjectPtr<UTextBlock> LabelText; [L50]
  field TObjectPtr<UTextBlock> HelpText; [L51]
  field TObjectPtr<UTextBlock> ValueText; [L52]
  field TObjectPtr<UTextBlock> StatusText; [L53]
  field TObjectPtr<USlider> ValueSlider; [L54]
  field TObjectPtr<UCheckBox> ValueToggle; [L55]
  field TObjectPtr<UIFButton> ValueToggleButton; [L57] — Optional themed alternative to a checkbox; ordinary IFButton sizing/focus/input applies.
  field TObjectPtr<UComboBoxString> ValueChoice; [L58]
  field bool bRefreshing=false; [L60]
  field float LastPresentedValue=0; [L61]
  field bool bHasPresentedValue=false; [L62]
  field bool bOwnsChoiceGenerator=false; [L63]
  field FDelegateHandle CultureHandle; [L64]
  field FTSTicker::FDelegateHandle ChoiceFocusHandle; [L65]
  function bool DismissChoicePopup(); [L67]
  function void ChoiceOpening(); [L68]
  function void StopChoiceFocusWatch(); [L69]
  function void SettingChanged(FName ChangedSettingId); [L70]
  function void ThemeChanged(UIFTheme* Theme); [L71]
  function UWidget* GenerateChoiceLabel(FString Item); [L72]
  function void RefreshControlTheme(); [L73]
  function void SliderChanged(float Value); [L74]
  function void ToggleChanged(bool Value); [L75]
  function void ChoiceChanged(FString Item,ESelectInfo::Type SelectionType); [L76]
  function void ToggleClicked(); [L77]
class UIFSettingsMenu [L82] — Designer-owned tabbed screen. Page content, tabs, rows, animation and layout are Blueprint assets.
  field TArray<FName> PageIds; [L86]
  field TArray<TObjectPtr<UIFSettingDefinition>> AdditionalDefinitions; [L87]
  field bool bIncludeInputBindings=true; [L88]
  field FName BindingPageId=TEXT("Controls"); [L89]
  field TObjectPtr<UIFSettingsSession> EditingSession; [L90]
  field int32 ActivePage=0; [L91]
  function bool SelectSettingsPage(int32 Index); [L92]
  function bool ApplySettings(); [L93]
  function void CancelSettings(); [L94]
  function bool RestorePageDefaults(); [L95]
  function bool RestoreAllDefaults(); [L96]
  function void OnSettingsPageChanged(int32 Index,FName PageId); [L97]
  function void OnSettingsSessionUpdated(bool PendingChanges,const FText& Message); [L98]
  function virtual void NativeConstruct() override; [L100]
  function virtual void NativeDestruct() override; [L101]
  function virtual void NativeOnActivated() override; [L102]
  function virtual void NativeOnDeactivated() override; [L103]
  function virtual bool NativeOnHandleBackAction() override; [L104]
  field TObjectPtr<UWidgetSwitcher> SettingsPages; [L105]
  field TObjectPtr<UTextBlock> SettingsStatus; [L106]
  field TObjectPtr<UIFButton> ApplyChoice; [L107]
  field TObjectPtr<UIFButton> CancelChoice; [L108]
  field TObjectPtr<UIFButton> DefaultsChoice; [L109]
  function void VisitWidgets(TFunctionRef<void(UWidget*)> Visitor); [L111]
  function void ApplyClicked(); [L112]
  function void DefaultsClicked(); [L113]
  function void ShowMessage(const FText& Message); [L114]
  function void SessionChanged(FName ChangedSettingId); [L115]
  function void BindingChanged(bool Success,const FText& Message); [L116]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFSurface.h ​

text
class UIFSurface [L10] — A theme-aware panel. Place any Blueprint layout inside it; content is never replaced.
  field TObjectPtr<UIFTheme> ThemeOverride; [L14]
  field FName SurfaceStyle; [L16] — Named brush in the active theme's Surface Styles. None/missing retains the normal rounded surface.
  field float CornerRadius=12; [L17]
  field float OutlineWidth=1; [L18]
  function void RefreshAppearance(); [L19]
  function virtual void SynchronizeProperties() override; [L20]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L22]
  function virtual void ReleaseSlateResources(bool bReleaseChildren) override; [L23]
  field TWeakObjectPtr<UIFLocalPlayerSubsystem> BoundUI; [L25]
  function void ThemeChanged(UIFTheme* Theme); [L26]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFText.h ​

text
enum EIFTextRole [L9]
  value Body [L9]
  value Heading [L9]
  value Caption [L9]
  value Accent [L9]
  value Danger [L9]
class UIFText [L12] — A normal TextBlock that follows local-player theme and text-size preferences.
  function UIFText(); [L16]
  field EIFTextRole Role=EIFTextRole::Body; [L17]
  field int32 BaseSize=16; [L18]
  field TObjectPtr<UIFTheme> ThemeOverride; [L19]
  function void RefreshAppearance(); [L20]
  function virtual void SynchronizeProperties() override; [L21]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L23]
  function virtual void ReleaseSlateResources(bool bReleaseChildren) override; [L24]
  field TWeakObjectPtr<UIFLocalPlayerSubsystem> BoundUI; [L26]
  field TWeakObjectPtr<UIFSettingsSubsystem> BoundSettings; [L27]
  function void ThemeChanged(UIFTheme* Theme); [L28]
  function void PreferencesChanged(const FIFUIPreferences& Preferences); [L29]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFTooltip.h ​

text
class UIFTooltipCard [L15] — Optional default tooltip. Replace its tree or use any Widget Blueprint implementing IFEntry.
  function virtual void RefreshEntry_Implementation() override; [L19]
  function virtual void ReleaseEntry_Implementation() override; [L20]
  function virtual void NativeOnInitialized() override; [L22]
  field TObjectPtr<UIFText> TitleText; [L24]
  field TObjectPtr<UIFText> DetailText; [L25]
  field TObjectPtr<UIFText> ReasonText; [L26]
class UIFTooltipAnchor [L31] — Wrap a widget in this Designer component. Opens an unfocused, window-fitted engine popup.
  function UIFTooltipAnchor(const FObjectInitializer& Initializer); [L35]
  field TSubclassOf<UUserWidget> TooltipEntryClass; [L37] — Any IFEntry Widget Blueprint. Data may be your own UObject rather than IFPresentationData.
  field TObjectPtr<UObject> TooltipData; [L38]
  field float PreferredWidth=300; [L40] — Width in player UI units, before engine DPI/user scale. Also constrained by the player's root.
  field bool bUseNavigationPlacement=false; [L42] — Use a separate engine placement for keyboard/controller focus. Pointer and explicit touch use Placement.
  field TEnumAsByte<EMenuPlacement> NavigationPlacement=MenuPlacement_CenteredAboveAnchor; [L43]
  function TEnumAsByte<EMenuPlacement> GetResolvedPlacement() const; [L45] — Current input family resolves the placement without changing the Designer's pointer Placement.
  function void RefreshTooltipPlacement(); [L47] — Apply changed placement options to an already open tooltip. No data/focus replacement.
  function void SetTooltipData(UObject* Data); [L48]
  function bool RequestTooltip(bool UseDelay=true); [L50] — Uses the UI preference delay. Pass false for an explicit touch long-press/other custom gesture.
  function void HideTooltip(); [L51]
  function UUserWidget* GetTooltipEntry() const [L52]
  field bool bUseNavigationHintHost=true; [L54] — Prefer the current screen's optional navigation host for keyboard/controller focus. Pointer stays a popup.
  function bool IsTooltipShown() const; [L56] — Includes hosted hints. The inherited Is Open reports only the engine popup.
  function bool IsTooltipHosted() const; [L57]
  function virtual void ReleaseSlateResources(bool bReleaseChildren) override; [L58]
  function virtual TSharedRef<SWidget> RebuildWidget() override; [L60]
  function bool ShowTooltip(UContentWidget* Host=nullptr,TSubclassOf<UUserWidget> EntryClass=nullptr); [L63]
  function UUserWidget* CreateEntry(TSubclassOf<UUserWidget> EntryClass,bool BoundPopupWidth); [L64]
  function void CloseTooltip(); [L65]
  function UUserWidget* CreateTooltipContent(); [L66]
  function void MenuChanged(bool Opened); [L67]
  field TObjectPtr<UUserWidget> TooltipEntry; [L68]
  function void ReleaseEntry(); [L69]
  field TWeakObjectPtr<UContentWidget> PresentedHost; [L70]
  field uint64 EntryGeneration=0; [L71]
  field bool bClosingTooltip=false; [L72]
class UIFTooltipSubsystem [L77] — One tooltip per local player. The root drives its bounded delay even while the game is paused.
  function bool Request(UIFTooltipAnchor* Anchor,bool UseDelay); [L81]
  function void Hide(UIFTooltipAnchor* Anchor); [L82]
  function void ClearTooltips(); [L84] — Close active/pending content before opening a modal, changing screens, or ending a flow.
  function bool RegisterNavigationHintHost(UIFScreen* Screen,UContentWidget* Host,TSubclassOf<UUserWidget> EntryClass,bool YieldToNotifications=true); [L87] — Empty, noninteractive Designer container owned by Screen. Rejects invalid classes/foreign or occupied hosts.
  function void UnregisterNavigationHintHost(UIFScreen* Screen); [L88]
  function void Advance(float DeltaSeconds); [L89]
  function virtual void Deinitialize() override; [L90]
  field TWeakObjectPtr<UIFTooltipAnchor> Current; [L92]
  field TWeakObjectPtr<UIFScreen> RequestedScreen; [L93]
  field float RemainingDelay=0; [L94]
  function bool CanShow(UIFTooltipAnchor* Anchor) const; [L95]
  function UContentWidget* ResolveNavigationHost(UIFTooltipAnchor* Anchor) const; [L96]
  function bool ShouldYieldNavigationHint(UIFTooltipAnchor* Anchor) const; [L97]
  function bool Present(UIFTooltipAnchor* Anchor); [L98]
  field TWeakObjectPtr<UContentWidget> NavigationHost; [L99]
  field TWeakObjectPtr<UIFScreen> HostScreen; [L100]
  field TSubclassOf<UUserWidget> HostEntryClass; [L101]
  field bool bYieldToNotifications=true; [L102]
  field bool bClearing=false; [L103]
  field bool bChangingHost=false; [L104]

Plugins/InterfaceForge/Source/InterfaceForge/Public/IFWorldEntryLibrary.h ​

text
class UIFWorldEntryLibrary [L14] — Use the normal entry contract on an engine Widget Component. Placement and visibility remain project-owned.
  function static UUserWidget* SetWorldEntry(UWidgetComponent* Component,APlayerController* LocalPlayer,TSubclassOf<UUserWidget> EntryClass,UObject* Data); [L23] — Creates a local-player-owned widget and initializes IFEntry. Invalid inputs leave the existing body unchanged. Reus
  function static void ClearWorldEntry(UWidgetComponent* Component); [L26] — Release the entry subscription and remove this component's body. Also clears its automatic Widget Class.
  function static void RefreshWorldEntry(UWidgetComponent* Component); [L29] — Refresh a custom entry and request an engine redraw; useful with Manually Redraw enabled.
  function static bool UpdateWorldEntryLink(UStaticMeshComponent* Link,FVector From,FVector To,float Width=3.f); [L35] — Fit a caller-owned mesh's local X axis between world points. Width applies to its Y/Z bounds. Supply your own mesh/
  function static bool GetWorldEntryWidgetPoint(UWidgetComponent* Component,UWidget* Widget,FVector2D Alignment,FVector& WorldPosition); [L40] — Resolve an alignment point on a rendered child to world space. Supports planar World Widget Components. Alignment i

Review/DeferredInventory/InventoryForge/Source/InventoryForge/InventoryForge.Build.cs ​

text
C# class InventoryForge : ModuleRules [L2]
  constructor InventoryForge(ReadOnlyTargetRules Target) [L4]
module dependencies PublicDependencyModuleNames: Core, CoreUObject, Engine, GameplayTags, NetCore [L7]

Review/DeferredInventory/InventoryForge/Source/InventoryForge/Private/InvFInventoryComponent.cpp ​

text
function void FInvFReplicatedSlots::PostReplicatedReceive(const FFastArraySerializer::FPostReplicatedReceiveParameters&) [L8]
function UInvFInventoryComponent::UInvFInventoryComponent() [L11]
function bool UInvFInventoryComponent::IsAuthority() const [L17]
function void UInvFInventoryComponent::BeginPlay() [L18]
function void UInvFInventoryComponent::EnsureInitialized() [L19]
function void UInvFInventoryComponent::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const [L25]
function TArray<FInvFSlot> UInvFInventoryComponent::GetSlots() const [L31]
function bool UInvFInventoryComponent::GetSlot(int32 Index,FInvFSlot& Slot) const [L37]
function float UInvFInventoryComponent::GetTotalWeight() const [L42]
function TArray<FInvFSlot> UInvFInventoryComponent::FindItems(const FString& Search,FGameplayTagContainer Tags) const [L47]
function EInvFResult UInvFInventoryComponent::ValidateState(const TArray<FInvFSlot>& Candidate) const [L54]
function void UInvFInventoryComponent::Commit(const TArray<FInvFSlot>& Candidate) [L76]
function EInvFResult UInvFInventoryComponent::GrantItem(UInvFItemDefinition* Definition,int32 Quantity) [L89]
function TGuardValue<bool> Guard(bInTransaction,true); [L93]
function bool UInvFInventoryComponent::CanTransferTo_Implementation(const UInvFInventoryComponent* Target) const [L104]
function bool UInvFInventoryComponent::CanConsume_Implementation(const FInvFSlot& Slot,int32) const [L106]
function EInvFResult UInvFInventoryComponent::ExecuteRequest(const FInvFRequest& R) [L109]
function TGuardValue<bool> Guard(bInTransaction,true); [L113]
function FGuid UInvFInventoryComponent::SubmitRequest(const FInvFRequest& Request) [L175]
function void UInvFInventoryComponent::ServerSubmit_Implementation(FGuid ID,FInvFRequest R) [L182]
function void UInvFInventoryComponent::ClientFinished_Implementation(FGuid ID,EInvFResult Result,int32 ServerRevision) [L184]
function void UInvFInventoryComponent::NotifyReplicatedChange() [L186]
function void UInvFInventoryComponent::OnRepRevision() [L187]
function FInvFSnapshot UInvFInventoryComponent::CaptureSnapshot() const [L188]
function EInvFResult UInvFInventoryComponent::RestoreSnapshot(const FInvFSnapshot& Snapshot) [L194]
function TGuardValue<bool> Guard(bInTransaction,true); [L198]

Review/DeferredInventory/InventoryForge/Source/InventoryForge/Private/Tests/InvFTransactionTests.cpp ​

text
struct FFixture [L10]
  field UWorld* World=UWorld::CreateWorld(EWorldType::Game,false,NAME_None,nullptr,true,ERHIFeatureLevel::Num,nullptr,true); [L12]
  field AActor* Actor=nullptr; [L13]
  field UInvFInventoryComponent* Inventory=nullptr; [L14]
  field UInvFItemDefinition* Item=nullptr; [L15]
  function FFixture(int32 Capacity=4) [L16]
  function ~FFixture() [L23]
  function int32 Total() const [L24]
  function FInvFRequest Request(EInvFOperation Op,int32 From,int32 To,int32 Qty) const [L25]
macro object IMPLEMENT_SIMPLE_AUTOMATION_TEST(FInvFConservation,"AshenForge.InventoryForge.Transactions.Conservation",EAutomationTestFlags::EditorContext|EAutomationTestFlags::EngineFilter) [L29]
function bool FInvFConservation::RunTest(const FString&) [L30]
macro object IMPLEMENT_SIMPLE_AUTOMATION_TEST(FInvFAtomic,"AshenForge.InventoryForge.Transactions.AtomicRejection",EAutomationTestFlags::EditorContext|EAutomationTestFlags::EngineFilter) [L50]
function bool FInvFAtomic::RunTest(const FString&) [L51]
macro object IMPLEMENT_SIMPLE_AUTOMATION_TEST(FInvFTransfer,"AshenForge.InventoryForge.Transactions.TransferAndRestore",EAutomationTestFlags::EditorContext|EAutomationTestFlags::EngineFilter) [L68]
function bool FInvFTransfer::RunTest(const FString&) [L69]

Review/DeferredInventory/InventoryForge/Source/InventoryForge/Public/InvFInventoryComponent.h ​

text
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE(FInvFInventoryChanged); [L8]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FInvFRequestFinished, FGuid, RequestId, EInvFResult, Result, int32, ServerRevision); [L9]
function DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FInvFItemConsumed, UInvFItemDefinition*, Definition, int32, Quantity) [L10]
macro object DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FInvFItemConsumed, UInvFItemDefinition*, Definition, int32, Quantity); [L10]
class UInvFInventoryComponent [L14] — Attach to a replicated player-owned Actor. All mutations are revalidated by the authority.
  function UInvFInventoryComponent(); [L18]
  function virtual void BeginPlay() override; [L19]
  function virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override; [L20]
  field int32 Capacity = 32; [L22]
  field float WeightLimit = 0; [L24] — Zero means unlimited. Server checks the candidate's complete weight before committing.
  field FGameplayTagContainer AcceptedItemTags; [L26] — If nonempty, accepted definitions must contain at least one matching tag.
  field FInvFInventoryChanged OnInventoryChanged; [L27]
  field FInvFRequestFinished OnRequestFinished; [L28]
  field FInvFItemConsumed OnItemConsumed; [L30] — Authority only. Apply your gameplay effect from this callback, after the consume commits.
  function int32 GetRevision() const [L32]
  function TArray<FInvFSlot> GetSlots() const; [L33]
  function bool GetSlot(int32 SlotIndex, FInvFSlot& Slot) const; [L34]
  function float GetTotalWeight() const; [L35]
  function TArray<FInvFSlot> FindItems(const FString& Search, FGameplayTagContainer Tags) const; [L37] — Case-insensitive display-name/description search, optional tags, stable slot order.
  function EInvFResult GrantItem(UInvFItemDefinition* Definition, int32 Quantity); [L40] — Trusted gameplay grants only. Atomic: a full container never grants a partial quantity.
  function EInvFResult ExecuteRequest(const FInvFRequest& Request); [L42] — Direct authority operation; same validation used by client requests.
  function FGuid SubmitRequest(const FInvFRequest& Request); [L44] — Owned-component reliable request. Bind On Request Finished for the authoritative result.
  function FInvFSnapshot CaptureSnapshot() const; [L45]
  function EInvFResult RestoreSnapshot(const FInvFSnapshot& Snapshot); [L47] — Only trusted server saves. Does not provide an RPC for restoring client snapshots.
  function bool CanTransferTo(const UInvFInventoryComponent* Target) const; [L49] — Default permits transfer only between inventories on the same Actor. Override on server for chests/trade.
  function bool CanConsume(const FInvFSlot& Slot, int32 Quantity) const; [L50]
  function void NotifyReplicatedChange(); [L51]
  field FInvFReplicatedSlots ReplicatedSlots; [L53]
  field int32 Revision = 0; [L54]
  field bool bInTransaction = false; [L55]
  function void EnsureInitialized(); [L56]
  function bool IsAuthority() const; [L57]
  function EInvFResult ValidateState(const TArray<FInvFSlot>& Candidate) const; [L58]
  function void Commit(const TArray<FInvFSlot>& Candidate); [L59]
  function void OnRepRevision(); [L60]
  function void ServerSubmit(FGuid RequestId, FInvFRequest Request); [L61]
  function void ClientFinished(FGuid RequestId, EInvFResult Result, int32 ServerRevision); [L62]

Review/DeferredInventory/InventoryForge/Source/InventoryForge/Public/InvFInventoryTypes.h ​

text
enum EInvFResult [L11]
  value Success [L13]
  value NotAuthority [L13]
  value InvalidInput [L13]
  value StaleRevision [L13]
  value EmptySlot [L13]
  value Full [L13]
  value Restricted [L13]
  value TooHeavy [L13]
  value Incompatible [L14]
  value NotConsumable [L14]
  value InvalidSnapshot [L14]
  value Busy [L14]
enum EInvFOperation [L17]
  value Move [L17]
  value Split [L17]
  value Consume [L17]
  value Equip [L17]
  value Unequip [L17]
  value Transfer [L17]
struct FInvFSlot [L21] — One owned stack with a stable ID. Copies returned to Blueprint are read-only snapshots.
  field int32 SlotIndex = INDEX_NONE; [L24]
  field FGuid InstanceId; [L25]
  field TObjectPtr<UInvFItemDefinition> Definition = nullptr; [L26]
  field int32 Quantity = 0; [L27]
  field FGameplayTag EquipmentSlot; [L28]
  function bool IsEmpty() const [L29]
  function void Clear() [L30]
struct FInvFReplicatedSlots [L34]
  field TArray<FInvFSlot> Items; [L37]
  field TObjectPtr<UInvFInventoryComponent> Owner = nullptr; [L38]
  function bool NetDeltaSerialize(FNetDeltaSerializeInfo& Info) [L39]
  function void PostReplicatedReceive(const FFastArraySerializer::FPostReplicatedReceiveParameters& Parameters); [L40]
struct TStructOpsTypeTraits<FInvFReplicatedSlots> [L42]
  field enum { WithNetDeltaSerializer = true }; [L43]
  value WithNetDeltaSerializer = true [L43]
struct FInvFRequest [L47] — Client request references existing state only. It has no item-definition or item-grant field.
  field EInvFOperation Operation = EInvFOperation::Move; [L50]
  field int32 SourceSlot = 0; [L51]
  field int32 TargetSlot = 0; [L52]
  field int32 Quantity = 1; [L53]
  field int32 ExpectedRevision = 0; [L54]
  field int32 ExpectedTargetRevision = 0; [L55]
  field FGameplayTag EquipmentSlot; [L56]
  field TObjectPtr<UInvFInventoryComponent> TargetInventory = nullptr; [L57]
struct FInvFSavedStack [L61]
  field int32 SlotIndex = 0; [L64]
  field FGuid InstanceId; [L65]
  field TSoftObjectPtr<UInvFItemDefinition> Definition; [L66]
  field int32 Quantity = 0; [L67]
  field FGameplayTag EquipmentSlot; [L68]
struct FInvFSnapshot [L71]
  field int32 Version = 1; [L74]
  field int32 Capacity = 32; [L75]
  field TArray<FInvFSavedStack> Stacks; [L76]

Review/DeferredInventory/InventoryForge/Source/InventoryForge/Public/InvFItemDefinition.h ​

text
class UInvFItemDefinition [L10] — Shared immutable item template. Never store a player's quantities or durability here.
  field FText DisplayName; [L14]
  field FText Description; [L15]
  field TSoftObjectPtr<UTexture2D> Icon; [L16]
  field int32 MaxStack = 1; [L17]
  field float UnitWeight = 0; [L18]
  field FGameplayTagContainer ItemTags; [L19]
  field FGameplayTagContainer AllowedEquipmentSlots; [L20]
  field bool bConsumable = false; [L21]
  function bool HasValidRules() const [L22]

Review/Diagnostics/GraphCapture/ForgeGraphPolish-UnacceptedCapture.cpp ​

text
function FString SemanticGraph(UWidgetBlueprint* BP) [L38]
function FString Digest(const FString& Value) [L60]
function UEdGraphNode* Linked(UEdGraphPin* Pin) [L62]
function UK2Node_CallFunction* NextCall(const UK2Node_CallFunction* Call) [L64]
  field FString Title; [L66]
  field TArray<UEdGraphNode*> Nodes; [L66]
struct FSection [L66]
function bool UForgeExampleAuthoring::RefineLanguageGraphLayout(bool bVerifyOnly) [L69]
function bool UForgeExampleAuthoring::CaptureLanguageGraph() [L143]

Review/Diagnostics/LanguageFocus/ForgeLocalizationReview-NativeProbe.cpp ​

text
function UIFButton* FindButton(UIFScreen* Screen,FName Name) [L31]
function void Key(FKey K) [L33]
function void AForgeLocalizationReview::Check(bool Value,const TCHAR* Reason) [L36]
function void AForgeLocalizationReview::StartReview(APlayerController* Player) [L38]
function void AForgeLocalizationReview::Press(UIFScreen* Screen,FName Name) [L50]
function void AForgeLocalizationReview::Back() [L52]
function void AForgeLocalizationReview::Capture(const TCHAR* Name) [L53]
function void AForgeLocalizationReview::Finish() [L58]
function void AForgeLocalizationReview::EndPlay(const EEndPlayReason::Type Reason) [L67]
function void AForgeLocalizationReview::Advance() [L68]

Review/Diagnostics/LanguageFocus/verify_language_focus_live_unaccepted.py ​

text
python function finish [L14]
python function advance [L20]

Source/ForgeExamples/ForgeExamples.Build.cs ​

text
C# class ForgeExamples : ModuleRules [L3]
  constructor ForgeExamples(ReadOnlyTargetRules Target) [L5]
module dependencies PublicDependencyModuleNames: Core, CoreUObject, Engine, InputCore, ApplicationCore, UMG, Slate, SlateCore, GameplayTags, InterfaceForge, CommonUI, CommonInput, EnhancedInput [L8]
module dependencies PrivateDependencyModuleNames: DeveloperSettings, AudioMixer, NavigationSystem [L9]

Source/ForgeExamples/Private/ForgeAnimationReview.cpp ​

text
function void Key(FKey Value) [L21]
function UIFButton* Choice(UIFEntryWidget* Entry) [L27]
function void Press(UIFEntryWidget* Entry) [L29]
function void AForgeAnimationReview::StartReview(AForgeExamplePlayerController* Player) [L33]
function bool AForgeAnimationReview::Open() [L50]
function void AForgeAnimationReview::Next() [L63]
function void AForgeAnimationReview::Check(bool Passed,const TCHAR* Requirement) [L64]
function void AForgeAnimationReview::Capture(const TCHAR* Name) [L66]
function bool AForgeAnimationReview::Advance(float Delta) [L72]
function void AForgeAnimationReview::Finish() [L146]
function void AForgeAnimationReview::EndPlay(const EEndPlayReason::Type Reason) [L154]

Source/ForgeExamples/Private/ForgeArmyOrders.cpp ​

text
function FVector AForgeDemoWorld::NavigationStep(int32 I,FVector Goal) [L13]
function FVector AForgeDemoWorld::ConstrainPoint(FVector P)const [L32]
function void AForgeDemoWorld::CancelAction(int32 I) [L36]
function void AForgeDemoWorld::SetUnitOrder(int32 I,const FForgeUnitOrder& Order,bool Queue) [L42]
function void AForgeDemoWorld::FinishOrder(int32 I) [L53]
function int32 AForgeDemoWorld::NearestOpponent(int32 I,float Range)const [L59]
function void AForgeDemoWorld::IssueOrder(EForgeOrderType Type,FVector Destination,int32 Victim,bool Queue) [L66]
function int32 AForgeDemoWorld::PickUnit(FVector2D Point)const [L94]
function void AForgeDemoWorld::RefreshSelection() [L106]
function void AForgeDemoWorld::SelectAt(FVector2D Point,bool Additive,bool SameType) [L112]
function void AForgeDemoWorld::SelectRectangle(FVector2D Start,FVector2D End,bool Additive) [L130]
function const FBox2D Box(FVector2D::Min(Start,End),FVector2D::Max(Start,End)); [L133]
function void AForgeDemoWorld::ControlGroup(int32 Group,bool Store,bool Additive,bool CenterCamera) [L139]
function void AForgeDemoWorld::CommandAt(FVector2D Point,bool Queue) [L153]
function void AForgeDemoWorld::ThinkOrders() [L161]
function void AForgeDemoWorld::UpdateSelectionOverlay(bool Marquee,FVector2D Start,FVector2D End) [L193]
function const FVector2D Size(W,H); [L196]

Source/ForgeExamples/Private/ForgeCustomizationReview.cpp ​

text
function UIFButton* Choice(UUserWidget* Widget,FName Name) [L28]
function void Key(FKey Value) [L30]
function void Press(UIFButton* Button) [L36]
function UIFText* Label(UUserWidget* Widget,FName Name) [L38]
function EIFInputPresentation BlueprintMode(UIFScreen* Screen) [L40]
function void Move(FVector2D Before,float Distance) [L47]
function void Axis(float Value) [L52]
function bool Inside(UWidget* Widget,UWidget* Parent) [L57]
function void AForgeCustomizationReview::StartReview(AForgeExamplePlayerController* Player) [L66]
function void AForgeCustomizationReview::Check(bool Passed,const TCHAR* Requirement) [L76]
function void AForgeCustomizationReview::Capture(const TCHAR* Name) [L78]
function bool AForgeCustomizationReview::Advance(float) [L84]
function void AForgeCustomizationReview::Finish() [L217]
function void AForgeCustomizationReview::EndPlay(const EEndPlayReason::Type Reason) [L224]

Source/ForgeExamples/Private/ForgeDemoAnimInstance.cpp ​

text
function void UForgeDemoAnimInstance::PlayAction(UAnimSequence* Clip,bool HoldFinalPose) [L5]
function void UForgeDemoAnimInstance::ReturnToLocomotion(float BlendOut) [L16]

Source/ForgeExamples/Private/ForgeDemoWorld.cpp ​

text
global declaration const TCHAR* Art=TEXT("/Game/ForgeArt/MassForge/DarkCastle/"); [L47]
function FText Txt(const FString& S) [L48]
function FVector CourtyardCamera(const FVector& Hero,const FVector& Offset) [L49]
function UIFRootLayout* Root(const AActor* A) [L51]
function UAnimSequence* Animation(const TCHAR* Name) [L53]
function AForgeDemoWorld::AForgeDemoWorld() [L59]
function UIFPresentationData* AForgeDemoWorld::Model(FName Name) [L60]
function UObject* AForgeDemoWorld::GetUIModel_Implementation(FName Name) [L65]
function FString AForgeDemoWorld::SaveSlot() const [L66]
function void AForgeDemoWorld::BeginPlay() [L67]
function void AForgeDemoWorld::PushMenu(TSubclassOf<UIFScreen> Class) [L79]
function void AForgeDemoWorld::FrameMainMenu() [L80]
function void AForgeDemoWorld::NewGame() [L104]
function void AForgeDemoWorld::BuildRepresentations() [L121]
function void AForgeDemoWorld::AddRepresentation(int32 I) [L127]
function void AForgeDemoWorld::ShowHUD() [L150]
function void AForgeDemoWorld::Confirm(FName Action,FText Title,FText Message) [L163]
function void AForgeDemoWorld::ConfirmationCompleted(EIFDialogResult Result) [L169]
function bool AForgeDemoWorld::SaveSession() [L177]
function bool AForgeDemoWorld::LoadSession() [L188]
function void AForgeDemoWorld::OpenPause() [L196]
function bool AForgeDemoWorld::RequestUIAction_Implementation(FName Name,UObject* Context) [L197]
function void AForgeDemoWorld::MovePlayer(FVector2D Direction,float DT) [L265]
function void AForgeDemoWorld::OrderMove(FVector Point) [L271]
function void AForgeDemoWorld::PresentAction(int32 Index,UAnimSequence* Clip,bool Hold) [L275]
function void AForgeDemoWorld::PresentIdle(int32 Index) [L281]
function void AForgeDemoWorld::FaceDirection(int32 Index,const FVector& Direction) [L287]
function FVector AForgeDemoWorld::ConstrainRPGStep(FVector From,FVector To)const [L291]
function FCollisionQueryParams Query(SCENE_QUERY_STAT(ForgeRPGMovement),true); [L293]
function bool AForgeDemoWorld::BeginAnimatedHit(int32 Attacker,int32 Victim,float Damage,float Range,bool Cast) [L301]
function void AForgeDemoWorld::ResolveAnimatedHit(int32 Attacker) [L313]
function void AForgeDemoWorld::Tick(float DT) [L332]
function void AForgeDemoWorld::RefreshModels() [L393]
function AForgeDemoController::AForgeDemoController() [L484]
function void AForgeDemoController::BeginPlay() [L485]
function TActorIterator<AForgeDemoWorld> It(GetWorld()); [L487]
function void AForgeDemoController::PlayerTick(float DT) [L512]
function void AForgeDemoController::HandleDemoAction(FName Action) [L545]
function void AForgeDemoController::EndPlay(const EEndPlayReason::Type Reason) [L554]
function bool AForgeDemoController::InputKey(const FInputKeyEventArgs& P) [L560]
function bool AForgeDemoController::PointerOverInterface()const [L585]
function AForgeDemoGameMode::AForgeDemoGameMode() [L596]

Source/ForgeExamples/Private/ForgeEntryReview.cpp ​

text
function bool BarMatches(UListView* List,UIFTheme* Theme) [L27]
function UTextBlock* RowText(UIFEntryWidget* Row,FName Name) [L40]
function AForgeEntryReview::AForgeEntryReview() [L43]
function void AForgeEntryReview::StartReview(APlayerController* Player,UObject* Provider) [L45]
function void AForgeEntryReview::Tick(float DeltaSeconds) [L103]
function void AForgeEntryReview::Check(bool Condition,const TCHAR* Requirement) [L110]
function void AForgeEntryReview::InspectVisibleRows() [L115]
function void AForgeEntryReview::NextStage() [L132]

Source/ForgeExamples/Private/ForgeExampleGameMode.cpp ​

text
function AForgeExampleGameMode::AForgeExampleGameMode() [L53]
function AForgeExamplePlayerController::AForgeExamplePlayerController() [L54]
function void AForgeExamplePlayerController::BeginPlay() [L67]
function void AForgeExamplePlayerController::DialogReviewCompleted(EIFDialogResult Result) [L122]
function void AForgeExamplePlayerController::SetupInputComponent() [L127]
function bool AForgeExamplePlayerController::InputKey(const FInputKeyEventArgs& Params) [L135]
function void AForgeExamplePlayerController::PlayerTick(float DeltaTime) [L142]
function void AForgeExamplePlayerController::BeginExpedition() [L149]
function void AForgeExamplePlayerController::PauseExpedition() [L180]
function void AForgeExamplePlayerController::ReturnToMainMenu() [L186]
function void AForgeExamplePlayerController::SelectNextScout() [L193]
function void AForgeExamplePlayerController::SelectUnderCursor() [L199]
function UForgeWorkshopWidget::UForgeWorkshopWidget() [L206]
function void UForgeWorkshopWidget::NativeOnInitialized() [L207]
function void UForgeWorkshopWidget::OpenMenu() [L250]
function bool UForgeWorkshopWidget::NativeOnHandleBackAction() [L251]
function void UForgeWorkshopWidget::OnThemeUpdated_Implementation(UIFTheme* Theme) [L252]
function void UForgeWorkshopWidget::OnInputPresentationUpdated_Implementation(EIFInputPresentation Presentation) [L259]
function void UForgeWorkshopWidget::OpenDialog() [L265]
function void UForgeWorkshopWidget::DialogCompleted(EIFDialogResult Result) [L274]
function void UForgeWorkshopWidget::PreviewDamage() [L276]
function void UForgeWorkshopWidget::PreviewCooldown() [L282]
function void UForgeWorkshopWidget::SwitchTheme() [L287]
function void UForgeWorkshopWidget::ResetPreview() [L297]

Source/ForgeExamples/Private/ForgeExampleMenus.cpp ​

text
function UForgeMenuScreen::UForgeMenuScreen() [L21]
function void UForgeMenuScreen::NativeOnInitialized() [L22]
function void UForgeMenuScreen::OnInputPresentationUpdated_Implementation(EIFInputPresentation Mode) [L34]
function void UForgeMenuScreen::EnterPreview() [L40]
function void UForgeMenuScreen::OpenSettings() [L41]
function void UForgeMenuScreen::OpenControls() [L42]
function void UForgeMenuScreen::OpenAbout() [L43]
function UIFSettingsSubsystem* UForgeSettingsScreen::Settings() const [L50]
function UForgeSettingsScreen::UForgeSettingsScreen() [L51]
function void UForgeSettingsScreen::NativeOnInitialized() [L53]
function void UForgeSettingsScreen::NativeOnActivated() [L88]
function void UForgeSettingsScreen::RefreshControls() [L95]
function void UForgeSettingsScreen::ScaleChanged(float V) [L102]
function void UForgeSettingsScreen::TextChanged(float V) [L103]
function void UForgeSettingsScreen::UISoundChanged(float V) [L104]
function void UForgeSettingsScreen::GameSoundChanged(float V) [L105]
function void UForgeSettingsScreen::MotionChanged(bool V) [L106]
function void UForgeSettingsScreen::ApplyChanges() [L107]
function void UForgeSettingsScreen::CancelChanges() [L108]
function void UForgeSettingsScreen::Defaults() [L109]
function void UForgeSettingsScreen::PlayGameAudio() [L110]
function void UForgeSettingsScreen::OpenControls() [L111]
function bool UForgeSettingsScreen::NativeOnHandleBackAction() [L112]
function void UForgeSettingsScreen::NativeDestruct() [L113]
function FMapPlayerKeyArgs UForgeControlsScreen::Mapping() const [L115]
function void UForgeControlsScreen::NativeOnInitialized() [L121]
function void UForgeControlsScreen::NativeOnActivated() [L144]
function void UForgeControlsScreen::RefreshKey() [L150]
function TGuardValue<bool> RefreshGuard(bRefreshingKey,true); [L151]
function void UForgeControlsScreen::KeySelected(FInputChord Chord) [L152]
function void UForgeControlsScreen::ApplyChanges() [L158]
function void UForgeControlsScreen::CancelChanges() [L163]
function void UForgeControlsScreen::Defaults() [L164]
function bool UForgeControlsScreen::NativeOnHandleBackAction() [L169]
function void UForgeControlsScreen::NativeDestruct() [L170]

Source/ForgeExamples/Private/ForgeExampleUIHelpers.h ​

text
function inline UTextBlock* Text(UWidgetTree* Tree,FText Value,int32 Size=16,FLinearColor Color=FLinearColor(.88f,.93f,.97f,1)) [L17]
function inline UIFButton* Button(UWidgetTree* Tree,FText Label) [L22]
function inline UVerticalBox* Page(UWidgetTree* Tree,FText Title,FText Description) [L23]

Source/ForgeExamples/Private/ForgeFieldCardsReview.cpp ​

text
function void Key(FKey V) [L22]
function UIFButton* Button(UIFScreen* S,FName N) [L23]
function void Move(FVector2D Before,float Distance) [L24]
function void ClickPoint(FVector2D Point) [L25]
function void Press(UIFButton* B) [L26]
function void AForgeFieldCardsReview::StartReview(APlayerController* P) [L28]
function void AForgeFieldCardsReview::Check(bool V,const TCHAR* N) [L34]
function bool AForgeFieldCardsReview::Advance(float) [L35]
function void AForgeFieldCardsReview::Finish() [L58]
function void AForgeFieldCardsReview::EndPlay(const EEndPlayReason::Type R) [L59]

Source/ForgeExamples/Private/ForgeGlyphReview.cpp ​

text
function void GlyphKey(FKey Key) [L33]
function void AForgeGlyphReview::StartReview(APlayerController* Player) [L41]
function void AForgeGlyphReview::Check(bool Value,const TCHAR* Requirement) [L58]
function bool AForgeGlyphReview::ChangeGamepadKey(FKey Key) [L60]
function bool AForgeGlyphReview::RestoreOriginal() [L69]
function void AForgeGlyphReview::EndPlay(const EEndPlayReason::Type Reason) [L77]
function bool AForgeGlyphReview::GlyphFits() const [L85]
function bool AForgeGlyphReview::ContextTitleFits() const [L96]
function bool AForgeGlyphReview::ExpandedTextFits() const [L106]
function bool AForgeGlyphReview::ScrollAppearanceMatches() const [L126]
function bool AForgeGlyphReview::CustomBodyMatches() const [L150]
function void AForgeGlyphReview::Capture(const TCHAR* Name) [L161]
function bool AForgeGlyphReview::Advance(float) [L167]

Source/ForgeExamples/Private/ForgeLoadingFlows.cpp ​

text
function UIFRootLayout* PlayerRoot(APlayerController* Player) [L10]
function UIFDialogData* LoadFailure(UObject* Owner,FText Reason) [L12]
function bool AForgeExamplePlayerController::RequestBeginExpedition() [L19]
function void AForgeExamplePlayerController::ExpeditionReady(UIFScreen* Screen,FText) [L26]
function void AForgeExamplePlayerController::ExpeditionFailed(UIFScreen*,FText Reason) [L31]
function void AForgeExamplePlayerController::ExpeditionCancelled(UIFScreen*,FText) [L36]
function void AForgeExamplePlayerController::RetryExpedition(EIFDialogResult Result) [L37]
function bool AForgePilgrimageController::RequestBeginJourney() [L40]
function void AForgePilgrimageController::JourneyReady(UIFScreen* Screen,FText) [L47]
function void AForgePilgrimageController::JourneyFailed(UIFScreen*,FText Reason) [L52]
function void AForgePilgrimageController::JourneyCancelled(UIFScreen*,FText) [L57]
function void AForgePilgrimageController::RetryJourney(EIFDialogResult Result) [L58]

Source/ForgeExamples/Private/ForgeLoadingReview.cpp ​

text
function void NavigationKey(FKey Key) [L37]
function bool Focused(UIFButton* Button,APlayerController* Player) [L44]
function FText ReadSavedMenuText(UIFScreen* Screen,FName Name,FText Fallback,bool Detail) [L46]
function FStructOnScope Params(Function); [L49]
function void AForgeLoadingReview::StartReview(APlayerController* Player,UObject* Provider) [L63]
function void AForgeLoadingReview::EndPlay(const EEndPlayReason::Type Reason) [L88]
function void AForgeLoadingReview::RestoreSafeArea() [L96]
function void AForgeLoadingReview::SetSafeArea(FMargin Ratio) [L110]
function void AForgeLoadingReview::CheckSafeArea(UIFRootLayout* Root,bool Inset) [L127]
function void AForgeLoadingReview::Check(bool Value,const TCHAR* Requirement) [L159]
function UIFButton* AForgeLoadingReview::Button(UIFScreen* Screen,FName Name) const [L161]
function void AForgeLoadingReview::Press(UIFButton* Target) [L163]
function void AForgeLoadingReview::Back() [L172]
function void AForgeLoadingReview::Capture(const TCHAR* Name) [L178]
function void AForgeLoadingReview::StartMenuMotionProbe() [L185]
function bool AForgeLoadingReview::ObserveMenuMotion(float Delta) [L197]
function void AForgeLoadingReview::CheckNavigationCues(UIFScreen* Screen) [L253]
function UIFScreenLoadAction* AForgeLoadingReview::Request(UIFRootLayout* Root,UObject* Scope) [L288]
function void AForgeLoadingReview::CheckMenuGeometry(UIFScreen* Screen,bool bMain) [L293]
function void AForgeLoadingReview::CheckMenuContent(UIFScreen* Screen,bool bMain) [L341]
function void AForgeLoadingReview::Ready(UIFScreen*,FText Reason) [L349]
function void AForgeLoadingReview::Failed(UIFScreen* Screen,FText Reason) [L350]
function void AForgeLoadingReview::Cancelled(UIFScreen* Screen,FText Reason) [L351]
function bool AForgeLoadingReview::Advance(float) [L356]

Source/ForgeExamples/Private/ForgeLocalizationReview.cpp ​

text
function UIFButton* FindButton(UIFScreen* Screen,FName Name) [L29]
function void Key(FKey K) [L31]
function void AForgeLocalizationReview::Check(bool Value,const TCHAR* Reason) [L34]
function void AForgeLocalizationReview::StartReview(APlayerController* Player) [L36]
function void AForgeLocalizationReview::Press(UIFScreen* Screen,FName Name) [L48]
function void AForgeLocalizationReview::Back() [L50]
function void AForgeLocalizationReview::Capture(const TCHAR* Name) [L51]
function void AForgeLocalizationReview::Finish() [L56]
function void AForgeLocalizationReview::EndPlay(const EEndPlayReason::Type Reason) [L65]
function void AForgeLocalizationReview::Advance() [L66]

Source/ForgeExamples/Private/ForgeNotificationReview.cpp ​

text
function void AForgeNotificationReview::StartReview(APlayerController* Player,UObject* Provider) [L24]
function void AForgeNotificationReview::EndPlay(const EEndPlayReason::Type Reason) [L37]
function void AForgeNotificationReview::Check(bool Condition,const TCHAR* Requirement) [L39]
function void AForgeNotificationReview::Ended(FGuid Id,EIFNotificationEndReason Reason) [L44]
function void AForgeNotificationReview::Activate(UIFButton* Button) [L49]
function void AForgeNotificationReview::CheckBounds() [L57]
function bool AForgeNotificationReview::NextStage(float) [L71]

Source/ForgeExamples/Private/ForgeOutpost.cpp ​

text
function AForgeOutpost::AForgeOutpost() [L20]
function AActor* AForgeOutpost::Shape(FName Label,UStaticMesh* Mesh,FVector Location,FVector Scale,FLinearColor Color) [L29]
function void AForgeOutpost::BeginPlay() [L37]
function void AForgeOutpost::StartExpedition() [L91]
function void AForgeOutpost::SetExpeditionPaused(bool bPaused) [L104]
function void AForgeOutpost::EndExpedition() [L106]
function void AForgeOutpost::NotifyResult(FText Title,FText Message,FName Key) [L108]
function UObject* AForgeOutpost::GetUIModel_Implementation(FName Name) [L110]
function int32 AForgeOutpost::GetSelectedCount() const [L111]
function void AForgeOutpost::PruneSelection() [L113]
function void AForgeOutpost::SelectActor(AActor* Actor,bool bToggle) [L118]
function bool AForgeOutpost::CanCommand(FName Action,FText& Reason) const [L126]
function bool AForgeOutpost::RequestUIAction_Implementation(FName Action,UObject*) [L147]
function void AForgeOutpost::Tick(float DeltaSeconds) [L189]
function void AForgeOutpost::Publish() [L220]

Source/ForgeExamples/Private/ForgePilgrimage.cpp ​

text
function void TraceRPGLayout(UIFScreen* Screen) [L48]
function AForgePilgrimage::AForgePilgrimage() [L98]
function AActor* AForgePilgrimage::Shape(UStaticMesh* Mesh,FVector Location,FVector Scale,FLinearColor Color) [L107]
function void AForgePilgrimage::BeginPlay() [L115]
function void AForgePilgrimage::StartJourney() [L179]
function void AForgePilgrimage::EndJourney() [L187]
function void AForgePilgrimage::SetJourneyPaused(bool bPaused) [L189]
function void AForgePilgrimage::NotifyResult(FText Title,FText Message,FName Key) [L191]
function UObject* AForgePilgrimage::GetUIModel_Implementation(FName Name) [L193]
function bool AForgePilgrimage::RequestUIAction_Implementation(FName Action,UObject*) [L199]
function void AForgePilgrimage::Speak() [L225]
function void AForgePilgrimage::AnswerKeeper(EIFDialogResult Result) [L234]
function void AForgePilgrimage::Tick(float DeltaSeconds) [L236]
function void AForgePilgrimage::Publish() [L249]
function void AForgePilgrimage::EndPlay(const EEndPlayReason::Type Reason) [L280]
function AForgePilgrimageGameMode::AForgePilgrimageGameMode() [L283]
function AForgePilgrimageController::AForgePilgrimageController() [L284]
function void AForgePilgrimageController::BeginPlay() [L294]
function void AForgePilgrimageController::SetupInputComponent() [L375]
function void AForgePilgrimageController::Interact() [L377]
function void AForgePilgrimageController::PlayerTick(float DeltaTime) [L379]
function void AForgePilgrimageController::BeginJourney() [L381]
function void AForgePilgrimageController::PauseJourney() [L383]
function void AForgePilgrimageController::ReturnToMainMenu() [L385]

Source/ForgeExamples/Private/ForgePlayableUI.cpp ​

text
function AForgeExamplePlayerController* Controller(UUserWidget* W) [L30]
function UIFRootLayout* Root(UUserWidget* W) [L31]
function UIFText* Text(UWidgetTree* Tree,FText Value,int32 Size=16,EIFTextRole Role=EIFTextRole::Body) [L32]
function UIFButton* AddButton(UWidgetTree* Tree,UVerticalBox* Column,FText Label) [L34]
function UVerticalBox* Card(UWidgetTree* Tree,UCanvasPanel* Canvas,FVector2D Anchor,FVector2D Align,FVector2D Offset,float Width,TArray<TObjectPtr<UBorder>>* Panels=nullptr) [L39]
function void Heading(UWidgetTree* Tree,UVerticalBox* Column,FText Value,int32 Size=26) [L47]
function UForgeMainScreen::UForgeMainScreen() [L50]
function void UForgeMainScreen::NativeOnInitialized() [L51]
function void UForgeMainScreen::Start() [L64]
function void UForgeMainScreen::Settings() [L65]
function bool UForgeMainScreen::NativeOnHandleBackAction() [L66]
function void UForgeMainScreen::Quit() [L67]
function void UForgeMainScreen::QuitConfirmed(EIFDialogResult R) [L72]
function UForgeFieldHUD::UForgeFieldHUD() [L74]
function void UForgeFieldHUD::NativeOnInitialized() [L75]
function void UForgeFieldHUD::NativeConstruct() [L98]
function void UForgeFieldHUD::InitializeScreen_Implementation(UObject* Data) [L105]
function void UForgeFieldHUD::NativeDestruct() [L116]
function void UForgeFieldHUD::RefreshModels() [L123]
function void UForgeFieldHUD::Action(FName N) [L134]
function void UForgeFieldHUD::Patrol() [L135]
function void UForgeFieldHUD::Rally() [L136]
function void UForgeFieldHUD::Recruit() [L137]
function void UForgeFieldHUD::NextScout() [L138]
function void UForgeFieldHUD::Pause() [L139]
function bool UForgeFieldHUD::NativeOnHandleBackAction() [L140]
function void UForgeFieldHUD::OnThemeUpdated_Implementation(UIFTheme* T) [L141]
function UForgePauseScreen::UForgePauseScreen() [L144]
function void UForgePauseScreen::NativeOnInitialized() [L149]
function void UForgePauseScreen::Resume() [L162]
function void UForgePauseScreen::Settings() [L163]
function void UForgePauseScreen::Journal() [L164]
function void UForgePauseScreen::NativeOnDeactivated() [L165]
function void UForgePauseScreen::Return() [L166]
function void UForgePauseScreen::ReturnConfirmed(EIFDialogResult R) [L171]

Source/ForgeExamples/Private/ForgeProgressReview.cpp ​

text
function void Key(FKey K) [L26]
function bool Contains(UWidget* Child,UWidget* Parent) [L27]
function void AForgeProgressReview::StartReview(AForgeExamplePlayerController* Player) [L29]
function void AForgeProgressReview::Check(bool Passed,const TCHAR* Requirement) [L36]
function void AForgeProgressReview::Press(UIFScreen* Screen,FName Name) [L37]
field uint8 PresentationStyle; [L38]
function void AForgeProgressReview::ApplyStyle() [L38]
function void AForgeProgressReview::Capture(const TCHAR* Name) [L39]
function bool AForgeProgressReview::Advance(float) [L40]
function void AForgeProgressReview::Finish() [L75]
function void AForgeProgressReview::EndPlay(const EEndPlayReason::Type Reason) [L76]

Source/ForgeExamples/Private/ForgeRPGCamera.cpp ​

text
function AForgeRPGCamera::AForgeRPGCamera() [L6]
function void AForgeRPGCamera::Tick(float DT) [L15]
function void AForgeRPGCamera::Orbit(float Yaw,float Pitch) [L17]
function void AForgeRPGCamera::Zoom(float Steps) [L22]

Source/ForgeExamples/Private/ForgeRTSReview.cpp ​

text
function void AForgeRTSReview::StartReview(AForgeExamplePlayerController* Player,AForgeOutpost* Provider) [L26]
function TActorIterator<AActor> It(GetWorld()); [L37]
function void AForgeRTSReview::Check(bool Condition,const TCHAR* Requirement) [L42]
function UIFButton* AForgeRTSReview::Command(FName Entry) const [L47]
function void AForgeRTSReview::Activate(FName Entry) [L52]
function void AForgeRTSReview::NextStage() [L64]
function TActorIterator<AActor> It(GetWorld()); [L199]

Source/ForgeExamples/Private/ForgeSceneArt.cpp ​

text
function void ForgeSceneArt::DressMiniature(AStaticMeshActor* Body,UStaticMesh* Cube,UStaticMesh* Sphere,UMaterialInterface* Palette,FLinearColor Cloth) [L12]
function void ForgeSceneArt::ConfigureCamera(ACameraActor* Camera) [L35]
function AActor* ForgeSceneArt::AddFillLight(UWorld* World,AActor* Owner) [L46]

Source/ForgeExamples/Private/ForgeSceneArt.h ​

text
function void DressMiniature(AStaticMeshActor* Body,UStaticMesh* Cube,UStaticMesh* Sphere,UMaterialInterface* Palette,FLinearColor Cloth); [L14]
function void ConfigureCamera(ACameraActor* Camera); [L15]
function AActor* AddFillLight(UWorld* World,AActor* Owner); [L16]

Source/ForgeExamples/Private/ForgeSettingsAudioReview.cpp ​

text
function void Key(FKey Value) [L30]
function bool Near(double A,double B,double T=.015) [L36]
function double Tone(const Audio::FAlignedFloatBuffer& PCM,int32 Channels,double Rate,double Frequency) [L37]
function void AForgeSettingsAudioReview::StartReview(AForgeExamplePlayerController* Player) [L49]
function bool AForgeSettingsAudioReview::Open() [L79]
function void AForgeSettingsAudioReview::Next(int32 NewStage) [L86]
function void AForgeSettingsAudioReview::Check(bool Value,const TCHAR* Requirement) [L87]
function void AForgeSettingsAudioReview::Press(FName Name) [L89]
function void AForgeSettingsAudioReview::Slider(FName Name,float Value) [L95]
function void AForgeSettingsAudioReview::BeginCapture() [L101]
function void AForgeSettingsAudioReview::EndCapture() [L108]
function void AForgeSettingsAudioReview::ValidateAudio() [L126]
function void AForgeSettingsAudioReview::CaptureScreen(const TCHAR* Name) [L140]
function bool AForgeSettingsAudioReview::Advance(float) [L142]
function void AForgeSettingsAudioReview::RestoreProcessState() [L223]
function void AForgeSettingsAudioReview::Finish() [L235]
function void AForgeSettingsAudioReview::EndPlay(const EEndPlayReason::Type Reason) [L242]

Source/ForgeExamples/Private/ForgeShippingReview.cpp ​

text
function bool Safe(const FString& Value) [L35]
function void Key(FKey Value) [L36]
function UIFButton* Button(UUserWidget* W,FName Name) [L37]
function bool Focused(UWidget* W,APlayerController* P) [L38]
function void Move(FVector2D Before,float Distance) [L39]
function void AForgeShippingReview::StartReview(APlayerController* P) [L42]
function bool AForgeShippingReview::Flush() [L75]
function void AForgeShippingReview::Check(bool V,const TCHAR* Name) [L76]
function void AForgeShippingReview::Press(UIFButton* B) [L77]
function void AForgeShippingReview::Capture(const TCHAR* Name) [L78]
function bool AForgeShippingReview::Advance(float) [L79]
function void AForgeShippingReview::Finish() [L116]
function void AForgeShippingReview::EndPlay(const EEndPlayReason::Type R) [L117]

Source/ForgeExamples/Private/ForgeTintReview.cpp ​

text
function void UForgeTintReview::NativeOnInitialized() [L17]
function void UForgeTintReview::Replay() [L43]
function void UForgeTintReview::NativeTick(const FGeometry& Geometry,float DeltaSeconds) [L44]

Source/ForgeExamples/Private/ForgeTooltipReview.cpp ​

text
function void AForgeTooltipReview::StartReview(AForgeExamplePlayerController* Player,AForgeOutpost* Provider) [L22]
function void AForgeTooltipReview::EndPlay(const EEndPlayReason::Type Reason) [L35]
function void AForgeTooltipReview::Check(bool Condition,const TCHAR* Requirement) [L37]
function UIFButton* AForgeTooltipReview::Command(FName Entry) const [L42]
function UIFTooltipAnchor* AForgeTooltipReview::Anchor(UIFButton* Button) const [L47]
function void AForgeTooltipReview::KeyboardFocus(UIFButton* Button) [L49]
function void AForgeTooltipReview::MovePointer(FVector2D Position) [L56]
function void AForgeTooltipReview::CheckBounds(UIFTooltipAnchor* Tooltip) [L62]
function bool AForgeTooltipReview::NextStage(float) [L97]

Source/ForgeExamples/Private/ForgeWorldReadout.cpp ​

text
function AForgeWorldReadout::AForgeWorldReadout() [L13]
function void AForgeWorldReadout::CreateReadout_Implementation(APlayerController* Player,UObject* Data) [L28]
function bool AForgeWorldReadout::ShowReadout(AActor* Anchor,APlayerController* Player,UObject* Data) [L30]
function void AForgeWorldReadout::SetFlowVisible(bool bVisible) [L40]
function void AForgeWorldReadout::Tick(float DeltaSeconds) [L41]
function void AForgeWorldReadout::UpdatePlacement() [L42]
function void AForgeWorldReadout::AnchorDestroyed(AActor*) [L60]
function void AForgeWorldReadout::EndPlay(const EEndPlayReason::Type Reason) [L61]

Source/ForgeExamples/Private/ForgeWorldReview.cpp ​

text
function void PressWorldReview(UIFButton* Button) [L33]
function UIFButton* WorldButton(UIFScreen* Screen,FName Name) [L42]
function UIFButton* WorldActionButton(UIFScreen* Screen,FName Name) [L44]
function void WorldNavigationKey(FKey Key) [L49]
function bool WorldFocused(UIFButton* Button,APlayerController* Player) [L56]
function bool WorldHintFits(UIFScreen* Screen,UIFButton* Button,APlayerController* Player) [L58]
function void WorldPointer(UIFButton* Button) [L72]
function bool WorldActionReasonFits(UIFScreen* Screen,FName Name) [L78]
function void AForgeWorldReview::StartReview(AForgePilgrimageController* Player) [L93]
function TActorIterator<AForgeWorldReadout> It(GetWorld()); [L100]
function void AForgeWorldReview::Check(bool Value,const TCHAR* Requirement) [L104]
function bool AForgeWorldReview::LinkMatches(AForgeWorldReadout* Readout) const [L106]
function void AForgeWorldReview::Capture(const TCHAR* Name) [L123]
function bool AForgeWorldReview::Advance(float) [L128]
function void AForgeWorldReview::EndPlay(const EEndPlayReason::Type Reason) [L384]

Source/ForgeExamples/Public/ForgeAnimationReview.h ​

text
class AForgeAnimationReview [L17] — Opt-in real-RHI evidence for saved Blueprint timelines; not part of normal example input.
  function void StartReview(AForgeExamplePlayerController* Player); [L21]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L22]
  function bool Advance(float Delta); [L24]
  function bool Open(); [L25]
  function void Next(); [L26]
  function void Check(bool Passed,const TCHAR* Requirement); [L27]
  function void Capture(const TCHAR* Name); [L28]
  function void Finish(); [L29]
  field TObjectPtr<AForgeExamplePlayerController> Controller; [L30]
  field TObjectPtr<UIFRootLayout> Root; [L31]
  field TObjectPtr<UIFScreen> Survey; [L32]
  field TObjectPtr<UIFEntryWidget> Entry; [L33]
  field TObjectPtr<UIFPresentationData> Source; [L34]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L35]
  field TObjectPtr<UWidgetAnimation> Animation; [L36]
  field TObjectPtr<UWidgetAnimation> HeadingAnimation; [L37]
  field TObjectPtr<UWidget> Card; [L38]
  field TObjectPtr<UWidget> Heading; [L39]
  field FTSTicker::FDelegateHandle Ticker; [L40]
  field int32 Stage=0; [L41]
  field int32 Samples=0; [L42]
  field int32 HeadingSamples=0; [L43]
  field float Elapsed=0; [L44]
  field double StageStarted=0; [L45]
  field double PausedWorldTime=0; [L46]
  field float MinimumOpacity=1; [L47]
  field float MinimumHeadingOpacity=1; [L48]
  field bool bPassed=true; [L49]
  field bool bOwnsPreferences=false; [L50]
  field bool bWasWorldPaused=false; [L51]
  field bool bOwnsWorldPause=false; [L52]
  field bool bEnlarged=false; [L53]
  field bool bCapturedNaturalArrival=false; [L54]

Source/ForgeExamples/Public/ForgeCustomizationReview.h ​

text
class AForgeCustomizationReview [L16] — Opt-in development evidence; the saved Blueprint assets contain the actual interaction.
  function void StartReview(AForgeExamplePlayerController* Player); [L20]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L21]
  function bool Advance(float Delta); [L23]
  function void Check(bool Passed,const TCHAR* Requirement); [L24]
  function void Capture(const TCHAR* Name); [L25]
  function void Finish(); [L26]
  field TObjectPtr<AForgeExamplePlayerController> Controller; [L27]
  field TObjectPtr<UIFRootLayout> CustomRoot; [L28]
  field TObjectPtr<UIFScreen> Journal; [L29]
  field TObjectPtr<UIFScreen> Survey; [L30]
  field TObjectPtr<UIFEntryWidget> Entry; [L31]
  field TObjectPtr<UIFPresentationData> Model; [L32]
  field TObjectPtr<UIFTheme> OriginalTheme; [L33]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L34]
  field FTSTicker::FDelegateHandle Ticker; [L35]
  field int32 Stage=0; [L36]
  field int32 Waits=0; [L37]
  field int32 MenuTransitionStarts=0; [L38]
  field int32 MenuTransitionEnds=0; [L39]
  field bool bPassed=true; [L40]
  field bool bOwnsPreferences=false; [L41]
  field bool bEnlarged=false; [L42]

Source/ForgeExamples/Public/ForgeDemoAnimInstance.h ​

text
class UForgeDemoAnimInstance [L9] — Character presentation for the playable examples only. Independent of the UI plugin.
  field float GroundSpeed=0; [L14] — Actual planar displacement per simulation second; these actors do not use CharacterMovement.
  field float ActionBlendIn=.09f; [L15]
  field float ActionBlendOut=.12f; [L16]
  function void PlayAction(UAnimSequence* Clip,bool HoldFinalPose=false); [L17]
  function void ReturnToLocomotion(float BlendOut=.12f); [L18]
  field TMap<TObjectPtr<UAnimSequence>,TObjectPtr<UAnimMontage>> ActionMontages; [L21] — One transient montage per used clip, rather than allocating one for every army strike.

Source/ForgeExamples/Public/ForgeDemoWorld.h ​

text
enum EForgeDemoGenre [L28]
  value Gateway [L28]
  value MMO [L28]
  value RTS [L28]
enum EForgeUnitRole [L29]
  value Vanguard [L29]
  value Sentinel [L29]
enum EForgeOrderType [L30]
  value Idle [L30]
  value Move [L30]
  value AttackMove [L30]
  value Attack [L30]
  value Hold [L30]
struct FForgeUnitOrder [L32]
  field EForgeOrderType Type=EForgeOrderType::Idle; [L35]
  field FVector Destination=FVector::ZeroVector; [L36]
  field int32 Target=INDEX_NONE; [L37]
struct FForgePendingHit [L39]
  field int32 Target=INDEX_NONE; [L41]
  field float TimeToContact=0; [L42]
  field float Damage=0; [L43]
  field float Range=0; [L44]
  field bool bCast=false; [L45]
struct FForgeDemoUnitState [L48]
  field FVector Position=FVector::ZeroVector; [L51]
  field float Health=100; [L52]
  field bool Enemy=false; [L53]
  field EForgeUnitRole Role=EForgeUnitRole::Vanguard; [L54]
class UForgeDemoSave [L58] — Example-only persistence. The UI plugin never serializes a game's units or progression.
  field int32 Version=1; [L62]
  field EForgeDemoGenre Genre=EForgeDemoGenre::MMO; [L63]
  field TArray<FForgeDemoUnitState> Units; [L64]
  field int32 Gold=240; [L65]
  field int32 Defeated=0; [L66]
  field float Mana=100; [L67]
  field float GateHealth=100; [L68]
  field float Elapsed=0; [L69]
class AForgeDemoWorld [L73] — Small standalone encounter adapter. Owns demonstration rules, models and save data, never core UI.
  function AForgeDemoWorld(); [L77]
  field EForgeDemoGenre Genre=EForgeDemoGenre::MMO; [L78]
  field TObjectPtr<ACameraActor> ViewCamera; [L79]
  field TSubclassOf<UIFScreen> MainMenuClass; [L80]
  field TSubclassOf<UIFScreen> HUDClass; [L81]
  field TSubclassOf<UIFScreen> PauseClass; [L82]
  field TSubclassOf<UIFScreen> LoadClass; [L83]
  field TSubclassOf<UIFScreen> SettingsClass; [L84]
  field TSubclassOf<UUserWidget> NameplateClass; [L85]
  field TSubclassOf<UIFScreen> JournalClass; [L86]
  field TSubclassOf<UIFScreen> AbilityBookClass; [L88] — Ordinary public IFScreen Blueprint; shows the existing six encounter skills.
  field TSubclassOf<UObject> JournalSourceClass; [L89]
  field TObjectPtr<UIFTheme> Theme; [L90]
  field TArray<TObjectPtr<UIFSettingDefinition>> StartupSettings; [L92] — Optional game-owned preference definitions. The example applies their public provider at startup.
  field TSubclassOf<UIFRootLayout> RootLayoutClass; [L93]
  field TObjectPtr<USkeletalMesh> CharacterMesh; [L94]
  field TObjectPtr<UAnimSequence> IdleAnimation; [L95]
  field TObjectPtr<UAnimSequence> MoveAnimation; [L96]
  field TObjectPtr<UAnimSequence> AttackAnimation; [L97]
  field TObjectPtr<UAnimSequence> CastAnimation; [L98]
  field TObjectPtr<UAnimSequence> DeathAnimation; [L99]
  field TSubclassOf<UAnimInstance> CharacterAnimationClass; [L101] — Optional editable Animation Blueprint. Null retains single-sequence replacement support.
  field TObjectPtr<UAnimSequence> HitAnimation; [L102]
  field float MeshForwardYaw=90; [L104] — Imported knight faces component +Y. Zero supports a conventional +X-facing replacement.
  field float MeleeContactTime=.63333333f; [L106] — Contact/release markers read from this owned animation bank, in seconds.
  field float SpellReleaseTime=.5f; [L107]
  field TObjectPtr<UTexture2D> AbilityAtlas; [L108]
  field TObjectPtr<UTexture2D> CommandAtlas; [L109]
  field TObjectPtr<UTexture2D> UnitPortrait; [L110]
  field TObjectPtr<UStaticMesh> CharacterBlade; [L112] — Fixed character presentation, not equipment or inventory rules.
  field FTransform BladeSocketOffset; [L113]
  field FVector FollowCameraOffset=FVector(550,-950,650); [L114]
  field FVector RPGMenuFocus=FVector(-250,-280,125); [L116] — Menu-only composition; gameplay orbit/zoom and saved unit positions are independent.
  field FVector RPGMenuOffset=FVector(480,-1000,75); [L117]
  field float MenuFieldOfView=44; [L118]
  field TSubclassOf<AForgeRPGCamera> RPGCameraClass; [L120] — RPG-only camera class. Create a child Blueprint to tune boom, lens and look behavior.
  field TObjectPtr<AForgeRPGCamera> RPGCamera; [L121]
  field FVector2D RPGMapWorldMin=FVector2D(-2600,-2400); [L123] — XY bounds of the RPG map artwork. U maps world Y, V maps negative world X; RTS retains its existing mapping.
  field FVector2D RPGMapWorldMax=FVector2D(2600,3600); [L124]
  field bool Playing=false; [L125]
  field bool Paused=false; [L126]
  field TArray<FForgeDemoUnitState> Units; [L127]
  field TArray<int32> Selected; [L128]
  field TArray<FForgeUnitOrder> Orders; [L129]
  field bool bAttackMoveArmed=false; [L130]
  field int32 Formation=0; [L131]
  field int32 TrainingQueue=0; [L132]
  field bool bTrackObjective=true; [L133]
  field int32 HoveredUnit=INDEX_NONE; [L134]
  field TObjectPtr<UInputMappingContext> InputMapping; [L136] — Explicit map-owned reference: the cooker includes the context, actions and player-mappable settings.
  function virtual UObject* GetUIModel_Implementation(FName Name) override; [L137]
  function virtual bool RequestUIAction_Implementation(FName Name,UObject* Context) override; [L138]
  function virtual void Tick(float DeltaSeconds) override; [L139]
  function void MovePlayer(FVector2D Direction,float DeltaSeconds); [L140]
  function void SelectAt(FVector2D ScreenPosition,bool Additive,bool SameType=false); [L141]
  function void SelectRectangle(FVector2D Start,FVector2D End,bool Additive); [L142]
  function int32 PickUnit(FVector2D ScreenPosition) const; [L143]
  function void ControlGroup(int32 Group,bool Store,bool Additive=false,bool CenterCamera=false); [L144]
  function void CommandAt(FVector2D ScreenPosition,bool Queue=false); [L145]
  function void IssueOrder(EForgeOrderType Type,FVector Destination,int32 Victim=-1,bool Queue=false); [L146]
  function void UpdateSelectionOverlay(bool Marquee,FVector2D Start,FVector2D End); [L147]
  function void OrderMove(FVector Destination); [L148]
  function void OpenPause(); [L149]
  function virtual void BeginPlay() override; [L151]
  field TMap<FName,TObjectPtr<UIFPresentationData>> Models; [L153]
  field TObjectPtr<UObject> JournalSource; [L154]
  field TArray<TObjectPtr<AActor>> Representations; [L155]
  field TArray<TObjectPtr<USkeletalMeshComponent>> Meshes; [L156]
  field TArray<TObjectPtr<UWidgetComponent>> Nameplates; [L157]
  field TArray<FVector> Destinations; [L158]
  field TArray<bool> Moving; [L159]
  field TArray<float> ActionAnimationTime; [L160]
  field TArray<float> DeathPresentationTime; [L161]
  field TArray<FForgePendingHit> PendingHits; [L162]
  field TArray<float> Cooldowns; [L163]
  field TMap<int32,TArray<FForgeUnitOrder>> QueuedOrders; [L164]
  field TMap<int32,TArray<int32>> ControlGroups; [L165]
  field TMap<int32,TArray<FVector>> NavigationRoutes; [L166]
  field TMap<int32,FVector> NavigationGoals; [L167]
  field TMap<int32,float> NavigationRetryTimes; [L168]
  field float OrderFeedback=0,ThinkClock=0; [L169]
  field FVector OrderFeedbackLocation=FVector::ZeroVector; [L170]
  field bool bOrderFeedbackAttack=false,bAutoAttack=false; [L171]
  field FText OrderStatus; [L172]
  field int32 Target=3,Gold=240,Defeated=0; [L173]
  field float Mana=100,GateHealth=100,Elapsed=0,RefreshClock=0,AttackClock=0,Training=0; [L174]
  field bool Attacking=false,bHasSave=false,bVictoryAnnounced=false; [L175]
  field FName PendingConfirmation; [L176]
  function UIFPresentationData* Model(FName Name); [L177]
  function void RefreshModels(); [L178]
  function void NewGame(); [L179]
  function void ShowHUD(); [L180]
  function void PushMenu(TSubclassOf<UIFScreen> Class); [L181]
  function void BuildRepresentations(); [L182]
  function void AddRepresentation(int32 Index); [L183]
  function bool BeginAnimatedHit(int32 Attacker,int32 Victim,float Damage,float Range,bool Cast=false); [L184]
  function void CancelAction(int32 Index); [L185]
  function void ThinkOrders(); [L186]
  function void FinishOrder(int32 Index); [L187]
  function void SetUnitOrder(int32 Index,const FForgeUnitOrder& Order,bool Queue); [L188]
  function int32 NearestOpponent(int32 Index,float Range)const; [L189]
  function FVector ConstrainPoint(FVector Point)const; [L190]
  function FVector ConstrainRPGStep(FVector From,FVector To)const; [L191]
  function FVector NavigationStep(int32 Index,FVector Goal); [L192]
  function void RefreshSelection(); [L193]
  function void FrameMainMenu(); [L194]
  function void ResolveAnimatedHit(int32 Attacker); [L195]
  function void FaceDirection(int32 Index,const FVector& Direction); [L196]
  function void PresentAction(int32 Index,UAnimSequence* Clip,bool Hold=false); [L197]
  function void PresentIdle(int32 Index); [L198]
  function bool SaveSession(); [L199]
  function bool LoadSession(); [L200]
  function FString SaveSlot() const; [L201]
  function void Confirm(FName Action,FText Title,FText Message); [L202]
  function void ConfirmationCompleted(EIFDialogResult Result); [L203]
class AForgeDemoController [L206]
  function AForgeDemoController(); [L210]
  function virtual void BeginPlay() override; [L211]
  function virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; [L212]
  function virtual void PlayerTick(float DeltaSeconds) override; [L213]
  function virtual bool InputKey(const FInputKeyEventArgs& Params) override; [L214]
  field TObjectPtr<AForgeDemoWorld> Demo; [L216]
  field TObjectPtr<UInputMappingContext> GameplayMapping; [L217]
  field TArray<TObjectPtr<UIFSettingProvider>> StartupProviders; [L218]
  function void HandleDemoAction(FName Action); [L219]
  field bool bSelecting=false,bSelectingSameType=false; [L220]
  field bool bOrbitDragging=false; [L221]
  field FVector2D SelectionStart=FVector2D::ZeroVector; [L222]
  field float LastGroupRecall=-10; [L223]
  field int32 LastGroup=INDEX_NONE; [L224]
  field bool bLastDiscreteControl=false,bLastDiscreteShift=false; [L225]
  field float LastDiscreteInputAt=-10; [L226]
  function bool PointerOverInterface()const; [L227]
class AForgeDemoGameMode [L230]
  function AForgeDemoGameMode(); [L233]

Source/ForgeExamples/Public/ForgeEntryReview.h ​

text
class AForgeEntryReview [L16] — Development-only opt-in QA of the saved Blueprint journal; never part of the playable flow.
  function AForgeEntryReview(); [L20]
  function void StartReview(APlayerController* Player,UObject* Provider); [L21]
  function virtual void Tick(float DeltaSeconds) override; [L22]
  function void NextStage(); [L24]
  function void Check(bool Condition,const TCHAR* Requirement); [L25]
  function void InspectVisibleRows(); [L26]
  field TObjectPtr<UIFScreen> Screen; [L27]
  field TObjectPtr<UListView> List; [L28]
  field TArray<TObjectPtr<UIFPresentationData>> Models; [L29]
  field TArray<TObjectPtr<UIFPresentationData>> OriginalModels; [L30]
  field TObjectPtr<UIFPresentationData> OldModel; [L31]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L32]
  field TObjectPtr<UIFTheme> OriginalTheme; [L33]
  field TObjectPtr<UIFTheme> ReviewTheme; [L34]
  field TWeakObjectPtr<UIFEntryWidget> OldRow; [L35]
  field TArray<TWeakObjectPtr<UIFEntryWidget>> ObservedRows; [L36]
  field TArray<float> FrameTimes; [L37]
  field FTimerHandle ReviewTimer; [L38]
  field int32 Stage=0; [L39]
  field int32 MaximumDisplayed=0; [L40]
  field int32 RequestedCount=1000; [L41]
  field double CreationMs=0,AssignmentMs=0; [L42]
  field TArray<double> BatchTimes; [L43]
  field bool bPassed=true; [L44]
  field bool bSampling=false; [L45]
  field bool bOwnsPreferences=false; [L46]

Source/ForgeExamples/Public/ForgeExampleGameMode.h ​

text
class AForgeExamplePlayerController [L19]
  function AForgeExamplePlayerController(); [L23]
  function virtual void BeginPlay() override; [L24]
  function virtual void SetupInputComponent() override; [L25]
  function virtual bool InputKey(const FInputKeyEventArgs& Params) override; [L26]
  function virtual void PlayerTick(float DeltaTime) override; [L27]
  function void BeginExpedition(); [L28]
  function bool RequestBeginExpedition(); [L29]
  function void PauseExpedition(); [L30]
  function void ReturnToMainMenu(); [L31]
  field TObjectPtr<AForgeOutpost> Outpost; [L32]
  field TSubclassOf<UIFRootLayout> RootClass; [L33]
  field TSubclassOf<UIFScreen> MainMenuClass; [L34]
  field TSoftClassPtr<UIFScreen> HUDClass; [L35]
  field TSubclassOf<UIFScreen> PauseClass; [L36]
  field TSubclassOf<UIFDialog> DialogClass; [L37]
  field TSubclassOf<UIFScreen> WorkshopClass; [L38]
  field TObjectPtr<UInputMappingContext> PreviewMapping; [L39]
  field TObjectPtr<UIFTheme> PreviewTheme; [L40]
  field TObjectPtr<UIFAudioRouting> PreviewAudioRouting; [L41]
  field TObjectPtr<UIFScreen> FieldHUD; [L43]
  field TObjectPtr<UIFScreenLoadAction> LoadingRequest; [L44]
  function void ExpeditionReady(UIFScreen* Screen,FText Reason); [L45]
  function void ExpeditionFailed(UIFScreen* Screen,FText Reason); [L46]
  function void ExpeditionCancelled(UIFScreen* Screen,FText Reason); [L47]
  function void RetryExpedition(EIFDialogResult Result); [L48]
  function void SelectNextScout(); [L49]
  function void SelectUnderCursor(); [L50]
  function void DialogReviewCompleted(EIFDialogResult Result); [L52] — Opt-in visual fixture cleanup; never commits preference previews.
  field bool bOwnsDialogReviewPreferences=false; [L53]
class AForgeExampleGameMode [L56]
  function AForgeExampleGameMode(); [L59]
class UForgeWorkshopWidget [L64] — UI-only preview. Connect resource/progress presentation to your own gameplay events.
  function UForgeWorkshopWidget(); [L68]
  function virtual void NativeOnInitialized() override; [L69]
  function virtual void OnInputPresentationUpdated_Implementation(EIFInputPresentation Presentation) override; [L70]
  function virtual void OnThemeUpdated_Implementation(UIFTheme* Theme) override; [L71]
  function virtual bool NativeOnHandleBackAction() override; [L72]
  field TObjectPtr<UBorder> Surface; [L74]
  field TObjectPtr<UTextBlock> Status; [L75]
  field TObjectPtr<UTextBlock> HealthText; [L76]
  field TObjectPtr<UTextBlock> InputStatus; [L77]
  field TObjectPtr<UIFProgressWidget> HealthBar; [L78]
  field TArray<TObjectPtr<UIFProgressWidget>> AbilityProgress; [L79]
  field float PreviewHealth = 75; [L80]
  field bool bAlternateTheme = false; [L81]
  function void PreviewDamage(); [L82]
  function void PreviewCooldown(); [L83]
  function void SwitchTheme(); [L84]
  function void ResetPreview(); [L85]
  function void OpenDialog(); [L86]
  function void DialogCompleted(EIFDialogResult Result); [L87]
  function void OpenMenu(); [L88]

Source/ForgeExamples/Public/ForgeExampleMenus.h ​

text
class UForgeMenuScreen [L12]
  function UForgeMenuScreen(); [L15]
  function virtual void NativeOnInitialized() override; [L17]
  function virtual void OnInputPresentationUpdated_Implementation(EIFInputPresentation Mode) override; [L18]
  field TObjectPtr<UTextBlock> InputStatus; [L20]
  function void EnterPreview(); [L21]
  function void OpenSettings(); [L22]
  function void OpenControls(); [L23]
  function void OpenAbout(); [L24]
class UForgeSettingsScreen [L28]
  function UForgeSettingsScreen(); [L31]
  function virtual void NativeOnInitialized() override; [L33]
  function virtual void NativeOnActivated() override; [L34]
  function virtual void NativeDestruct() override; [L35]
  function virtual bool NativeOnHandleBackAction() override; [L36]
  field bool bOwnsSession=false; [L38]
  field TObjectPtr<USlider> ScaleSlider; [L39]
  field TObjectPtr<USlider> TextSlider; [L40]
  field TObjectPtr<USlider> UISoundSlider; [L41]
  field TObjectPtr<USlider> GameSoundSlider; [L42]
  field TObjectPtr<UCheckBox> MotionCheck; [L43]
  field TObjectPtr<UTextBlock> Status; [L44]
  function void RefreshControls(); [L45]
  function UIFSettingsSubsystem* Settings() const; [L46]
  function void ScaleChanged(float Value); [L47]
  function void TextChanged(float Value); [L48]
  function void UISoundChanged(float Value); [L49]
  function void GameSoundChanged(float Value); [L50]
  function void MotionChanged(bool Value); [L51]
  function void ApplyChanges(); [L52]
  function void CancelChanges(); [L53]
  function void Defaults(); [L54]
  function void PlayGameAudio(); [L55]
  function void OpenControls(); [L56]
  field TObjectPtr<USoundBase> GamePreviewSound; [L57]
class UForgeControlsScreen [L61]
  function virtual void NativeOnInitialized() override; [L65]
  function virtual void NativeOnActivated() override; [L66]
  function virtual void NativeDestruct() override; [L67]
  function virtual bool NativeOnHandleBackAction() override; [L68]
  field bool bOwnsSession=false; [L70]
  field TObjectPtr<UInputKeySelector> KeySelector; [L71]
  field TObjectPtr<UTextBlock> Status; [L72]
  function struct FMapPlayerKeyArgs Mapping() const; [L73]
  field bool bRefreshingKey=false; [L74]
  function void RefreshKey(); [L75]
  function void KeySelected(FInputChord Chord); [L76]
  function void ApplyChanges(); [L77]
  function void CancelChanges(); [L78]
  function void Defaults(); [L79]

Source/ForgeExamples/Public/ForgeFieldCardsReview.h ​

text
class AForgeFieldCardsReview [L9]
  function void StartReview(APlayerController* Player); [L12]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L12]
  function bool Advance(float Delta); [L13]
  function void Check(bool Value,const TCHAR* Name); [L13]
  function void Finish(); [L13]
  field TObjectPtr<APlayerController> Controller; [L14]
  field TObjectPtr<UIFScreen> Journal; [L15]
  field TObjectPtr<UIFScreen> Cards; [L16]
  field TObjectPtr<UIFScreen> Dialog; [L17]
  field TObjectPtr<UTileView> Tiles; [L18]
  field TObjectPtr<UIFEntryWidget> Reading; [L19]
  field TObjectPtr<UIFPresentationData> Original; [L20]
  field TObjectPtr<UIFPresentationData> Selected; [L21]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L22]
  field TObjectPtr<UIFTheme> Theme; [L23]
  field FString OriginalLanguage; [L24]
  field bool NewLabels=false; [L24]
  field FVector2D ClickPoint; [L24]
  field FText OldDetail; [L24]
  field FTSTicker::FDelegateHandle Ticker; [L24]
  field int32 Stage=0,Waits=0; [L24]
  field bool Passed=true,Owns=false,Enlarged=false; [L24]

Source/ForgeExamples/Public/ForgeGlyphReview.h ​

text
class AForgeGlyphReview [L16] — Opt-in rendering/remap proof using the actual playable HUDs, not a shipping screen.
  function void StartReview(APlayerController* Player); [L20]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L21]
  function bool Advance(float Delta); [L23]
  function void Check(bool Value,const TCHAR* Requirement); [L24]
  function void Capture(const TCHAR* Name); [L25]
  function bool ChangeGamepadKey(FKey Key); [L26]
  function bool RestoreOriginal(); [L27]
  function bool GlyphFits() const; [L28]
  function bool ContextTitleFits() const; [L29]
  function bool CustomBodyMatches() const; [L30]
  function bool ScrollAppearanceMatches() const; [L31]
  function bool ExpandedTextFits() const; [L32]
  field TObjectPtr<APlayerController> Controller; [L33]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L34]
  field TObjectPtr<UIFRemappingSubsystem> Remapping; [L35]
  field TObjectPtr<UIFScreen> HUD; [L36]
  field TObjectPtr<UIFActionPrompt> Prompt; [L37]
  field TObjectPtr<UIFTheme> OriginalTheme; [L38]
  field TObjectPtr<UIFScrollBox> ScrollFixture; [L39]
  field TObjectPtr<UTextBlock> OverflowFixture; [L40]
  field TObjectPtr<class UIFPresentationData> ExpandedContext; [L41]
  field TObjectPtr<class UIFPresentationData> OriginalContext; [L42]
  field FText OriginalPromptLabel; [L43]
  field bool bExpandedText=false; [L44]
  field bool bThemePreview=false; [L45]
  field FKey OriginalGamepadKey; [L46]
  field FTSTicker::FDelegateHandle Ticker; [L47]
  field int32 Stage=0,Waits=0; [L48]
  field bool bPassed=true,bRPG=false,bEnlarged=false,bOwnsPreferences=false,bOwnsRemap=false,bChangedMapping=false; [L49]

Source/ForgeExamples/Public/ForgeLoadingReview.h ​

text
class AForgeLoadingReview [L13]
  function void StartReview(APlayerController* Player,UObject* Provider); [L17]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L18]
  function bool Advance(float); [L20]
  function void StartMenuMotionProbe(); [L21]
  function bool ObserveMenuMotion(float Delta); [L22]
  function void Check(bool Value,const TCHAR* Requirement); [L23]
  function void Press(UIFButton* Button); [L24]
  function void Back(); [L25]
  function void Capture(const TCHAR* Name); [L26]
  function void SetSafeArea(FMargin Ratio); [L27]
  function void CheckSafeArea(UIFRootLayout* Root,bool Inset); [L28]
  field TWeakPtr<SWidget> SafeAreaFocus; [L29]
  function void RestoreSafeArea(); [L30]
  field TObjectPtr<UObject> SafePlaySettings; [L31]
  field FString PreviousDeviceToEmulate; [L32]
  field bool bSafeAreaReview=false,bOwnsSafeArea=false,bSafeModalChecked=false,bSafeInitialApplied=false; [L33]
  function void CheckMenuGeometry(UIFScreen* Screen,bool bMain); [L34]
  function void CheckNavigationCues(UIFScreen* Screen); [L35]
  function void CheckMenuContent(UIFScreen* Screen,bool bMain); [L36]
  function UIFButton* Button(UIFScreen* Screen,FName Name) const; [L37]
  function UIFScreenLoadAction* Request(UIFRootLayout* Root,UObject* Scope=nullptr); [L38]
  function void Ready(UIFScreen* Screen,FText Reason); [L39]
  function void Failed(UIFScreen* Screen,FText Reason); [L40]
  function void Cancelled(UIFScreen* Screen,FText Reason); [L41]
  field TObjectPtr<APlayerController> Controller; [L42]
  field TObjectPtr<UObject> Source; [L43]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L44]
  field TObjectPtr<UIFScreenLoadAction> Active; [L45]
  field TObjectPtr<UIFScreen> Main; [L46]
  field TObjectPtr<UIFScreen> HUD; [L47]
  field TObjectPtr<UIFScreen> OtherDialog; [L48]
  field TObjectPtr<UIFScreen> MotionCover; [L49]
  field TWeakObjectPtr<AActor> ScopeOwner; [L50]
  field TSoftClassPtr<UIFScreen> OriginalHUD; [L51]
  field FTSTicker::FDelegateHandle Ticker,MenuMotionTicker; [L52]
  field FIFUIPreferences MotionPreferences; [L53]
  field int32 MotionPhase=0; [L54]
  field float MotionAge=0; [L55]
  field bool bMotionStarted=false,bMotionComplete=false,bSawMenuMotion=false; [L56]
  field bool bWorldChoiceDownChecked=false,bWorldChoiceUpChecked=false,bQuitVisibilityChecked=false; [L57]
  field int32 Stage=0,Waits=0,ReadyCount=0,FailedCount=0,CancelledCount=0,PreviousDelay=1; [L58]
  field bool bPassed=true,bRPG=false,bOwnsPreferences=false,bReentrant=false,bReentrantRejected=false; [L59]
  field float OriginalScale=1; [L60]

Source/ForgeExamples/Public/ForgeLocalizationReview.h ​

text
class AForgeLocalizationReview [L8]
  function void StartReview(APlayerController* Player); [L12]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L13]
  function void Advance(); [L15]
  function void Check(bool Value,const TCHAR* Reason); [L15]
  function void Press(UIFScreen* Screen,FName Name); [L15]
  function void Back(); [L15]
  function void Capture(const TCHAR* Name); [L15]
  function void Finish(); [L15]
  field TObjectPtr<APlayerController> Controller; [L16]
  field TObjectPtr<UIFScreen> SettingsScreen; [L17]
  field TObjectPtr<UIFSettingsSubsystem> Preferences; [L18]
  field FString OriginalLanguage,OriginalLocale,Slot,BlockPath,OriginalIniLanguage,OriginalIniLocale; [L19]
  field FTimerHandle Timer; [L20]
  field int32 Stage=0; [L20]
  field bool Passed=true,CancelRequested=false,bRPG=false,bEnlarged=false,bReload=false,bBlockOwned=false,bInitialized=false; [L20]

Source/ForgeExamples/Public/ForgeNotificationReview.h ​

text
class AForgeNotificationReview [L15] — Opt-in real-RHI fixture. Gameplay samples and plugin users do not need this actor.
  function void StartReview(APlayerController* Player,UObject* Provider); [L19]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L20]
  function bool NextStage(float DeltaSeconds); [L22]
  function void Check(bool Condition,const TCHAR* Requirement); [L23]
  function void Activate(UIFButton* Button); [L24]
  function void CheckBounds(); [L25]
  function void Ended(FGuid Id,EIFNotificationEndReason Reason); [L26]
  field TObjectPtr<APlayerController> Controller; [L27]
  field TObjectPtr<UObject> Source; [L28]
  field TObjectPtr<UIFScreen> HUD; [L29]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L30]
  field TObjectPtr<UIFNotificationSubsystem> Notices; [L31]
  field TObjectPtr<UIFButton> Action; [L32]
  field TObjectPtr<UIFEntryWidget> ReleasedEntry; [L33]
  field TWeakObjectPtr<AActor> WeakOwner; [L34]
  field FTSTicker::FDelegateHandle ReviewTicker; [L35]
  field FGuid ResultId, PendingId, LastId, NativeId, WeakId; [L36]
  field TMap<FGuid,EIFNotificationEndReason> Reasons; [L37]
  field TMap<FGuid,int32> EndCounts; [L38]
  field float ModalRemaining=0; [L39]
  field int32 Stage=0, CompletionWait=0; [L40]
  field bool bRPG=false, bPassed=true, bOwnsPreferences=false, bTryPostFromEnded=false, bReentrantPostRejected=false; [L41]

Source/ForgeExamples/Public/ForgeOutpost.h ​

text
class AForgeOutpost [L14] — Small example backend; nothing in this class is part of InterfaceForge's runtime.
  function AForgeOutpost(); [L18]
  function virtual void BeginPlay() override; [L19]
  function virtual void Tick(float DeltaSeconds) override; [L20]
  function virtual UObject* GetUIModel_Implementation(FName Name) override; [L21]
  function virtual bool RequestUIAction_Implementation(FName Action, UObject* Context) override; [L22]
  function void StartExpedition(); [L23]
  function void SetExpeditionPaused(bool bPaused); [L24]
  function void EndExpedition(); [L25]
  function void SelectActor(AActor* Actor, bool bToggle=false); [L26]
  function int32 GetSelectedCount() const; [L27]
  field bool bExpeditionActive=false; [L28]
  field bool bExpeditionPaused=false; [L29]
  field TObjectPtr<ACameraActor> Camera; [L30]
  field bool bWorldTravelRequested=false; [L32]
  function void NotifyResult(FText Title,FText Message,FName Key); [L33]
  function AActor* Shape(FName Label,UStaticMesh* Mesh,FVector Location,FVector Scale,FLinearColor Color); [L34]
  function void Publish(); [L35]
  function void PruneSelection(); [L36]
  function bool CanCommand(FName Action, FText& Reason) const; [L37]
  field TMap<FName,TObjectPtr<UIFPresentationData>> Models; [L38]
  field TMap<FName,FString> LastPublished; [L39]
  field TArray<TObjectPtr<AActor>> Scouts; [L40]
  field TObjectPtr<UStaticMesh> Cube; [L41]
  field TObjectPtr<UStaticMesh> Cylinder; [L42]
  field TObjectPtr<UStaticMesh> Cone; [L43]
  field TObjectPtr<UStaticMesh> Sphere; [L44]
  field TObjectPtr<UMaterialInterface> Palette; [L45]
  field TArray<TWeakObjectPtr<AActor>> SelectedScouts; [L46]
  field TArray<TWeakObjectPtr<AActor>> LastVisualSelection; [L47]
  field int32 Supplies=240; [L48]
  field int32 CompletedPatrols=0; [L49]
  field double PatrolEnds=0; [L50]
  field double RecruitmentEnds=0; [L51]
  field TArray<TWeakObjectPtr<AActor>> PatrolScouts; [L52]
  field TArray<FVector> PatrolOrigins; [L53]

Source/ForgeExamples/Public/ForgePilgrimage.h ​

text
class AForgePilgrimage [L20] — Small local interaction adapter for the RPG interface; no combat, GAS or inventory implementation.
  function AForgePilgrimage(); [L24]
  function virtual void BeginPlay() override; [L25]
  function virtual void Tick(float DeltaSeconds) override; [L26]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L27]
  function virtual UObject* GetUIModel_Implementation(FName Name) override; [L28]
  function virtual bool RequestUIAction_Implementation(FName Action,UObject* Context) override; [L29]
  function void StartJourney(); [L30]
  function void EndJourney(); [L31]
  function void SetJourneyPaused(bool bPaused); [L32]
  field bool bJourneyActive=false; [L33]
  field bool bJourneyPaused=false; [L34]
  field TObjectPtr<ACameraActor> Camera; [L35]
  field TSubclassOf<AForgeWorldReadout> WorldReadoutClass; [L36]
  field bool bWorldTravelRequested=false; [L38]
  function void NotifyResult(FText Title,FText Message,FName Key); [L39]
  function AActor* Shape(UStaticMesh* Mesh,FVector Location,FVector Scale,FLinearColor Color); [L40]
  function void Publish(); [L41]
  function void Speak(); [L42]
  function void AnswerKeeper(EIFDialogResult Result); [L43]
  field TMap<FName,TObjectPtr<UIFPresentationData>> Models; [L44]
  field TMap<FName,FString> Published; [L45]
  field TMap<FName,double> CooldownEnds; [L46]
  field TArray<TObjectPtr<AActor>> Scene; [L47]
  field TArray<TObjectPtr<AForgeWorldReadout>> WorldReadouts; [L48]
  field TObjectPtr<AActor> Hero; [L49]
  field TObjectPtr<AActor> Companion; [L50]
  field TObjectPtr<AActor> Hearth; [L51]
  field TObjectPtr<UStaticMesh> Cube; [L52]
  field TObjectPtr<UStaticMesh> Cylinder; [L53]
  field TObjectPtr<UStaticMesh> Sphere; [L54]
  field TObjectPtr<UMaterialInterface> Palette; [L55]
  field double JourneyTime=0; [L56]
  field double MoveEnds=0; [L57]
  field double WardEnds=0; [L58]
  field bool bQuestAccepted=false; [L59]
  field bool bAtHearth=false; [L60]
  field bool bHearthLit=false; [L61]
  field bool bSpeaking=false; [L62]
class AForgePilgrimageController [L67] — Reuses the same public screen stack/settings/dialogs with an independent source.
  function AForgePilgrimageController(); [L71]
  function virtual void BeginPlay() override; [L72]
  function virtual void SetupInputComponent() override; [L73]
  function virtual void PlayerTick(float DeltaTime) override; [L74]
  function void BeginJourney(); [L75]
  function bool RequestBeginJourney(); [L76]
  function void PauseJourney(); [L77]
  function void ReturnToMainMenu(); [L78]
  field TSubclassOf<UIFRootLayout> RootClass; [L79]
  field TSubclassOf<UIFScreen> MainMenuClass; [L80]
  field TSoftClassPtr<UIFScreen> HUDClass; [L81]
  field TSubclassOf<UIFScreen> PauseClass; [L82]
  field TSubclassOf<UIFDialog> DialogClass; [L83]
  field TObjectPtr<AForgePilgrimage> Journey; [L84]
  function void Interact(); [L86]
  field TObjectPtr<UInputMappingContext> Mapping; [L87]
  field TObjectPtr<UIFScreen> HUD; [L88]
  field TObjectPtr<UIFScreenLoadAction> LoadingRequest; [L89]
  function void JourneyReady(UIFScreen* Screen,FText Reason); [L90]
  function void JourneyFailed(UIFScreen* Screen,FText Reason); [L91]
  function void JourneyCancelled(UIFScreen* Screen,FText Reason); [L92]
  function void RetryJourney(EIFDialogResult Result); [L93]
  field bool bTooltipReviewPassed=false; [L94]
class AForgePilgrimageGameMode [L98]
  function AForgePilgrimageGameMode(); [L101]

Source/ForgeExamples/Public/ForgePlayableUI.h ​

text
class UForgeMainScreen [L15] — Example screens use only public InterfaceForge services. Game behavior lives in the adapter.
  function UForgeMainScreen(); [L18]
  function virtual void NativeOnInitialized() override; [L20]
  function virtual bool NativeOnHandleBackAction() override; [L21]
  function void Start(); [L23]
  function void Settings(); [L24]
  function void Quit(); [L25]
  function void QuitConfirmed(EIFDialogResult Result); [L26]
class UForgeFieldHUD [L30]
  function UForgeFieldHUD(); [L33]
  function virtual void InitializeScreen_Implementation(UObject* Data) override; [L34]
  function virtual void NativeOnInitialized() override; [L36]
  function virtual void NativeConstruct() override; [L37]
  function virtual void NativeDestruct() override; [L38]
  function virtual bool NativeOnHandleBackAction() override; [L39]
  function virtual void OnThemeUpdated_Implementation(UIFTheme* Theme) override; [L40]
  field TArray<TObjectPtr<UBorder>> Panels; [L42]
  field TObjectPtr<UIFText> Resources; [L43]
  field TObjectPtr<UIFText> Objective; [L44]
  field TObjectPtr<UIFText> ObjectiveDetail; [L45]
  field TObjectPtr<UIFText> SelectedTitle; [L46]
  field TObjectPtr<UIFText> SelectedDetail; [L47]
  field TObjectPtr<UIFText> Notice; [L48]
  field TObjectPtr<UIFText> QueueTitle; [L49]
  field TObjectPtr<UIFProgressWidget> QueueProgress; [L50]
  function void RefreshModels(); [L51]
  function void Patrol(); [L52]
  function void Rally(); [L53]
  function void Recruit(); [L54]
  function void NextScout(); [L55]
  function void Pause(); [L56]
  function void Action(FName Name); [L57]
class UForgePauseScreen [L61]
  function UForgePauseScreen(); [L64]
  field TSubclassOf<UIFScreen> JournalClass; [L65]
  function virtual void NativeOnInitialized() override; [L67]
  function virtual void NativeOnDeactivated() override; [L68]
  function void Resume(); [L70]
  function void Settings(); [L71]
  function void Journal(); [L72]
  function void Return(); [L73]
  function void ReturnConfirmed(EIFDialogResult Result); [L74]

Source/ForgeExamples/Public/ForgeProgressReview.h ​

text
class AForgeProgressReview [L15]
  function void StartReview(AForgeExamplePlayerController* Player); [L19]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L20]
  function bool Advance(float Delta); [L22]
  function void Check(bool Passed,const TCHAR* Requirement); [L22]
  function void Press(UIFScreen* Screen,FName Name); [L22]
  function void ApplyStyle(); [L22]
  function void Capture(const TCHAR* Name); [L22]
  function void Finish(); [L22]
  field TObjectPtr<AForgeExamplePlayerController> Controller; [L23]
  field TObjectPtr<UIFScreen> Survey; [L24]
  field TObjectPtr<UIFEntryWidget> Entry; [L25]
  field TObjectPtr<UIFPresentationData> Model; [L26]
  field TObjectPtr<UIFProgressWidget> Progress; [L27]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L28]
  field TObjectPtr<UIFTheme> OriginalTheme; [L29]
  field FTSTicker::FDelegateHandle Ticker; [L30]
  field EIFProgressStyle SelectedStyle=EIFProgressStyle::Segmented; [L31]
  field int32 Stage=0,Waits=0; [L32]
  field bool bPassed=true,bOwnsPreferences=false,bEnlarged=false,bWasPaused=false; [L32]
  field double ResumeAt=0; [L33]
  field float PausedRemaining=0; [L33]

Source/ForgeExamples/Public/ForgeRPGCamera.h ​

text
class AForgeRPGCamera [L9] — Example camera, deliberately outside the UI plugin and the RTS controller.
  function AForgeRPGCamera(); [L13]
  field TObjectPtr<USpringArmComponent> Boom; [L14]
  field TObjectPtr<UCameraComponent> Camera; [L15]
  field float FollowHeight=145; [L16]
  field float MouseSensitivity=.2f; [L17]
  field float ControllerDegreesPerSecond=110; [L18]
  field bool bInvertVertical=false; [L19]
  field float MinimumDistance=280; [L20]
  field float MaximumDistance=700; [L21]
  field TObjectPtr<AActor> Subject; [L22]
  function void Orbit(float YawDegrees,float PitchDegrees); [L23]
  function void Zoom(float Steps); [L24]
  function virtual void Tick(float DeltaSeconds) override; [L25]

Source/ForgeExamples/Public/ForgeRTSReview.h ​

text
class AForgeRTSReview [L14] — Opt-in development verification of saved RTS Blueprints, not a gameplay feature.
  function void StartReview(AForgeExamplePlayerController* Player,AForgeOutpost* Provider); [L18]
  function void NextStage(); [L20]
  function void Check(bool Condition,const TCHAR* Requirement); [L21]
  function UIFButton* Command(FName Entry) const; [L22]
  function void Activate(FName Entry); [L23]
  field TObjectPtr<AForgeExamplePlayerController> Controller; [L24]
  field TObjectPtr<AForgeOutpost> Outpost; [L25]
  field TObjectPtr<UIFScreen> Screen; [L26]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L27]
  field TArray<TWeakObjectPtr<AActor>> Scouts; [L28]
  field TArray<FVector> Origins; [L29]
  field FVector PausedPosition=FVector::ZeroVector; [L30]
  field FTimerHandle ReviewTimer; [L31]
  field int32 Stage=0; [L32]
  field int32 CompletionWait=0; [L33]
  field bool bPassed=true; [L34]
  field bool bOwnsPreferences=false; [L35]

Source/ForgeExamples/Public/ForgeSettingsAudioReview.h ​

text
class AForgeSettingsAudioReview [L14] — Opt-in real mixer/Blueprint/persistence verification. Never spawned in normal example play.
  function void StartReview(AForgeExamplePlayerController* Player); [L18]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L19]
  function bool Advance(float Delta); [L21]
  function bool Open(); [L22]
  function void Next(int32 NewStage); [L23]
  function void Check(bool Value,const TCHAR* Requirement); [L24]
  function void Press(FName Name); [L25]
  function void Slider(FName Name,float Value); [L26]
  function void BeginCapture(); [L27]
  function void EndCapture(); [L28]
  function void ValidateAudio(); [L29]
  function void CaptureScreen(const TCHAR* Name); [L30]
  function void Finish(); [L31]
  function void RestoreProcessState(); [L32]
  field TObjectPtr<AForgeExamplePlayerController> Controller; [L33]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L34]
  field TObjectPtr<UIFRootLayout> Root; [L35]
  field TObjectPtr<UIFScreen> Screen; [L36]
  field TObjectPtr<USoundSubmix> CaptureSubmix; [L37]
  field FTSTicker::FDelegateHandle Ticker; [L38]
  field int32 Stage=0,Sample=0; [L39]
  field double Started=0; [L40]
  field float PreviousUnfocusedVolume=0; [L41]
  field bool bPassed=true,bEnlarged=false,bReload=false,bRecording=false,bChangedProcessState=false; [L42]
  field bool bCreatedBlocker=false; [L43]
  field bool bPreviousAutoDisable=true; [L44]
  field FString Prefix,Profile,ProfilePath,DefaultSavePath; [L45]
  field TArray<uint8> OriginalDefaultSave; [L46]
  field bool bDefaultSaveExisted=false; [L47]
  field TArray<double> UIAmplitudes,GameAmplitudes; [L48]

Source/ForgeExamples/Public/ForgeShippingReview.h ​

text
class AForgeShippingReview [L10] — Explicit command-line example review, including Shipping. Never runs in normal play.
  function void StartReview(APlayerController* Player); [L13]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L13]
  function bool Advance(float Delta); [L14]
  function void Check(bool Value,const TCHAR* Requirement); [L14]
  function bool Flush(); [L14]
  function void Finish(); [L14]
  function void Press(class UIFButton* Button); [L14]
  function void Capture(const TCHAR* Name); [L14]
  field TObjectPtr<APlayerController> Controller; [L15]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L16]
  field TObjectPtr<UIFScreen> Main; [L17]
  field TObjectPtr<UIFScreen> HUD; [L18]
  field TObjectPtr<UIFScreen> Cards; [L19]
  field TObjectPtr<UIFScreen> Dialog; [L20]
  field TObjectPtr<UIFPresentationData> ActionModel; [L21]
  field FString RecordPath,Record,Run,Profile; [L22]
  field FTSTicker::FDelegateHandle Ticker; [L22]
  field int32 Stage=0,Waits=0; [L22]
  field double Started=0; [L22]
  field float ActionFraction=0; [L22]
  field bool Passed=true,Reload=false,Enlarged=false,RPG=false,Finished=false; [L22]
  field int32 Width=0,Height=0; [L22]

Source/ForgeExamples/Public/ForgeTintReview.h ​

text
class UForgeTintReview [L9]
  function virtual void NativeOnInitialized() override; [L13]
  function virtual void NativeTick(const FGeometry&,float DeltaSeconds) override; [L14]
  function void Replay(); [L16]
  field TObjectPtr<UIFCenterTint> LiveTint; [L17]
  field TObjectPtr<UIFText> Countdown; [L18]
  field double ReviewStart=0; [L19]

Source/ForgeExamples/Public/ForgeTooltipReview.h ​

text
class AForgeTooltipReview [L18] — Explicit development-only fixture, separate from both plugin and playable UI.
  function void StartReview(AForgeExamplePlayerController* Player,AForgeOutpost* Provider); [L22]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L23]
  function bool NextStage(float DeltaSeconds); [L25]
  function void Check(bool Condition,const TCHAR* Requirement); [L26]
  function UIFButton* Command(FName Entry) const; [L27]
  function UIFTooltipAnchor* Anchor(UIFButton* Button) const; [L28]
  function void KeyboardFocus(UIFButton* Button); [L29]
  function void MovePointer(FVector2D Position); [L30]
  function void CheckBounds(UIFTooltipAnchor* Tooltip); [L31]
  field TObjectPtr<AForgeExamplePlayerController> Controller; [L32]
  field TObjectPtr<AForgeOutpost> Outpost; [L33]
  field TObjectPtr<UIFScreen> HUD; [L34]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L35]
  field TObjectPtr<UIFEntryWidget> ReleasedEntry; [L36]
  field TObjectPtr<UIFPresentationData> CustomData; [L37]
  field FTSTicker::FDelegateHandle ReviewTicker; [L38]
  field int32 Stage=0; [L39]
  field bool bPassed=true; [L40]
  field bool bOwnsPreferences=false; [L41]

Source/ForgeExamples/Public/ForgeWorldReadout.h ​

text
class AForgeWorldReadout [L15] — Example placement adapter only. Rendering/data binding are public engine and InterfaceForge features.
  function AForgeWorldReadout(); [L19]
  function bool ShowReadout(AActor* Anchor,APlayerController* Player,UObject* Data); [L20]
  function void SetFlowVisible(bool bVisible); [L21]
  function void CreateReadout(APlayerController* Player,UObject* Data); [L22]
  field TObjectPtr<UWidgetComponent> Display; [L23]
  field TSubclassOf<UUserWidget> EntryClass; [L24]
  field float MaximumCameraDistance=5000; [L25]
  field FVector WorldOffset=FVector(0,0,360); [L26]
  field float CameraSideOffset=445; [L27]
  field TObjectPtr<UStaticMeshComponent> AnchorLink; [L28]
  field bool bShowAnchorLink=true; [L29]
  field FVector AnchorLinkOffset=FVector(0,0,120); [L30]
  field float AnchorLinkWidth=3; [L31]
  field FLinearColor AnchorLinkColor=FLinearColor(.65f,.45f,.2f); [L32]
  field FName LinkWidgetName=TEXT("ProductionProgress"); [L33]
  function AActor* GetAnchorActor() const [L34]
  function virtual void Tick(float DeltaSeconds) override; [L35]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L36]
  function void UpdatePlacement(); [L38]
  function void AnchorDestroyed(AActor* Actor); [L39]
  field TWeakObjectPtr<AActor> TrackedAnchor; [L40]
  field TWeakObjectPtr<APlayerController> TrackedPlayer; [L41]
  field bool bFlowVisible=false; [L42]
  field TObjectPtr<UMaterialInterface> LinkMaterial; [L43]
  field TObjectPtr<UMaterialInstanceDynamic> LinkDynamic; [L44]

Source/ForgeExamples/Public/ForgeWorldReview.h ​

text
class AForgeWorldReview [L13]
  function void StartReview(AForgePilgrimageController* Player); [L17]
  function virtual void EndPlay(const EEndPlayReason::Type Reason) override; [L18]
  function bool Advance(float); [L20]
  function void Check(bool Value,const TCHAR* Requirement); [L21]
  function void Capture(const TCHAR* Name); [L22]
  function bool LinkMatches(AForgeWorldReadout* Readout) const; [L23]
  field TObjectPtr<AForgePilgrimageController> Controller; [L24]
  field TArray<TObjectPtr<AForgeWorldReadout>> Readouts; [L25]
  field TObjectPtr<UIFTheme> OriginalTheme; [L26]
  field TObjectPtr<UIFPresentationData> Replacement; [L27]
  field TObjectPtr<UIFSettingsSubsystem> Settings; [L28]
  field FTSTicker::FDelegateHandle Ticker; [L29]
  field int32 Stage=0,StageWaits=0,ActionNavigationStep=0; [L30]
  field bool bPassed=true,bOwnsPreferences=false,bEnlarged=false; [L31]

Source/ForgeExamplesEditor/ForgeExamplesEditor.Build.cs ​

text
C# class ForgeExamplesEditor : ModuleRules [L3]
  constructor ForgeExamplesEditor(ReadOnlyTargetRules Target) [L5]
module dependencies PublicDependencyModuleNames: Core, CoreUObject, Engine, UMG, InputCore, ApplicationCore, NavigationSystem, AnimGraph, AnimGraphRuntime [L8]
module dependencies PrivateDependencyModuleNames: UnrealEd, EditorFramework, Settings, UMGEditor, Kismet, KismetCompiler, BlueprintGraph, AssetRegistry, AssetTools, Slate, SlateCore, InterfaceForge, CommonUI, CommonInput, EnhancedInput, ForgeExamples, GameplayTags, MovieScene, MovieSceneTracks, Json, ImageCore, RenderCore [L9]

Source/ForgeExamplesEditor/Private/ForgeAnimationAuthoring.cpp ​

text
function T* Node(UEdGraph* G,int X,int Y) [L26]
function void Link(UEdGraphPin* A,UEdGraphPin* B) [L28]
function UK2Node_CallFunction* Call(UEdGraph* G,UClass* C,FName F,int X,int Y) [L30]
function UK2Node_VariableGet* Get(UEdGraph* G,FName Name,int X,int Y) [L32]
function UK2Node_Event* Event(UEdGraph* G,UClass* C,FName F,int X,int Y) [L34]
function UEdGraphPin* StopAndReset(UEdGraph* G,UEdGraphPin* Before,int X,int Y,FName AnimationName=TEXT("SurveyArrive"),FName SurfaceName=TEXT("SurveySurface")) [L36]
function bool SaveAnimation(UWidgetBlueprint* BP) [L48]
function bool UForgeExampleAuthoring::AddBlueprintAnimationExample() [L58]
function bool UForgeExampleAuthoring::AddConcurrentBlueprintAnimationExample() [L106]
function bool UForgeExampleAuthoring::AddMenuArrivalAnimations() [L160]

Source/ForgeExamplesEditor/Private/ForgeArmyHUD.cpp ​

text
function bool Save(UObject*); [L39]
function bool SaveBP(UWidgetBlueprint*); [L40]
function UWidgetBlueprint* NewBP(const TCHAR*,UClass*); [L41]
function UClass* Class(const TCHAR*); [L42]
function UIFText* Text(UWidgetTree*,FName,const TCHAR*,int32,EIFTextRole); [L43]
function UCanvasPanelSlot* Place(UCanvasPanel*,UWidget*,FVector2D,FVector2D,FVector2D,FVector2D); [L44]
function UIFCommandButton* Command(UWidgetTree*,FName,const TCHAR*,FName,EIFButtonRole); [L45]
global declaration const FString ArmyUIPath=TEXT("/Game/ForgeExamples/UI/"); [L50]
function UWidgetBlueprint* Edit(const TCHAR* Name,UClass* Parent) [L51]
function UIFText* Label(UWidgetTree* T,FName Name,const TCHAR* Value,int32 Size,EIFTextRole Role=EIFTextRole::Body) [L57]
function UIFSurface* Panel(UWidgetTree* T,FName Name,FMargin Padding=FMargin(12)) [L61]
function UIFReadoutEntry* Readout(UWidgetTree* T,const TCHAR* Name,FName Model,const TCHAR* ClassName=TEXT("WBP_IFReadout")) [L63]
function UIFProgressWidget* Bar(UWidgetTree* T,FName Name,FVector2D Size,FLinearColor Color) [L65]
function void Slot(UCanvasPanel* C,UWidget* W,FVector2D P,FVector2D S,FVector2D A=FVector2D::ZeroVector,FVector2D Align=FVector2D::ZeroVector) [L67]
function bool Frames() [L69]
function bool CompactEntries() [L91]
function bool PartyEntry() [L111]
function bool Roster() [L119]
function bool Abilities() [L132]
function bool Layout(bool RTS) [L145]
function bool Menus() [L202]
function bool QuestJournal() [L228]
function bool UForgeProductAuthoring::RebuildArmyHUD() [L245]

Source/ForgeExamplesEditor/Private/ForgeArmyNavigation.cpp ​

text
function bool UForgeProductAuthoring::PrepareArmyNavigation(UWorld* World) [L11]
function TActorIterator<ANavMeshBoundsVolume> It(World); [L15]

Source/ForgeExamplesEditor/Private/ForgeCharacterAnimation.cpp ​

text
function bool SaveMotion(UObject* Asset) [L27]
function T* MotionNode(UEdGraph* Graph,int32 X) [L32]
function bool UForgeProductAuthoring::CreateHumanMotionPresentation(const FString& ReferenceContentDirectory) [L35]

Source/ForgeExamplesEditor/Private/ForgeContentMigration.cpp ​

text
function bool UForgeProductAuthoring::ConsolidatePluginContent() [L10]
function TGuardValue<bool> InteractiveScript(GIsRunningUnattendedScript,false); [L14] — This maintenance operation is interactive: retain AssetTools' native-reference warning.

Source/ForgeExamplesEditor/Private/ForgeCustomizationAuthoring.cpp ​

text
function T* Node(UEdGraph* G,int X,int Y) [L60]
function void Link(UEdGraphPin* A,UEdGraphPin* B) [L62]
function UK2Node_CallFunction* Call(UEdGraph* G,UClass* C,FName F,int X,int Y) [L64]
function UK2Node_VariableGet* Get(UEdGraph* G,FName F,int X,int Y,UClass* C=nullptr,UEdGraphPin* Target=nullptr) [L66]
function UK2Node_VariableSet* Set(UEdGraph* G,FName F,int X,int Y,UClass* C=nullptr,UEdGraphPin* Target=nullptr) [L68]
function UK2Node_Event* Event(UEdGraph* G,UClass* C,FName F,int X,int Y) [L70]
function UK2Node_Self* Self(UEdGraph* G,int X,int Y) [L72]
function UK2Node_ComponentBoundEvent* Click(UWidgetBlueprint* BP,UEdGraph* G,FName Name,int Y) [L74]
function UEdGraph* Graph(UBlueprint* BP) [L76]
function UBlueprint* NewBlueprint(const TCHAR* Name,UClass* Parent,bool Widget) [L78]
function bool Prepare(UBlueprint* BP) [L86]
function bool Save(UBlueprint* BP) [L94]
function UIFText* Text(UWidgetTree* T,FName Name,const TCHAR* Value,int32 Size,EIFTextRole Role) [L100]
function UIFButton* Button(UWidgetTree* T,UVerticalBox* Column,FName Name,const TCHAR* Label) [L102]
function UEdGraph* InterfaceGraph(UBlueprint* BP,FName Name) [L104]
function T* First(UEdGraph* G) [L106]
function bool CompleteSource(UBlueprint* BP) [L108]
function bool Provider() [L119]
function bool SurveyEntry() [L151]
function bool SurveyScreen() [L182]
function bool DesignerRoot() [L201]
function bool JournalLink() [L220]
function bool UForgeExampleAuthoring::AddBlueprintCustomizationExamples() [L229]
function bool UForgeExampleAuthoring::AddSurveyProgressPresentation() [L235]
function bool UForgeExampleAuthoring::ThemeScrollBoxes(UWidgetBlueprint* BP) [L260]
function bool UForgeExampleAuthoring::CreateAppliedPromptExample() [L295]

Source/ForgeExamplesEditor/Private/ForgeDocumentationLibrary.cpp ​

text
function UAnimationAsset* UForgeDocumentationLibrary::GetPlayingAnimation(USkeletalMeshComponent* Mesh) [L6]
alias using J = TSharedPtr<FJsonObject>; [L86]
alias using A = TArray<TSharedPtr<FJsonValue>>; [L87]
global declaration TWeakObjectPtr<UObject> LastOpenedAsset; [L88]
global declaration TWeakObjectPtr<UEdGraph> LastOpenedGraph; [L89]
global declaration TStrongObjectPtr<UForgeDocumentationSource> PreviewSource; [L90]
function J Obj() [L91]
function void Add(A& Values, J Value) [L92]
function bool Own(const UObject* O) [L93]
function J Prop(FProperty* P, UObject* Default=nullptr) [L94]
function UWorld* GameWorld() [L102]
function APlayerController* Player() [L107]
function UIFRootLayout* Root() [L108]
function UObject* Source() [L109]
function void Key(FKey K) [L117]
function UObject* UForgeDocumentationSource::GetUIModel_Implementation(FName Name) [L126]
function bool UForgeDocumentationLibrary::ExportSchema(const FString& Filename) [L135]
function TFieldIterator<FProperty> P(S,EFieldIteratorFlags::ExcludeSuper); [L204]
function TFieldIterator<UFunction> F(S,EFieldIteratorFlags::ExcludeSuper); [L205]
function bool UForgeDocumentationLibrary::OpenBlueprint(const FString& AssetPath,bool Graph) [L225]
function bool UForgeDocumentationLibrary::RunAction(const FString& Action) [L243]
function TActorIterator<AForgeDemoWorld> It(GameWorld()); [L387]
function bool UForgeDocumentationLibrary::CaptureWidget(const FString& ClassPath,const FString& Filename,int32 Width,int32 Height) [L424]

Source/ForgeExamplesEditor/Private/ForgeExampleAuthoring.cpp ​

text
function T* Node(UEdGraph* Graph,int X,int Y) [L38]
function UK2Node_CallFunction* Call(UEdGraph* G,UClass* Class,FName Function,int X,int Y) [L40]
function UK2Node_VariableGet* Get(UEdGraph* G,FName Name,int X,int Y,UClass* Owner=nullptr) [L42]
function UK2Node_Event* Event(UEdGraph* G,UClass* Class,FName Name,int X,int Y) [L44]
function bool Link(UEdGraphPin* A,UEdGraphPin* B) [L46]
function UWidgetBlueprint* Blueprint(const TCHAR* Name,UClass* Parent) [L48]
function UEdGraph* Graph(UBlueprint* BP) [L57]
function bool Save(UBlueprint* BP) [L59]
function UIFText* Text(UWidgetTree* Tree,FName Name,const TCHAR* Label,int Size,EIFTextRole Role) [L68]
function UWidgetBlueprint* Entry() [L70]
function bool Journal(UClass* EntryClass) [L93]
function FSlateChildSize Fill(ESlateSizeRule::Fill); [L103]
function bool UForgeExampleAuthoring::CreatePublicFeatureExamples() [L122]
function bool UForgeExampleAuthoring::AddJournalThemeChoices() [L129]
function bool UForgeExampleAuthoring::RefineJournalEntryLifecycle() [L156]
function bool UForgeExampleAuthoring::CreatePublicDialogExamples() [L202]

Source/ForgeExamplesEditor/Private/ForgeFieldCardsAuthoring.cpp ​

text
function T* Node(UEdGraph* G,int X,int Y) [L62]
function void Link(UEdGraphPin* A,UEdGraphPin* B) [L64]
function UK2Node_CallFunction* Call(UEdGraph* G,UClass* C,FName F,int X,int Y) [L66]
function UK2Node_VariableGet* Get(UEdGraph* G,FName F,int X,int Y,UClass* C=nullptr,UEdGraphPin* Target=nullptr) [L68]
function UK2Node_VariableSet* Set(UEdGraph* G,FName F,int X,int Y,UClass* C=nullptr,UEdGraphPin* Target=nullptr) [L70]
function UK2Node_Event* Event(UEdGraph* G,UClass* C,FName F,int X,int Y) [L72]
function UK2Node_Self* Self(UEdGraph* G,int X,int Y) [L74]
function UK2Node_ComponentBoundEvent* Click(UWidgetBlueprint* BP,UEdGraph* G,FName Name,int Y) [L76]
function UEdGraph* Graph(UBlueprint* BP) [L78]
function UBlueprint* NewBlueprint(const TCHAR* Name,UClass* Parent,bool Widget) [L80]
function bool Prepare(UBlueprint* BP) [L88]
function bool Save(UBlueprint* BP) [L96]
function UIFText* Text(UWidgetTree* T,FName Name,const TCHAR* Value,int32 Size,EIFTextRole Role) [L102]
function UIFButton* Button(UWidgetTree* T,UVerticalBox* Column,FName Name,const TCHAR* Label) [L104]
function UEdGraph* InterfaceGraph(UBlueprint* BP,FName Name) [L106]
function T* First(UEdGraph* G) [L108]
function bool FieldCard() [L111]
function bool UpgradeSelection(UWidgetBlueprint* BP) [L124]
function bool FieldCards() [L131]
function bool CardsLink() [L163]
function bool UForgeExampleAuthoring::AddFieldCardsExample() [L170]
function bool UForgeExampleAuthoring::AddExampleWorldNavigation() [L176]

Source/ForgeExamplesEditor/Private/ForgeGraphPolish.cpp ​

text
function FString SemanticGraph(UWidgetBlueprint* BP) [L26]
function FString Digest(const FString& Value) [L48]
function UEdGraphNode* Linked(UEdGraphPin* Pin) [L50]
function UK2Node_CallFunction* NextCall(const UK2Node_CallFunction* Call) [L52]
  field FString Title; [L54]
  field TArray<UEdGraphNode*> Nodes; [L54]
struct FSection [L54]
function bool UForgeExampleAuthoring::RefineLanguageGraphLayout(bool bVerifyOnly) [L57]

Source/ForgeExamplesEditor/Private/ForgeIntegrationAuthoring.cpp ​

text
global declaration const FString Folder=TEXT("/Game/UIForgeTutorial/"); [L53]
function N* Node(UEdGraph* G,int X,int Y) [L54]
function void Link(UEdGraphPin* A,UEdGraphPin* B) [L56]
function UK2Node_CallFunction* Call(UEdGraph* G,UClass* C,FName Name,int X,int Y) [L58]
function UK2Node_Event* Event(UEdGraph* G,UClass* C,FName Name,int X,int Y) [L60]
function UBlueprint* Create(const TCHAR* Name,UClass* Parent,bool Widget=false) [L62]
function UEdGraph* Graph(UBlueprint* BP) [L68]
function bool Save(UBlueprint* BP) [L70]
function UClass* Class(const TCHAR* Name) [L78]
function UK2Node_ComponentBoundEvent* Click(UWidgetBlueprint* BP,UEdGraph* G,FName Name,int Y) [L80]
function void Push(UWidgetBlueprint* BP,UEdGraph* G,FName Button,UClass* Screen,EIFLayer Layer,int Y,bool Close=false) [L82]
function bool Menu(const TCHAR* Name,bool Main) [L95]
function bool HUD() [L118]
function bool CompleteTutorialFlow() [L146]
function bool CompleteControllerSetup() [L167]
function bool CompletePauseSetup() [L185]
function bool UForgeProductAuthoring::CreateIntegrationTutorial() [L225]

Source/ForgeExamplesEditor/Private/ForgeMenuAuthoring.cpp ​

text
function T* Node(UEdGraph* G,int X,int Y) [L89]
function void Link(UEdGraphPin* A,UEdGraphPin* B) [L91]
function UK2Node_CallFunction* Call(UEdGraph* G,UClass* C,FName Name,int X,int Y) [L93]
function UK2Node_VariableGet* Get(UEdGraph* G,FName Name,int X,int Y) [L95]
function UK2Node_ComponentBoundEvent* Click(UWidgetBlueprint* BP,UEdGraph* G,FName Name,int Y) [L97]
function UK2Node_Event* Event(UEdGraph* G,UClass* C,FName Name,int X,int Y) [L99]
function bool Save(UWidgetBlueprint* BP) [L101]
function UWidgetBlueprint* Blueprint(const TCHAR* Name,UClass* Parent=UIFScreen::StaticClass()) [L109]
function UIFText* Text(UWidgetTree* T,const TCHAR* Label,int Size,EIFTextRole Role) [L116]
function UVerticalBox* Card(UWidgetTree* T,bool Main) [L118]
function void Button(UWidgetTree* T,UVerticalBox* Column,UClass* ButtonClass,FName Name,const TCHAR* Label) [L126]
function void Focus(UEdGraph* G,FName Name) [L128]
function void Action(UEdGraph* G,UEdGraphPin* Exec,FName Name,int X,int Y) [L133]
function void Push(UEdGraph* G,UEdGraphPin* Exec,UClass* Screen,int Y,bool WithData) [L135]
function void Confirmation(UWidgetBlueprint* BP,UEdGraph* G,UK2Node_CustomEvent* Open,const TCHAR* Title,const TCHAR* Message,const TCHAR* Confirm,FName ActionName,int Y) [L142]
function void Back(UWidgetBlueprint* BP,FName OpenName,bool Deactivate) [L159]
function bool Menu(bool Main,UClass* ButtonClass) [L173]
function bool Readout(bool Queue,const TCHAR* WorldName=nullptr) [L198]
function UVerticalBox* HUDCard(UWidgetTree* T,UCanvasPanel* Canvas,FVector2D Anchor,FVector2D Align,FVector2D Position,float Width) [L221]
function void AddReadout(UWidgetTree* T,UVerticalBox* Column,UClass* Class,FName Name) [L226]
function UK2Node_GetSubsystem* SettingsService(UEdGraph* G,int X,int Y) [L228]
function UK2Node_CallFunction* SettingsCall(UEdGraph* G,FName Name,int X,int Y) [L230]
function UK2Node_CustomEvent* Custom(UEdGraph* G,FName Name,int X,int Y) [L232]
function UK2Node_CallFunction* SelfCall(UEdGraph* G,FName Name,int X,int Y) [L234]
function UK2Node_VariableSet* OwnSession(UEdGraph* G,UEdGraphPin* Exec,bool Value,int X,int Y,FName Member=TEXT("OwnsSettingsSession")) [L236]
function UK2Node_IfThenElse* SessionGate(UEdGraph* G,UEdGraphPin* Exec,int X,int Y,FName Member=TEXT("OwnsSettingsSession")) [L238]
function bool SettingsScreen(UClass* ButtonClass) [L240]
function bool HUD(UClass* ButtonClass,UClass* ReadoutClass,UClass* QueueClass) [L316]
function UK2Node_CallFunction* RemapCall(UEdGraph* G,FName Name,int X,int Y) [L340]
function UK2Node_CallFunction* RemapStatus(UEdGraph* G,UEdGraphPin* Exec,int X,int Y) [L346]
function bool ControlsScreen(UClass* ButtonClass) [L348]
function bool UForgeExampleAuthoring::CreatePublicMenuExamples() [L400]
function bool UForgeExampleAuthoring::CreatePublicSettingsExample() [L406]
function bool UForgeExampleAuthoring::CreatePublicControlsExample() [L424]
function bool UForgeExampleAuthoring::AddWorldEntryExample() [L432]
function bool UForgeExampleAuthoring::CreatePublicHUDExample() [L477]
function bool UForgeExampleAuthoring::RefineHUDReadouts() [L487]
function bool UForgeExampleAuthoring::RefineResponsiveCards() [L546]
function bool UForgeExampleAuthoring::RefineDialogBody() [L609]
function bool UForgeExampleAuthoring::RefineResponsiveHUD() [L631]
function FSlateChildSize OverviewWeight(ESlateSizeRule::Fill); [L681]
function FSlateChildSize OrdersWeight(ESlateSizeRule::Fill); [L682]
function UK2Node_VariableGet* External(UEdGraph* G,UClass* Class,FName Name,UEdGraphPin* Object,int X,int Y) [L690]
function bool RPGButton() [L692]
function bool RPGAction(UClass* ButtonClass) [L714]
function UVerticalBox* RPGPanel(UWidgetTree* T,UCanvasPanel* Canvas,FAnchors Anchors,FMargin Margins) [L747]
function bool RPGHUD(UClass* ButtonClass,UClass* ActionClass,UClass* ReadoutClass,UClass* VitalClass) [L753]
function bool RefineRPGNavigation(UClass* ActionClass,UClass* ButtonClass) [L778]
  field FName From; [L800]
  field const TCHAR* Direction; [L800]
  field FName To; [L800]
struct FRule [L800]
function bool UForgeExampleAuthoring::CreatePublicRPGExample() [L831]
function bool UForgeExampleAuthoring::BindMainMenuIdentity() [L847]
function bool UForgeExampleAuthoring::BindMenuPresentation() [L865]
function bool UForgeExampleAuthoring::RefineMenuHierarchy() [L958]
function bool UForgeExampleAuthoring::RefineSettingsAudioPresentation() [L979]
function bool UForgeExampleAuthoring::RefineOriginalMenuPresentation() [L998]
function bool UForgeExampleAuthoring::RefineOriginalTextWrapping() [L1070]
function bool UForgeExampleAuthoring::RefineRPGAvailability() [L1087]
function bool UForgeExampleAuthoring::RefineReadoutLayoutOptions() [L1192]
function bool UForgeExampleAuthoring::RefineRPGActionDock() [L1260]
function bool UForgeExampleAuthoring::RefineRPGHeaderFit() [L1330]
  field UIFSurface* Surface; [L1337]
  field UScrollBox* Scroll; [L1337]
  field UOverlay* Fit; [L1337]
  field FName Name; [L1337]
struct FHeader [L1337]
function bool UForgeExampleAuthoring::RefineRPGPassiveReadouts() [L1368]
function bool UForgeExampleAuthoring::RefineRTSSelection() [L1414]
function bool UForgeExampleAuthoring::RefineRTSPassiveFit() [L1600]
function bool UForgeExampleAuthoring::AddNavigationHintHosts() [L1662]
function bool UForgeExampleAuthoring::RefineTooltipPresentation() [L1707]
function bool UForgeExampleAuthoring::AddContextTooltips() [L1759]
function bool UForgeExampleAuthoring::AddNotificationExample() [L1815]
function bool UForgeExampleAuthoring::AddLoadingExample() [L1844]
function bool UForgeExampleAuthoring::RefineRPGNotificationClearance() [L1934]
function bool UForgeExampleAuthoring::RefineNotificationDock() [L1949]
function bool UForgeExampleAuthoring::PinRPGInputPrompt() [L2033]
function bool UForgeExampleAuthoring::AddMenuNavigationCues() [L2067]
function bool UForgeExampleAuthoring::ThemeJournalList() [L2170]
function bool UForgeExampleAuthoring::RefineRPGSafeAreaContext() [L2194]
function bool UForgeExampleAuthoring::AddLanguageSettings() [L2210]
function bool UForgeExampleAuthoring::WrapLocalizedPauseIdentity() [L2287]

Source/ForgeExamplesEditor/Private/ForgeProductAuthoring.cpp ​

text
function bool UForgeProductAuthoring::BakeKnightPortrait(UWorld* World,int32 ViewIndex,bool SaveAsset) [L30]
function TActorIterator<AForgeDemoWorld> It(World); [L33]
function bool UForgeProductAuthoring::BakeCurrentMinimap(UWorld* World,const FString& PackagePath,bool RebuildGenerated) [L58]
function bool UForgeProductAuthoring::ImportOwnedReferenceArt(const FString& ContentDirectory,const TArray<FString>& Packages) [L77]

Source/ForgeExamplesEditor/Private/ForgeProductWidgets.cpp ​

text
global declaration const FString Directory=TEXT("/Game/ForgeExamples/UI/"); [L48]
function bool Save(UObject* Object) [L49]
function bool SaveBP(UWidgetBlueprint* BP) [L56]
function UWidgetBlueprint* NewBP(const TCHAR* Name,UClass* Parent) [L67]
function UClass* Class(const TCHAR* Name) [L72]
function UIFText* Text(UWidgetTree* Tree,FName Name,const TCHAR* Label,int32 Size,EIFTextRole Role=EIFTextRole::Body) [L73]
function UCanvasPanelSlot* Place(UCanvasPanel* C,UWidget* W,FVector2D Position,FVector2D Size,FVector2D Anchor=FVector2D::ZeroVector,FVector2D Alignment=FVector2D::ZeroVector) [L77]
function UIFCommandButton* Command(UWidgetTree* T,FName Name,const TCHAR* Label,FName Action,EIFButtonRole Role=EIFButtonRole::Quiet) [L79]
function bool Readout(const TCHAR* Name,bool Heading=false,bool Progress=true) [L83]
function bool ContextEntries() [L98]
function bool MenuButton() [L119]
function bool Journal() [L127]
function bool UnitFrames() [L146]
function bool Menus() [L163]
function bool AbilityEntry() [L201]
function bool Controls() [L221]
function bool Settings() [L264]
function bool Gateway() [L281]
function UIFReadoutEntry* Entry(UWidgetTree* T,UCanvasPanel* C,FName Name,FName Model) [L299]
function bool Layout(bool RTS) [L301]
function bool HUD(bool RTS) [L340]
function bool CompleteBindings() [L347]
function bool UForgeProductAuthoring::CreateProductSamples() [L488]

Source/ForgeExamplesEditor/Private/ForgeRPGAuthoring.cpp ​

text
global declaration const FString Folder=TEXT("/Game/ForgeExamples/UI/RPG/"); [L62]
function bool Save(UObject* A) [L64]
function UWidgetBlueprint* Make(const TCHAR* Name,UClass* Parent) [L66]
function bool Finish(UWidgetBlueprint* BP) [L73]
function bool FinishDefaults(UWidgetBlueprint* BP) [L84] — Recompile after CDO edits so UMG's generated instance template receives the new defaults.
function bool ContinueHierarchy(UWidgetBlueprint* BP) [L86]
function UClass* Class(const TCHAR* N) [L111]
function UIFText* Text(UWidgetTree* T,const TCHAR* N,const TCHAR* V,int32 Font=12,EIFTextRole Role=EIFTextRole::Body) [L112]
function UCanvasPanelSlot* Place(UCanvasPanel* C,UWidget* W,FVector2D P,FVector2D S,FVector2D Anchor= [L114]
function UIFSurface* Panel(UWidgetTree* T,const TCHAR* N,FMargin Padding=FMargin(20)) [L116]
function UImage* Art(UWidgetTree* T,const TCHAR* N,const TCHAR* Asset) [L118]
function USizeBox* Portrait(UWidgetTree* T,float Size) [L120]
function void Rule(UWidgetTree* T,UVerticalBox* V) [L126]
function UIFCommandButton* Command(UWidgetTree* T,const TCHAR* N,const TCHAR* Label,FName Action,EIFButtonRole Role=EIFButtonRole::Quiet) [L128]
function UIFSurface* WindowHeader(UWidgetTree* T,UWidget* Title,const TCHAR* CloseName) [L130]
function UIFReadoutEntry* Entry(UWidgetTree* T,const TCHAR* N,FName Model,const TCHAR* EntryClass) [L138]
function UIFProgressWidget* Bar(UWidgetTree* T,const TCHAR* N,FLinearColor Color,float Height) [L140]
function bool Frames() [L142]
function bool HUD() [L192]
function bool Menus() [L224]
function bool Journal() [L245]
function bool ContainerHeaders() [L258]
function bool LoadMenus() [L280]
function bool AbilityBook() [L299]
function bool SettingsRows() [L329]
function FSlateChildSize CopyWeight(ESlateSizeRule::Fill); [L335]
function FSlateChildSize ControlWeight(ESlateSizeRule::Fill); [L337]
function bool RosterSizing() [L360]
function bool StrategyAssets() [L386]
function bool UForgeProductAuthoring::CreateRPGPresentation() [L409]

Source/ForgeExamplesEditor/Private/ForgeSettingsAuthoring.cpp ​

text
global declaration const FString Directory=TEXT("/Game/ForgeExamples/UI/Settings/"); [L33]
function FText T(const TCHAR* Id,const TCHAR* Value) [L34]
function bool Save(UObject* Object) [L35]
function bool Compile(UWidgetBlueprint* BP) [L41]
function UWidgetBlueprint* Blueprint(const TCHAR* Name,UClass* Parent) [L48]
function UIFText* Text(UWidgetTree* Tree,FName Name,const TCHAR* Value,int32 Size,EIFTextRole Role=EIFTextRole::Body) [L53]
function UIFSettingDefinition* Definition(const TCHAR* Id,const TCHAR* Label,const TCHAR* Help,FName Page,EIFSettingBinding Binding,float Min,float Max,float Step,float Default,EIFSettingCo [L57]
function bool CreateRow(const TCHAR* Name,bool Compact) [L66]
function bool UForgeProductAuthoring::CreateTabbedSettingsSample() [L94]

Source/ForgeExamplesEditor/Private/ForgeSettingsProviderAuthoring.cpp ​

text
global declaration const FString Folder=TEXT("/Game/ForgeExamples/UI/Settings/"); [L27]
function N* Node(UEdGraph* G,int32 X,int32 Y) [L28]
function void Link(UEdGraphPin* A,UEdGraphPin* B) [L30]
function UK2Node_CallFunction* Call(UEdGraph* G,UClass* C,FName Name,int32 X,int32 Y) [L32]
function bool Save(UBlueprint* BP) [L34]
function UBlueprint* NewBP(const TCHAR* Name,UClass* Parent) [L47]
struct Function [L49]
  field UEdGraph* Graph; [L51]
  field UK2Node_FunctionEntry* Entry; [L51]
  field UK2Node_FunctionResult* Result; [L51]
  function Function(UBlueprint* BP,FName Name) [L52]
  function UK2Node_FunctionResult* Failure(const TCHAR* Message) [L59]
function void Slot(UK2Node_CallFunction* Call) [L65]
function void Preview(Function& F,UEdGraphPin* Start,UEdGraphPin* Value,UEdGraphPin*& Last) [L67]
function bool UForgeProductAuthoring::CreateSettingsProviderSample() [L78]
function Function F(BP,Name); [L124]

Source/ForgeExamplesEditor/Public/ForgeDocumentationLibrary.h ​

text
class UForgeDocumentationSource [L12] — Explicit sample values for portable optional-widget previews; no entity/gameplay implementation.
  function virtual UObject* GetUIModel_Implementation(FName ModelName) override; [L16]
  function virtual bool RequestUIAction_Implementation(FName ActionName,UObject* Context) override [L17]
  field TMap<FName,TObjectPtr<UIFPresentationData>> Models; [L19]
class UForgeDocumentationLibrary [L24] — Editor-only documentation inspection/capture. Never included in the runtime plugin.
  function static UAnimationAsset* GetPlayingAnimation(USkeletalMeshComponent* Mesh); [L29] — Actual single-node playback; serialized AnimationData is not updated by runtime PlayAnimation.
  function static bool ExportSchema(const FString& Filename); [L30]
  function static bool OpenBlueprint(const FString& AssetPath, bool Graph); [L31]
  function static bool RunAction(const FString& Action); [L32]
  function static bool CaptureWidget(const FString& ClassPath, const FString& Filename, int32 Width, int32 Height); [L33]

Source/ForgeExamplesEditor/Public/ForgeExampleAuthoring.h ​

text
class UForgeExampleAuthoring [L7] — Editor-only authoring automation. Generated Widget Blueprints use normal public runtime APIs.
  function static bool CreatePublicFeatureExamples(); [L12] — Creates original samples if absent. Never overwrites developer-edited assets.
  function static bool AddJournalThemeChoices(); [L14] — Explicit sample upgrade: append public Blueprint theme choices once, preserving existing graphs.
  function static bool CreatePublicDialogExamples(); [L16] — Original custom button and modal trees; uses only public InterfaceForge events/nodes.
  function static bool CreatePublicMenuExamples(); [L17]
  function static bool CreatePublicHUDExample(); [L18]
  function static bool RefineHUDReadouts(); [L20] — Explicit upgrade of our readouts: compact typography, optional detail, and recycle cleanup.
  function static bool CreatePublicSettingsExample(); [L21]
  function static bool CreatePublicControlsExample(); [L22]
  function static bool RefineResponsiveCards(); [L24] — Reparents only the original fixed-card samples into ordinary engine fit/scroll widgets.
  function static bool RefineDialogBody(); [L26] — Independent message scrolling keeps modal actions usable with enlarged or translated prose.
  function static bool RefineResponsiveHUD(); [L28] — Reflow original HUD cards without replacing their Blueprint graphs, models or commands.
  function static bool CreatePublicRPGExample(); [L30] — Original RPG action entries and HUD use the same public model, button, theme and tint APIs.
  function static bool BindMainMenuIdentity(); [L32] — Make the existing original main menu consume an optional identity model, without duplicating its tree.
  function static bool RefineOriginalTextWrapping(); [L34] — Explicit original-sample upgrade: prose wraps, percentage/count values stay unbroken.
  function static bool RefineRPGAvailability(); [L36] — Upgrade original RPG entries to public, focus-preserving availability feedback.
  function static bool RefineRPGPassiveReadouts(); [L37]
  function static bool RefineJournalEntryLifecycle(); [L39] — Explicit journal upgrade: selection styling and public release-event cleanup for recycled rows.
  function static bool RefineRTSSelection(); [L41] — Original RTS command entries consume public models; example selection rules remain outside the plugin.
  function static bool AddContextTooltips(); [L43] — Saved custom tooltip entry and named anchors use the public entry/button contracts.
  function static bool AddNotificationExample(); [L44]
  function static bool RefineNotificationDock(); [L45]
  function static bool AddLoadingExample(); [L46]
  function static bool AddWorldEntryExample(); [L47]
  function static bool AddBlueprintCustomizationExamples(); [L49] — Saved screen, entry, Blueprint-only adapter and Designer root using the public UI contracts.
  function static bool AddBlueprintAnimationExample(); [L51] — Original editable UMG arrival timeline; ordinary Blueprint activation/preference/cleanup graphs.
  function static bool AddConcurrentBlueprintAnimationExample(); [L52]
  function static bool RefineOriginalMenuPresentation(); [L54] — Original menu hierarchy: bounded identity and prose, independent action scrolling. Preserves saved graphs.
  function static bool BindMenuPresentation(); [L56] — Optional frontend labels/confirmations via normal Blueprint functions and public IFDataSource models.
  function static bool RefineRPGHeaderFit(); [L58] — Content-sized original RPG headers, bounded by the existing responsive docks. Keeps model graphs intact.
  function static bool RefineRPGActionDock(); [L60] — Original RPG action dock follows content at the bottom; compact cards retain bounded feedback scrolling.
  function static bool RefineReadoutLayoutOptions(); [L62] — Shared readout instance option selects vertical or inline detail through ordinary Blueprint/Stack Box properties.
  function static bool RefineTooltipPresentation(); [L64] — Compact original tooltip body and public input-aware engine placements; preserves data/release graphs.
  function static bool AddNavigationHintHosts(); [L66] — Original passive description lane through public screen/entry APIs, shared by both HUDs.
  function static bool RefineRTSPassiveFit(); [L68] — Content-fit original passive RTS resource/notice/production card without changing its bindings.
  function static bool RefineMenuHierarchy(); [L70] — Original menu hierarchy and editable arrival motion through public button/theme/UMG features.
  function static bool AddMenuArrivalAnimations(); [L71]
  function static bool PinRPGInputPrompt(); [L73] — Pin a minimal remap-aware key/glyph beside the RPG context reading region, keeping action height intact.
  function static bool AddMenuNavigationCues(); [L75] — CommonUI action icons and actual-key fallback in the original menus' identity band.
  function static bool CreateAppliedPromptExample(); [L77] — Saved developer-authored prompt body uses public resolution events, image/text nodes and theme tokens.
  function static bool ThemeScrollBoxes(class UWidgetBlueprint* Blueprint); [L79] — Preserve existing UMG contents/properties while opting the sample's ScrollBoxes into public theme styling.
  function static bool RefineSettingsAudioPresentation(); [L80]
  function static bool ThemeJournalList(); [L82] — Append the public list-theme node to the journal's ordinary screen theme event.
  function static bool RefineRPGSafeAreaContext(); [L83]
  function static bool RefineRPGNotificationClearance(); [L85] — Reserve clearance for wrapped result ribbons at enlarged text size; only changes the saved context dock.
  function static bool AddLanguageSettings(); [L86]
  function static bool WrapLocalizedPauseIdentity(); [L87]
  function static bool RefineLanguageGraphLayout(bool bVerifyOnly=false); [L89] — Editor-only layout of the example's culture graphs; preserves values and connections.
  function static bool AddExampleWorldNavigation(); [L91] — Original main-menu travel between both standalone examples through public provider actions.
  function static bool AddFieldCardsExample(); [L93] — Original playable virtualized field cards using public entry, selection and live provider contracts.
  function static bool AddSurveyProgressPresentation(); [L95] — Saved survey entry uses public Configure Progress for editable styles and appropriate sizing.

Source/ForgeExamplesEditor/Public/ForgeProductAuthoring.h ​

text
class UForgeProductAuthoring [L7] — Bounded editor authoring for the 5.8 product examples. Never modifies reference assets.
  function static bool CreateRPGPresentation(); [L12] — RPG-only third-person presentation and editable Designer UI. Preserves RTS assets.
  function static bool CreateHumanMotionPresentation(const FString& ReferenceContentDirectory); [L14] — Copies only seven approved skeletal sequences; validates the existing local skeleton.
  function static bool ImportOwnedReferenceArt(const FString& ContentDirectory,const TArray<FString>& Packages); [L15]
  function static bool CreateProductSamples(); [L17] — Create original Designer-built menus, layouts and readouts; existing assets are never overwritten.
  function static bool RebuildArmyHUD(); [L19] — Explicit revision of the owned saved example UI. Does not touch reference projects.
  function static bool PrepareArmyNavigation(UWorld* World); [L20]
  function static bool CreateTabbedSettingsSample(); [L22] — Saved Blueprint examples composed entirely from public settings definitions, rows and tabs.
  function static bool CreateSettingsProviderSample(); [L23]
  function static bool ConsolidatePluginContent(); [L25] — Development migration only: use AssetTools, resave referencers and remove resolved redirectors.
  function static bool CreateIntegrationTutorial(); [L27] — Ordinary game/controller and widget Blueprints for the independent integration walkthrough.
  function static bool BakeCurrentMinimap(UWorld* World,const FString& PackagePath,bool RebuildGenerated=false); [L29] — Offline editor bake only. Reuses one saved texture; runtime maps never render a second scene.
  function static bool BakeKnightPortrait(UWorld* World,int32 ViewIndex=0,bool SaveAsset=false); [L30]

Source/UIForge.Target.cs ​

text
C# class UIForgeTarget : TargetRules [L4]
  constructor UIForgeTarget(TargetInfo Target) [L6]
module dependencies ExtraModuleNames: ForgeExamples [L7]

Source/UIForgeEditor.Target.cs ​

text
C# class UIForgeEditorTarget : TargetRules [L4]
  constructor UIForgeEditorTarget(TargetInfo Target) [L6]
module dependencies ExtraModuleNames: ForgeExamples [L7]

Tools/Documentation/audit_army_delivery.py ​

text
python function read [L6]
python function digest [L7]

Tools/Documentation/audit_competitive_delivery.py ​

text
python function read [L5]
python function digest [L6]

Tools/Documentation/audit_todo_delivery.py ​

text
python function read [L5]
python function digest [L6]

Tools/Documentation/author_army_revision.py ​

text
python function data [L13]
python function key [L18]

Tools/Documentation/author_button_skins.py ​

text
python function brush [L9]
python function skin [L11]

Tools/Documentation/author_shared_themes.py ​

text
python function brush [L12]
python function button [L14]
python function apply [L17]

Tools/Documentation/build_catalog.py ​

text
python function picture [L27]

Tools/Documentation/build_product_worlds.py ​

text
python function asset [L11]
python function mesh [L16]
python function light [L30]
python function world [L35]
python function cls [L70]

Tools/Documentation/build_scheme.py ​

text
python function compact [L10]
python function preprocess [L11]
python function extract_cpp [L19]
python function explanation [L59]
python function emit [L113]
python function txt [L21]
python function comment [L22]
python function walk [L26]
python function widget_children [L146]
python function has_function [L43]
python function contains_function [L50]

Tools/Documentation/capture_army_revision.py ​

text
python function state [L7]
python function shot [L9]

Tools/Documentation/capture_competitive_responsive.py ​

text
python function state [L6]
python function shot [L8]

Tools/Documentation/capture_competitive_review.py ​

text
python function state [L6]
python function shot [L8]
python function cmd [L11]
python function click [L12]
python function fresh [L13]
text
python function state [L8]
python function click [L10]
python function shot [L11]
python function fresh [L14]
python function main [L17]

Tools/Documentation/capture_rpg.py ​

text
python function cap [L6]

Tools/Documentation/capture_rts.py ​

text
python function cap [L5]

Tools/Documentation/capture_visual_manual.py ​

text
python function capture [L13]
python function editor [L31]
python function runtime [L37]

Tools/Documentation/clean_product_generated.ps1 ​

text
PowerShell function Remove-ForgeGeneratedDirectory [L10]

Tools/Documentation/configure_product_input.py ​

text
python function data [L8]
python function key [L13]
python function mappings [L17]

Tools/Documentation/draw_integrity_chrome.py ​

text
python function polygon [L10]
python function create [L13]

Tools/Documentation/draw_resource_art.py ​

text
python function line [L8]
python function poly [L9]

Tools/Documentation/editor_capture.py ​

text
python function doc_result [L14]
python function doc_export_schema [L17]
python function doc_tick [L27]

Tools/Documentation/finish_army_navigation.py ​

text
python function finish [L8]

Tools/Documentation/finish_clean_navigation.py ​

text
python function done [L6]

Tools/Documentation/inspect_world_dressing.py ​

text
python function vec [L6]

Tools/Documentation/make_todo_candidate.py ​

text
python function core_files [L24]
python function write [L28]
python function link [L12]

Tools/Documentation/polish_army_worlds.py ​

text
python function mesh [L12]

Tools/Documentation/polish_product_worlds.py ​

text
python function mesh [L8]

Tools/Documentation/prepare_learning_documentation.py ​

text
python function signature [L15]

Tools/Documentation/prepare_tutorial_host.py ​

text
python function copy [L11]

Tools/Documentation/probe_movement_delivery.py ​

text
python function tick [L5]

Tools/Documentation/redress_example_worlds.py ​

text
python function mesh [L21]
python function uniform [L36]
python function floors [L40]

Tools/Documentation/request.py ​

text
python function request [L5]
python function action [L18]
python function shot [L20]

Tools/Documentation/review_icon_states.py ​

text
python function finish [L28]
python function tick [L32]

Tools/Documentation/summarize_product_profile.py ​

text
python function stats [L24]

Tools/Documentation/tutorial_host_service.py ​

text
python function inspect [L8]
python function tick [L26]

Tools/Documentation/verify_animation_runtime.py ​

text
python function check [L7]
python function hero [L8]
python function finish [L11]
python function tick [L13]

Tools/Documentation/verify_army_input.py ​

text
python function state [L7]
python function expect [L10]

Tools/Documentation/verify_army_orders.py ​

text
python function check [L8]
python function units [L10]
python function selected [L11]
python function project [L12]
python function finish [L13]
python function tick [L17]

Tools/Documentation/verify_army_virtualization.py ​

text
python function check [L14]
python function finish [L15]
python function tick [L18]

Tools/Documentation/verify_blueprint_setting_provider.py ​

text
python function ok [L20]
python function expect [L21]

Tools/Documentation/verify_button_skins.py ​

text
python function check [L10]
python function tick [L17]
python function finish [L39]

Tools/Documentation/verify_choice_back.py ​

text
python function check [L10]
python function finish [L13]
python function tick [L18]

Tools/Documentation/verify_choice_lifetime.py ​

text
python function expect [L12]
python function finish [L13]
python function tick [L18]

Tools/Documentation/verify_clean_revision.py ​

text
python function wait [L5]

Tools/Documentation/verify_competitive_ability_book.py ​

text
python function check [L8]
python function book [L11]
python function button [L12]
python function finish [L13]
python function tick [L16]

Tools/Documentation/verify_competitive_customization.py ​

text
python function check [L8]
python function finish [L11]
python function tick [L19]

Tools/Documentation/verify_competitive_roster_layout.py ​

text
python function check [L9]
python function finish [L12]
python function tick [L15]

Tools/Documentation/verify_input_contexts.py ​

text
python function probe [L7]

Tools/Documentation/verify_knight_contacts.py ​

text
python function expect [L13]
python function order [L14]
python function finish [L16]
python function tick [L21]

Tools/Documentation/verify_knight_directions.py ​

text
python function order [L16]
python function finish [L18]
python function tick [L22]

Tools/Documentation/verify_knight_motion.py ​

text
python function finish [L18]
python function tick [L45]

Tools/Documentation/verify_menu_tableau.py ​

text
python function logical [L10]
python function finish [L11]
python function check [L14]
python function tick [L16]

Tools/Documentation/verify_mmo_attack_intent.py ​

text
python function check [L8]
python function finish [L9]
python function tick [L12]

Tools/Documentation/verify_presentation_contracts.py ​

text
python function check [L6]

Tools/Documentation/verify_product_flows.py ​

text
python function state [L6]
python function expect [L8]
python function click [L9]
python function key [L10]
python function settings [L11]
python function change_scale [L12]
python function controls [L13]
python function bind [L14]
python function fresh [L15]
python function run [L18]

Tools/Documentation/verify_product_input.py ​

text
python function state [L6]
python function mode [L8]

Tools/Documentation/verify_product_revision.py ​

text
python function state [L7]
python function click [L10]
python function point [L11]
python function distance [L12]

Tools/Documentation/verify_product_slice.py ​

text
python function read_json [L7]
python function state [L9]
python function expect [L11]
python function click [L12]
python function screenshot [L13]
python function new_game [L14]
python function run [L17]

Tools/Documentation/verify_resource_brushes.py ​

text
python function check [L10]
python function finish [L13]
python function tick [L21]

Tools/Documentation/verify_rpg_camera.py ​

text
python function check [L4]
python function step [L5]
python function restore [L6]
python function finish [L8]
python function tick [L11]

Tools/Documentation/verify_rpg_defaults.py ​

text
python function check [L5]
python function key [L6]
python function step [L7]
python function finish [L8]
python function tick [L10]

Tools/Documentation/verify_rpg_input.py ​

text
python function state [L10]
python function expect [L13]

Tools/Documentation/verify_rpg_pie_back.py ​

text
python function state [L5]

Tools/Documentation/verify_rpg_rebinding.py ​

text
python function key [L7]
python function current [L9]
python function check [L11]
python function stage [L13]
python function pos [L15]
python function step [L17]
python function finish [L19]
python function tick [L22]

Tools/Documentation/verify_settings_centering.py ​

text
python function center [L11]
python function measure [L16]
python function tick [L20]

Tools/Documentation/verify_settings_save_failure.py ​

text
python function ok [L18]
python function expect [L19]
python function cleanup [L20]
python function run_checks [L33]
python function await_activation [L54]
python function after_capture [L46]

Tools/Documentation/verify_settings_session.py ​

text
python function result [L18]
python function expect [L22]
python function value [L25]

Tools/Documentation/verify_submenu_focus.py ​

text
python function focused [L7]
python function finish [L8]
python function tick [L10]

Tools/Documentation/verify_tutorial_flow.py ​

text
python function expect [L9]
python function action [L10]
python function top [L11]
python function finish [L13]
python function tick [L17]

Tools/Documentation/verify_visual_integrity_alignment.py ​

text
python function sample [L10]
python function finish [L19]
python function tick [L24]

Tools/Documentation/watch_native_mmo_attack.py ​

text
python function tick [L7]

Tools/Documentation/write_product_receipt.py ​

text
python function digest [L5]

Tools/archive_playable_example.py ​

text
python function sha [L19]

Tools/assemble_review_candidate.py ​

text
python function copy [L19]

Tools/audit_mass_deliverable.py ​

text
python function digest [L9]

Tools/capture_baseline.py ​

text
python function git [L11]

Tools/create_ui_assets.py ​

text
python function data_asset [L11]

Tools/create_ui_audio_assets.py ​

text
python function asset [L9]

Tools/detect_input_devices.py ​

text
python class Gamepad [L7]
python class State [L12]

Tools/inspect_sakura_live_cooldown.py ​

text
python function inspect_tick [L22]

Tools/read_reference_widgets.py ​

text
python function read [L30]
python function serial [L34]

Tools/read_sakura_cooldown.py ​

text
python function visit [L11]

Tools/run_localization_matrix.ps1 ​

text
PowerShell function Invoke-LocaleRun [L4]

Tools/run_safe_area_matrix.ps1 ​

text
PowerShell function Test-RPGAspect [L4]

Tools/summarize_exported_widgets.py ​

text
python function compact [L22]
python function field [L26]

Tools/summarize_final_ui_audit.py ​

text
python function tone [L30]

Tools/summarize_progress_core.py ​

text
python function digest [L12]

Tools/summarize_progress_runtime.py ​

text
python function sha [L8]

Tools/verify_documentation_derivative.py ​

text
python function manifest [L16]
python function docs_only [L18]

Tools/verify_reference_preservation.py ​

text
python function git [L9]

Unreal reflected API and editable properties ​

Each type lists its own declarations; inherited members remain on its parent. Blueprint callable nodes, parameters, editable fields, defaults, categories and delegate properties come from the loaded Unreal types.

text
class ForgeAnimationReview : Actor — Opt-in real-RHI evidence for saved Blueprint timelines; not part of normal example input.
  Controller : TObjectPtr<AForgeExamplePlayerController> = None
  Root : TObjectPtr<UIFRootLayout> = None
  Survey : TObjectPtr<UIFScreen> = None
  Entry : TObjectPtr<UIFEntryWidget> = None
  Source : TObjectPtr<UIFPresentationData> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  Animation : TObjectPtr<UWidgetAnimation> = None
  HeadingAnimation : TObjectPtr<UWidgetAnimation> = None
  Card : TObjectPtr<UWidget> = None
  Heading : TObjectPtr<UWidget> = None
class ForgeControlsScreen : IFScreen
  KeySelector : TObjectPtr<UInputKeySelector> = None
  Status : TObjectPtr<UTextBlock> = None
  KeySelected(Chord: FInputChord)
  Defaults()
  CancelChanges()
  ApplyChanges()
class ForgeCustomizationReview : Actor — Opt-in development evidence; the saved Blueprint assets contain the actual interaction.
  Controller : TObjectPtr<AForgeExamplePlayerController> = None
  CustomRoot : TObjectPtr<UIFRootLayout> = None
  Journal : TObjectPtr<UIFScreen> = None
  Survey : TObjectPtr<UIFScreen> = None
  Entry : TObjectPtr<UIFEntryWidget> = None
  Model : TObjectPtr<UIFPresentationData> = None
  OriginalTheme : TObjectPtr<UIFTheme> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
class ForgeDemoAnimInstance : AnimInstance — Character presentation for the playable examples only. Independent of the UI plugin.
  GroundSpeed : float [Blueprint] = 0.000000 — Actual planar displacement per simulation second; these actors do not use CharacterMovement.
  ActionBlendIn : float [Edit, Blueprint] = 0.090000
  ActionBlendOut : float [Edit, Blueprint] = 0.120000
  ActionMontages : TMap = () — One transient montage per used clip, rather than allocating one for every army strike.
  ReturnToLocomotion(BlendOut: float) [Blueprint node]
  PlayAction(Clip: UAnimSequence*, HoldFinalPose: bool) [Blueprint node]
class ForgeDemoController : PlayerController
  Demo : TObjectPtr<AForgeDemoWorld> = None
  GameplayMapping : TObjectPtr<UInputMappingContext> = None
  StartupProviders : TArray
class ForgeDemoGameMode : GameModeBase
class ForgeDemoSave : SaveGame — Example-only persistence. The UI plugin never serializes a game's units or progression.
  Version : int32 = 1
  Genre : EForgeDemoGenre = MMO
  Units : TArray
  Gold : int32 = 240
  Defeated : int32 = 0
  Mana : float = 100.000000
  GateHealth : float = 100.000000
  Elapsed : float = 0.000000
struct ForgeDemoUnitState : None
  Position : FVector [Edit, Blueprint]
  Health : float [Edit, Blueprint]
  Enemy : bool [Edit, Blueprint]
  Role : EForgeUnitRole [Edit, Blueprint]
class ForgeDemoWorld : Actor — Small standalone encounter adapter. Owns demonstration rules, models and save data, never core UI.
  Genre : EForgeDemoGenre [Edit, Blueprint] = MMO
  ViewCamera : TObjectPtr<ACameraActor> [Edit, Blueprint] = None
  MainMenuClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = None
  HUDClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = None
  PauseClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = None
  LoadClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = None
  SettingsClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = None
  NameplateClass : TSubclassOf<UUserWidget> [Edit, Blueprint] = None
  JournalClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = None
  AbilityBookClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = None — Ordinary public IFScreen Blueprint; shows the existing six encounter skills.
  JournalSourceClass : TSubclassOf<UObject> [Edit, Blueprint] = None
  Theme : TObjectPtr<UIFTheme> [Edit, Blueprint] = None
  StartupSettings : TArray [Edit, Blueprint] — Optional game-owned preference definitions. The example applies their public provider at startup.
  RootLayoutClass : TSubclassOf<UIFRootLayout> [Edit, Blueprint] = None
  CharacterMesh : TObjectPtr<USkeletalMesh> [Edit, Blueprint] = None
  IdleAnimation : TObjectPtr<UAnimSequence> [Edit, Blueprint] = None
  MoveAnimation : TObjectPtr<UAnimSequence> [Edit, Blueprint] = None
  AttackAnimation : TObjectPtr<UAnimSequence> [Edit, Blueprint] = None
  CastAnimation : TObjectPtr<UAnimSequence> [Edit, Blueprint] = None
  DeathAnimation : TObjectPtr<UAnimSequence> [Edit, Blueprint] = None
  CharacterAnimationClass : TSubclassOf<UAnimInstance> [Edit, Blueprint] = None — Optional editable Animation Blueprint. Null retains single-sequence replacement support.
  HitAnimation : TObjectPtr<UAnimSequence> [Edit, Blueprint] = None
  MeshForwardYaw : float [Edit, Blueprint] = 90.000000 — Imported knight faces component +Y. Zero supports a conventional +X-facing replacement.
  MeleeContactTime : float [Edit, Blueprint] = 0.633333 — Contact/release markers read from this owned animation bank, in seconds.
  SpellReleaseTime : float [Edit, Blueprint] = 0.500000
  AbilityAtlas : TObjectPtr<UTexture2D> [Edit, Blueprint] = None
  CommandAtlas : TObjectPtr<UTexture2D> [Edit, Blueprint] = None
  UnitPortrait : TObjectPtr<UTexture2D> [Edit, Blueprint] = None
  CharacterBlade : TObjectPtr<UStaticMesh> [Edit, Blueprint] = None — Fixed character presentation, not equipment or inventory rules.
  BladeSocketOffset : FTransform [Edit, Blueprint] = (Rotation=(X=0.000000,Y=0.000000,Z=0.000000,W=1.000000),Translation=(X=0.000000,Y=0.000000
  FollowCameraOffset : FVector [Edit, Blueprint] = (X=550.000000,Y=-950.000000,Z=650.000000)
  RPGMenuFocus : FVector [Edit, Blueprint] = (X=-250.000000,Y=-280.000000,Z=125.000000) — Menu-only composition; gameplay orbit/zoom and saved unit positions are independent.
  RPGMenuOffset : FVector [Edit, Blueprint] = (X=480.000000,Y=-1000.000000,Z=75.000000)
  MenuFieldOfView : float [Edit, Blueprint] = 44.000000
  RPGCameraClass : TSubclassOf<AForgeRPGCamera> [Edit, Blueprint] = None — RPG-only camera class. Create a child Blueprint to tune boom, lens and look behavior.
  RPGCamera : TObjectPtr<AForgeRPGCamera> [Blueprint] = None
  RPGMapWorldMin : FVector2D [Edit, Blueprint] = (X=-2600.000000,Y=-2400.000000) — XY bounds of the RPG map artwork. U maps world Y, V maps negative world X; RTS retains its existing mapping.
  RPGMapWorldMax : FVector2D [Edit, Blueprint] = (X=2600.000000,Y=3600.000000)
  Playing : bool [Blueprint] = False
  Paused : bool [Blueprint] = False
  Units : TArray [Blueprint]
  Selected : TArray [Blueprint]
  Orders : TArray [Blueprint]
  bAttackMoveArmed : bool [Blueprint] = False
  Formation : int32 [Blueprint] = 0
  TrainingQueue : int32 [Blueprint] = 0
  bTrackObjective : bool [Blueprint] = True
  HoveredUnit : int32 [Blueprint] = -1
  InputMapping : TObjectPtr<UInputMappingContext> [Edit, Blueprint] = None — Explicit map-owned reference: the cooker includes the context, actions and player-mappable settings.
  Models : TMap = ()
  JournalSource : TObjectPtr<UObject> = None
  Representations : TArray
  Meshes : TArray
  Nameplates : TArray
  UpdateSelectionOverlay(Marquee: bool, Start: FVector2D, End: FVector2D) [Blueprint node]
  SelectRectangle(Start: FVector2D, End: FVector2D, Additive: bool) [Blueprint node]
  SelectAt(ScreenPosition: FVector2D, Additive: bool, SameType: bool) [Blueprint node]
  PickUnit(ScreenPosition: FVector2D, ReturnValue: int32) [Blueprint node]
  IssueOrder(Type: EForgeOrderType, Destination: FVector, Victim: int32, Queue: bool) [Blueprint node]
  ControlGroup(Group: int32, Store: bool, Additive: bool, CenterCamera: bool) [Blueprint node]
  ConfirmationCompleted(Result: EIFDialogResult)
  CommandAt(ScreenPosition: FVector2D, Queue: bool) [Blueprint node]
class ForgeEntryReview : Actor — Development-only opt-in QA of the saved Blueprint journal; never part of the playable flow.
  Screen : TObjectPtr<UIFScreen> = None
  List : TObjectPtr<UListView> = None
  Models : TArray
  OriginalModels : TArray
  OldModel : TObjectPtr<UIFPresentationData> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  OriginalTheme : TObjectPtr<UIFTheme> = None
  ReviewTheme : TObjectPtr<UIFTheme> = None
class ForgeExampleGameMode : GameModeBase
class ForgeExamplePlayerController : PlayerController
  Outpost : TObjectPtr<AForgeOutpost> [Blueprint] = None
  RootClass : TSubclassOf<UIFRootLayout> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_ForgeRoot.WBP_ForgeRoot_C
  MainMenuClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_AshenMainMenu.WBP_AshenMa
  HUDClass : TSoftClassPtr<UIFScreen>  [Edit, Blueprint] = /Game/UI/Blueprint/WBP_AshenRTSHUD.WBP_AshenRTSHUD_C
  PauseClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_AshenPause.WBP_AshenPause
  DialogClass : TSubclassOf<UIFDialog> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_ForgeConfirmation.WBP_For
  WorkshopClass : TSubclassOf<UIFScreen> [Edit] = None
  PreviewMapping : TObjectPtr<UInputMappingContext> [Edit] = /Script/EnhancedInput.InputMappingContext'/Game/Input/IMC_Preview.IMC_Preview'
  PreviewTheme : TObjectPtr<UIFTheme> [Edit] = /Script/InterfaceForge.IFTheme'/InterfaceForge/UIForge/Themes/DA_ForgeMineral.DA_ForgeMine
  PreviewAudioRouting : TObjectPtr<UIFAudioRouting> [Edit] = /Script/InterfaceForge.IFAudioRouting'/InterfaceForge/UIForge/Audio/DA_IFAudioRouting.DA_I
  FieldHUD : TObjectPtr<UIFScreen> = None
  LoadingRequest : TObjectPtr<UIFScreenLoadAction> = None
  ReturnToMainMenu() [Blueprint node]
  RetryExpedition(Result: EIFDialogResult)
  RequestBeginExpedition(ReturnValue: bool) [Blueprint node]
  PauseExpedition() [Blueprint node]
  ExpeditionReady(Screen: UIFScreen*, Reason: FText)
  ExpeditionFailed(Screen: UIFScreen*, Reason: FText)
  ExpeditionCancelled(Screen: UIFScreen*, Reason: FText)
  DialogReviewCompleted(Result: EIFDialogResult) — Opt-in visual fixture cleanup; never commits preference previews.
  BeginExpedition() [Blueprint node]
class ForgeFieldCardsReview : Actor
  Controller : TObjectPtr<APlayerController> = None
  Journal : TObjectPtr<UIFScreen> = None
  Cards : TObjectPtr<UIFScreen> = None
  Dialog : TObjectPtr<UIFScreen> = None
  Tiles : TObjectPtr<UTileView> = None
  Reading : TObjectPtr<UIFEntryWidget> = None
  Original : TObjectPtr<UIFPresentationData> = None
  Selected : TObjectPtr<UIFPresentationData> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  Theme : TObjectPtr<UIFTheme> = None
class ForgeFieldHUD : IFScreen
  Panels : TArray
  Resources : TObjectPtr<UIFText> = None
  Objective : TObjectPtr<UIFText> = None
  ObjectiveDetail : TObjectPtr<UIFText> = None
  SelectedTitle : TObjectPtr<UIFText> = None
  SelectedDetail : TObjectPtr<UIFText> = None
  Notice : TObjectPtr<UIFText> = None
  QueueTitle : TObjectPtr<UIFText> = None
  QueueProgress : TObjectPtr<UIFProgressWidget> = None
  RefreshModels()
  Recruit()
  Rally()
  Pause()
  Patrol()
  NextScout()
class ForgeGlyphReview : Actor — Opt-in rendering/remap proof using the actual playable HUDs, not a shipping screen.
  Controller : TObjectPtr<APlayerController> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  Remapping : TObjectPtr<UIFRemappingSubsystem> = None
  HUD : TObjectPtr<UIFScreen> = None
  Prompt : TObjectPtr<UIFActionPrompt> = None
  OriginalTheme : TObjectPtr<UIFTheme> = None
  ScrollFixture : TObjectPtr<UIFScrollBox> = None
  OverflowFixture : TObjectPtr<UTextBlock> = None
  ExpandedContext : TObjectPtr<UIFPresentationData> = None
  OriginalContext : TObjectPtr<UIFPresentationData> = None
class ForgeLoadingReview : Actor
  SafePlaySettings : TObjectPtr<UObject> = None
  Controller : TObjectPtr<APlayerController> = None
  Source : TObjectPtr<UObject> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  Active : TObjectPtr<UIFScreenLoadAction> = None
  Main : TObjectPtr<UIFScreen> = None
  HUD : TObjectPtr<UIFScreen> = None
  OtherDialog : TObjectPtr<UIFScreen> = None
  MotionCover : TObjectPtr<UIFScreen> = None
  Ready(Screen: UIFScreen*, Reason: FText)
  Failed(Screen: UIFScreen*, Reason: FText)
  Cancelled(Screen: UIFScreen*, Reason: FText)
class ForgeLocalizationReview : Actor
  Controller : TObjectPtr<APlayerController> = None
  SettingsScreen : TObjectPtr<UIFScreen> = None
  Preferences : TObjectPtr<UIFSettingsSubsystem> = None
class ForgeMainScreen : IFScreen — Example screens use only public InterfaceForge services. Game behavior lives in the adapter.
  Start()
  Settings()
  QuitConfirmed(Result: EIFDialogResult)
  Quit()
class ForgeMenuScreen : IFScreen
  InputStatus : TObjectPtr<UTextBlock> = None
  OpenSettings()
  OpenControls()
  OpenAbout()
  EnterPreview()
class ForgeNotificationReview : Actor — Opt-in real-RHI fixture. Gameplay samples and plugin users do not need this actor.
  Controller : TObjectPtr<APlayerController> = None
  Source : TObjectPtr<UObject> = None
  HUD : TObjectPtr<UIFScreen> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  Notices : TObjectPtr<UIFNotificationSubsystem> = None
  Action : TObjectPtr<UIFButton> = None
  ReleasedEntry : TObjectPtr<UIFEntryWidget> = None
  Ended(Id: FGuid, Reason: EIFNotificationEndReason)
class ForgeOutpost : Actor — Small example backend; nothing in this class is part of InterfaceForge's runtime.
  bExpeditionActive : bool [Blueprint] = False
  bExpeditionPaused : bool [Blueprint] = False
  Camera : TObjectPtr<ACameraActor> [Blueprint] = None
  Models : TMap = ()
  Scouts : TArray
  Cube : TObjectPtr<UStaticMesh> = /Script/Engine.StaticMesh'/Engine/BasicShapes/Cube.Cube'
  Cylinder : TObjectPtr<UStaticMesh> = /Script/Engine.StaticMesh'/Engine/BasicShapes/Cylinder.Cylinder'
  Cone : TObjectPtr<UStaticMesh> = /Script/Engine.StaticMesh'/Engine/BasicShapes/Cone.Cone'
  Sphere : TObjectPtr<UStaticMesh> = /Script/Engine.StaticMesh'/Engine/BasicShapes/Sphere.Sphere'
  Palette : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/Game/Art/M_OutpostPalette.M_OutpostPalette'
  StartExpedition() [Blueprint node]
  SetExpeditionPaused(bPaused: bool) [Blueprint node]
  SelectActor(Actor: AActor*, bToggle: bool) [Blueprint node]
  GetSelectedCount(ReturnValue: int32) [Blueprint node]
  EndExpedition() [Blueprint node]
class ForgePauseScreen : IFScreen
  JournalClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_FieldJournal.WBP_FieldJou
  Settings()
  ReturnConfirmed(Result: EIFDialogResult)
  Return()
  Resume()
  Journal()
class ForgePilgrimage : Actor — Small local interaction adapter for the RPG interface; no combat, GAS or inventory implementation.
  bJourneyActive : bool [Blueprint] = False
  bJourneyPaused : bool [Blueprint] = False
  Camera : TObjectPtr<ACameraActor> [Blueprint] = None
  WorldReadoutClass : TSubclassOf<AForgeWorldReadout> [Edit, Blueprint] = /Script/Engine.BlueprintGeneratedClass'/Game/UI/Blueprint/BP_ForgeWorldReadout.BP_ForgeWor
  Models : TMap = ()
  Scene : TArray
  WorldReadouts : TArray
  Hero : TObjectPtr<AActor> = None
  Companion : TObjectPtr<AActor> = None
  Hearth : TObjectPtr<AActor> = None
  Cube : TObjectPtr<UStaticMesh> = /Script/Engine.StaticMesh'/Engine/BasicShapes/Cube.Cube'
  Cylinder : TObjectPtr<UStaticMesh> = /Script/Engine.StaticMesh'/Engine/BasicShapes/Cylinder.Cylinder'
  Sphere : TObjectPtr<UStaticMesh> = /Script/Engine.StaticMesh'/Engine/BasicShapes/Sphere.Sphere'
  Palette : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/Game/Art/M_OutpostPalette.M_OutpostPalette'
  StartJourney() [Blueprint node]
  SetJourneyPaused(bPaused: bool) [Blueprint node]
  EndJourney() [Blueprint node]
  AnswerKeeper(Result: EIFDialogResult)
class ForgePilgrimageController : PlayerController — Reuses the same public screen stack/settings/dialogs with an independent source.
  RootClass : TSubclassOf<UIFRootLayout> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_EmberRoot.WBP_EmberRoot_C
  MainMenuClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_AshenMainMenu.WBP_AshenMa
  HUDClass : TSoftClassPtr<UIFScreen>  [Edit, Blueprint] = /Game/UI/Blueprint/WBP_EmberRPGHUD.WBP_EmberRPGHUD_C
  PauseClass : TSubclassOf<UIFScreen> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_AshenPause.WBP_AshenPause
  DialogClass : TSubclassOf<UIFDialog> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_ForgeConfirmation.WBP_For
  Journey : TObjectPtr<AForgePilgrimage> [Blueprint] = None
  Mapping : TObjectPtr<UInputMappingContext> = /Script/EnhancedInput.InputMappingContext'/Game/Input/IMC_Preview.IMC_Preview'
  HUD : TObjectPtr<UIFScreen> = None
  LoadingRequest : TObjectPtr<UIFScreenLoadAction> = None
  ReturnToMainMenu() [Blueprint node]
  RetryJourney(Result: EIFDialogResult)
  RequestBeginJourney(ReturnValue: bool) [Blueprint node]
  PauseJourney() [Blueprint node]
  JourneyReady(Screen: UIFScreen*, Reason: FText)
  JourneyFailed(Screen: UIFScreen*, Reason: FText)
  JourneyCancelled(Screen: UIFScreen*, Reason: FText)
  BeginJourney() [Blueprint node]
class ForgePilgrimageGameMode : GameModeBase
class ForgeProgressReview : Actor
  Controller : TObjectPtr<AForgeExamplePlayerController> = None
  Survey : TObjectPtr<UIFScreen> = None
  Entry : TObjectPtr<UIFEntryWidget> = None
  Model : TObjectPtr<UIFPresentationData> = None
  Progress : TObjectPtr<UIFProgressWidget> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  OriginalTheme : TObjectPtr<UIFTheme> = None
class ForgeRPGCamera : Actor — Example camera, deliberately outside the UI plugin and the RTS controller.
  Boom : TObjectPtr<USpringArmComponent> [Edit, Blueprint] = /Script/Engine.SpringArmComponent'/Script/ForgeExamples.Default__ForgeRPGCamera:CameraBoom
  Camera : TObjectPtr<UCameraComponent> [Edit, Blueprint] = /Script/Engine.CameraComponent'/Script/ForgeExamples.Default__ForgeRPGCamera:ThirdPersonCa
  FollowHeight : float [Edit, Blueprint] = 145.000000
  MouseSensitivity : float [Edit, Blueprint] = 0.200000
  ControllerDegreesPerSecond : float [Edit, Blueprint] = 110.000000
  bInvertVertical : bool [Edit, Blueprint] = False
  MinimumDistance : float [Edit, Blueprint] = 280.000000
  MaximumDistance : float [Edit, Blueprint] = 700.000000
  Subject : TObjectPtr<AActor> [Blueprint] = None
  Zoom(Steps: float) [Blueprint node]
  Orbit(YawDegrees: float, PitchDegrees: float) [Blueprint node]
class ForgeRTSReview : Actor — Opt-in development verification of saved RTS Blueprints, not a gameplay feature.
  Controller : TObjectPtr<AForgeExamplePlayerController> = None
  Outpost : TObjectPtr<AForgeOutpost> = None
  Screen : TObjectPtr<UIFScreen> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
class ForgeSettingsAudioReview : Actor — Opt-in real mixer/Blueprint/persistence verification. Never spawned in normal example play.
  Controller : TObjectPtr<AForgeExamplePlayerController> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  Root : TObjectPtr<UIFRootLayout> = None
  Screen : TObjectPtr<UIFScreen> = None
  CaptureSubmix : TObjectPtr<USoundSubmix> = None
class ForgeSettingsScreen : IFScreen
  ScaleSlider : TObjectPtr<USlider> = None
  TextSlider : TObjectPtr<USlider> = None
  UISoundSlider : TObjectPtr<USlider> = None
  GameSoundSlider : TObjectPtr<USlider> = None
  MotionCheck : TObjectPtr<UCheckBox> = None
  Status : TObjectPtr<UTextBlock> = None
  GamePreviewSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_GamePreview.IF_GamePreview'
  UISoundChanged(Value: float)
  TextChanged(Value: float)
  ScaleChanged(Value: float)
  PlayGameAudio()
  OpenControls()
  MotionChanged(Value: bool)
  GameSoundChanged(Value: float)
  Defaults()
  CancelChanges()
  ApplyChanges()
class ForgeShippingReview : Actor — Explicit command-line example review, including Shipping. Never runs in normal play.
  Controller : TObjectPtr<APlayerController> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  Main : TObjectPtr<UIFScreen> = None
  HUD : TObjectPtr<UIFScreen> = None
  Cards : TObjectPtr<UIFScreen> = None
  Dialog : TObjectPtr<UIFScreen> = None
  ActionModel : TObjectPtr<UIFPresentationData> = None
class ForgeTintReview : IFScreen
  LiveTint : TObjectPtr<UIFCenterTint> = None
  Countdown : TObjectPtr<UIFText> = None
  Replay()
class ForgeTooltipReview : Actor — Explicit development-only fixture, separate from both plugin and playable UI.
  Controller : TObjectPtr<AForgeExamplePlayerController> = None
  Outpost : TObjectPtr<AForgeOutpost> = None
  HUD : TObjectPtr<UIFScreen> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
  ReleasedEntry : TObjectPtr<UIFEntryWidget> = None
  CustomData : TObjectPtr<UIFPresentationData> = None
struct ForgeUnitOrder : None
  Type : EForgeOrderType [Blueprint]
  Destination : FVector [Blueprint]
  Target : int32 [Blueprint]
class ForgeWorkshopWidget : IFScreen — UI-only preview. Connect resource/progress presentation to your own gameplay events.
  Surface : TObjectPtr<UBorder> = None
  Status : TObjectPtr<UTextBlock> = None
  HealthText : TObjectPtr<UTextBlock> = None
  InputStatus : TObjectPtr<UTextBlock> = None
  HealthBar : TObjectPtr<UIFProgressWidget> = None
  AbilityProgress : TArray
  SwitchTheme()
  ResetPreview()
  PreviewDamage()
  PreviewCooldown()
  OpenMenu()
  OpenDialog()
  DialogCompleted(Result: EIFDialogResult)
class ForgeWorldReadout : Actor — Example placement adapter only. Rendering/data binding are public engine and InterfaceForge features.
  Display : TObjectPtr<UWidgetComponent> [Edit, Blueprint] = /Script/UMG.WidgetComponent'/Script/ForgeExamples.Default__ForgeWorldReadout:WorldStatus'
  EntryClass : TSubclassOf<UUserWidget> [Edit, Blueprint] = /Script/UMG.WidgetBlueprintGeneratedClass'/Game/UI/Blueprint/WBP_ForgeWorldStatus.WBP_Forg
  MaximumCameraDistance : float [Edit, Blueprint] = 5000.000000
  WorldOffset : FVector [Edit, Blueprint] = (X=0.000000,Y=0.000000,Z=360.000000)
  CameraSideOffset : float [Edit, Blueprint] = 445.000000
  AnchorLink : TObjectPtr<UStaticMeshComponent> [Edit, Blueprint] = /Script/Engine.StaticMeshComponent'/Script/ForgeExamples.Default__ForgeWorldReadout:Anchor
  bShowAnchorLink : bool [Edit, Blueprint] = True
  AnchorLinkOffset : FVector [Edit, Blueprint] = (X=0.000000,Y=0.000000,Z=120.000000)
  AnchorLinkWidth : float [Edit, Blueprint] = 3.000000
  AnchorLinkColor : FLinearColor [Edit, Blueprint] = (R=0.650000,G=0.450000,B=0.200000,A=1.000000)
  LinkWidgetName : FName [Edit, Blueprint] = ProductionProgress
  LinkMaterial : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/Game/Art/M_OutpostPalette.M_OutpostPalette'
  LinkDynamic : TObjectPtr<UMaterialInstanceDynamic> = None
  ShowReadout(Anchor: AActor*, Player: APlayerController*, Data: UObject*, ReturnValue: bool) [Blueprint node]
  SetFlowVisible(bVisible: bool) [Blueprint node]
  GetAnchorActor(ReturnValue: AActor*) [Blueprint node]
  CreateReadout(Player: APlayerController*, Data: UObject*)
  AnchorDestroyed(Actor: AActor*)
class ForgeWorldReview : Actor
  Controller : TObjectPtr<AForgePilgrimageController> = None
  Readouts : TArray
  OriginalTheme : TObjectPtr<UIFTheme> = None
  Replacement : TObjectPtr<UIFPresentationData> = None
  Settings : TObjectPtr<UIFSettingsSubsystem> = None
class ForgeDocumentationLibrary : BlueprintFunctionLibrary — Editor-only documentation inspection/capture. Never included in the runtime plugin.
  RunAction(Action: FString, ReturnValue: bool) [Blueprint node]
  OpenBlueprint(AssetPath: FString, Graph: bool, ReturnValue: bool) [Blueprint node]
  GetPlayingAnimation(Mesh: USkeletalMeshComponent*, ReturnValue: UAnimationAsset*) [Blueprint node] — Actual single-node playback; serialized AnimationData is not updated by runtime PlayAnimation.
  ExportSchema(Filename: FString, ReturnValue: bool) [Blueprint node]
  CaptureWidget(ClassPath: FString, Filename: FString, Width: int32, Height: int32, ReturnValue: bool) [Blueprint node]
class ForgeDocumentationSource : Object — Explicit sample values for portable optional-widget previews; no entity/gameplay implementation.
  Models : TMap = ()
class ForgeExampleAuthoring : BlueprintFunctionLibrary — Editor-only authoring automation. Generated Widget Blueprints use normal public runtime APIs.
  WrapLocalizedPauseIdentity(ReturnValue: bool) [Blueprint node]
  ThemeScrollBoxes(Blueprint: UWidgetBlueprint*, ReturnValue: bool) [Blueprint node] — Preserve existing UMG contents/properties while opting the sample's ScrollBoxes into public theme styling.
  ThemeJournalList(ReturnValue: bool) [Blueprint node] — Append the public list-theme node to the journal's ordinary screen theme event.
  RefineTooltipPresentation(ReturnValue: bool) [Blueprint node] — Compact original tooltip body and public input-aware engine placements; preserves data/release graphs.
  RefineSettingsAudioPresentation(ReturnValue: bool) [Blueprint node]
  RefineRTSSelection(ReturnValue: bool) [Blueprint node] — Original RTS command entries consume public models; example selection rules remain outside the plugin.
  RefineRTSPassiveFit(ReturnValue: bool) [Blueprint node] — Content-fit original passive RTS resource/notice/production card without changing its bindings.
  RefineRPGSafeAreaContext(ReturnValue: bool) [Blueprint node]
  RefineRPGPassiveReadouts(ReturnValue: bool) [Blueprint node]
  RefineRPGNotificationClearance(ReturnValue: bool) [Blueprint node] — Reserve clearance for wrapped result ribbons at enlarged text size; only changes the saved context dock.
  RefineRPGHeaderFit(ReturnValue: bool) [Blueprint node] — Content-sized original RPG headers, bounded by the existing responsive docks. Keeps model graphs intact.
  RefineRPGAvailability(ReturnValue: bool) [Blueprint node] — Upgrade original RPG entries to public, focus-preserving availability feedback.
  RefineRPGActionDock(ReturnValue: bool) [Blueprint node] — Original RPG action dock follows content at the bottom; compact cards retain bounded feedback scrolling.
  RefineResponsiveHUD(ReturnValue: bool) [Blueprint node] — Reflow original HUD cards without replacing their Blueprint graphs, models or commands.
  RefineResponsiveCards(ReturnValue: bool) [Blueprint node] — Reparents only the original fixed-card samples into ordinary engine fit/scroll widgets.
  RefineReadoutLayoutOptions(ReturnValue: bool) [Blueprint node] — Shared readout instance option selects vertical or inline detail through ordinary Blueprint/Stack Box properties.
  RefineOriginalTextWrapping(ReturnValue: bool) [Blueprint node] — Explicit original-sample upgrade: prose wraps, percentage/count values stay unbroken.
  RefineOriginalMenuPresentation(ReturnValue: bool) [Blueprint node] — Original menu hierarchy: bounded identity and prose, independent action scrolling. Preserves saved graphs.
  RefineNotificationDock(ReturnValue: bool) [Blueprint node]
  RefineMenuHierarchy(ReturnValue: bool) [Blueprint node] — Original menu hierarchy and editable arrival motion through public button/theme/UMG features.
  RefineLanguageGraphLayout(bVerifyOnly: bool, ReturnValue: bool) [Blueprint node] — Editor-only layout of the example's culture graphs; preserves values and connections.
  RefineJournalEntryLifecycle(ReturnValue: bool) [Blueprint node] — Explicit journal upgrade: selection styling and public release-event cleanup for recycled rows.
  RefineHUDReadouts(ReturnValue: bool) [Blueprint node] — Explicit upgrade of our readouts: compact typography, optional detail, and recycle cleanup.
  RefineDialogBody(ReturnValue: bool) [Blueprint node] — Independent message scrolling keeps modal actions usable with enlarged or translated prose.
  PinRPGInputPrompt(ReturnValue: bool) [Blueprint node] — Pin a minimal remap-aware key/glyph beside the RPG context reading region, keeping action height intact.
  CreatePublicSettingsExample(ReturnValue: bool) [Blueprint node]
  CreatePublicRPGExample(ReturnValue: bool) [Blueprint node] — Original RPG action entries and HUD use the same public model, button, theme and tint APIs.
  CreatePublicMenuExamples(ReturnValue: bool) [Blueprint node]
  CreatePublicHUDExample(ReturnValue: bool) [Blueprint node]
  CreatePublicFeatureExamples(ReturnValue: bool) [Blueprint node] — Creates original samples if absent. Never overwrites developer-edited assets.
  CreatePublicDialogExamples(ReturnValue: bool) [Blueprint node] — Original custom button and modal trees; uses only public InterfaceForge events/nodes.
  CreatePublicControlsExample(ReturnValue: bool) [Blueprint node]
  CreateAppliedPromptExample(ReturnValue: bool) [Blueprint node] — Saved developer-authored prompt body uses public resolution events, image/text nodes and theme tokens.
  BindMenuPresentation(ReturnValue: bool) [Blueprint node] — Optional frontend labels/confirmations via normal Blueprint functions and public IFDataSource models.
  BindMainMenuIdentity(ReturnValue: bool) [Blueprint node] — Make the existing original main menu consume an optional identity model, without duplicating its tree.
  AddWorldEntryExample(ReturnValue: bool) [Blueprint node]
  AddSurveyProgressPresentation(ReturnValue: bool) [Blueprint node] — Saved survey entry uses public Configure Progress for editable styles and appropriate sizing.
  AddNotificationExample(ReturnValue: bool) [Blueprint node]
  AddNavigationHintHosts(ReturnValue: bool) [Blueprint node] — Original passive description lane through public screen/entry APIs, shared by both HUDs.
  AddMenuNavigationCues(ReturnValue: bool) [Blueprint node] — CommonUI action icons and actual-key fallback in the original menus' identity band.
  AddMenuArrivalAnimations(ReturnValue: bool) [Blueprint node]
  AddLoadingExample(ReturnValue: bool) [Blueprint node]
  AddLanguageSettings(ReturnValue: bool) [Blueprint node]
  AddJournalThemeChoices(ReturnValue: bool) [Blueprint node] — Explicit sample upgrade: append public Blueprint theme choices once, preserving existing graphs.
  AddFieldCardsExample(ReturnValue: bool) [Blueprint node] — Original playable virtualized field cards using public entry, selection and live provider contracts.
  AddExampleWorldNavigation(ReturnValue: bool) [Blueprint node] — Original main-menu travel between both standalone examples through public provider actions.
  AddContextTooltips(ReturnValue: bool) [Blueprint node] — Saved custom tooltip entry and named anchors use the public entry/button contracts.
  AddConcurrentBlueprintAnimationExample(ReturnValue: bool) [Blueprint node]
  AddBlueprintCustomizationExamples(ReturnValue: bool) [Blueprint node] — Saved screen, entry, Blueprint-only adapter and Designer root using the public UI contracts.
  AddBlueprintAnimationExample(ReturnValue: bool) [Blueprint node] — Original editable UMG arrival timeline; ordinary Blueprint activation/preference/cleanup graphs.
class ForgeProductAuthoring : BlueprintFunctionLibrary — Bounded editor authoring for the 5.8 product examples. Never modifies reference assets.
  RebuildArmyHUD(ReturnValue: bool) [Blueprint node] — Explicit revision of the owned saved example UI. Does not touch reference projects.
  PrepareArmyNavigation(World: UWorld*, ReturnValue: bool) [Blueprint node]
  ImportOwnedReferenceArt(ContentDirectory: FString, Packages: TArray, ReturnValue: bool) [Blueprint node]
  CreateTabbedSettingsSample(ReturnValue: bool) [Blueprint node] — Saved Blueprint examples composed entirely from public settings definitions, rows and tabs.
  CreateSettingsProviderSample(ReturnValue: bool) [Blueprint node]
  CreateRPGPresentation(ReturnValue: bool) [Blueprint node] — RPG-only third-person presentation and editable Designer UI. Preserves RTS assets.
  CreateProductSamples(ReturnValue: bool) [Blueprint node] — Create original Designer-built menus, layouts and readouts; existing assets are never overwritten.
  CreateIntegrationTutorial(ReturnValue: bool) [Blueprint node] — Ordinary game/controller and widget Blueprints for the independent integration walkthrough.
  CreateHumanMotionPresentation(ReferenceContentDirectory: FString, ReturnValue: bool) [Blueprint node] — Copies only seven approved skeletal sequences; validates the existing local skeleton.
  ConsolidatePluginContent(ReturnValue: bool) [Blueprint node] — Development migration only: use AssetTools, resave referencers and remove resolved redirectors.
  BakeKnightPortrait(World: UWorld*, ViewIndex: int32, SaveAsset: bool, ReturnValue: bool) [Blueprint node]
  BakeCurrentMinimap(World: UWorld*, PackagePath: FString, RebuildGenerated: bool, ReturnValue: bool) [Blueprint node] — Offline editor bake only. Reuses one saved texture; runtime maps never render a second scene.
class IFActionPrompt : UserWidget — Event-driven prompt for a registered EnhancedInput mapping. Uses CommonInput's configured controller glyphs.
  MappingName : FName [Edit, Blueprint] = None
  ActionLabel : FText [Edit, Blueprint] — Empty displays only the glyph or readable key, useful beside an existing context/action label.
  LabelFontSize : int32 [Edit, Blueprint] = 14 — Base key-label size; the player's accessibility text scale still applies.
  bWrapLabel : bool [Edit, Blueprint] = True — Disable for compact keycaps. A remapped long key remains one line inside a Designer ScaleBox.
  ResolvedKey : FKey [Blueprint] = None
  ResolvedGlyph : FSlateBrush [Blueprint] = (TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseC
  bHasResolvedGlyph : bool [Blueprint] = False — Whether CommonInput supplied a brush for the current applied key. Custom bodies can choose art or readable text.
  PromptText : FText [Blueprint]
  GlyphWidget : TObjectPtr<UImage> = None
  TextWidget : TObjectPtr<UTextBlock> = None
  ObservedSettings : TObjectPtr<UEnhancedInputUserSettings> = None
  ThemeChanged(Theme: UIFTheme*)
  SettingsChanged(Settings: UEnhancedInputUserSettings*)
  SettingsApplied()
  RefreshPrompt() [Blueprint node]
  ProfileChanged(Profile: UEnhancedPlayerMappableKeyProfile*)
  OnPromptUpdated()
  InputChanged(Mode: EIFInputPresentation, Previous: EIFInputPresentation)
class IFAudioRouting : DataAsset — Configure your own engine audio classes. UI/game must be distinct siblings; avoid a parent/master class here.
  Mix : TObjectPtr<USoundMix> [Edit, Blueprint] = None
  UIClass : TObjectPtr<USoundClass> [Edit, Blueprint] = None
  GameClass : TObjectPtr<USoundClass> [Edit, Blueprint] = None
class IFBindingEntry : UserWidget — Designer-authored row for an existing Enhanced Input mapping. Owns no input context or gameplay action.
  MappingName : FName [Edit, Blueprint] = None
  Label : FText [Edit, Blueprint]
  Family : EIFInputPresentation [Edit, Blueprint] = Keyboard
  OnBindingDraftChanged : FIFBindingDraftChanged = ()
  KeySelector : TObjectPtr<UInputKeySelector> [Blueprint] = None
  LabelText : TObjectPtr<UTextBlock> [Blueprint] = None
  StatusText : TObjectPtr<UTextBlock> [Blueprint] = None
  KeyLabelText : TObjectPtr<UTextBlock> [Blueprint] = None — Optional custom key body over the engine selector; ignores hit tests and supports controller glyphs.
  KeyGlyphImage : TObjectPtr<UImage> [Blueprint] = None
  SelectorStateChanged()
  RestoreBindingDefault(ReturnValue: bool) [Blueprint node]
  RefreshBinding() [Blueprint node]
  OnBindingStaged(Success: bool, Message: FText)
  KeySelected(Chord: FInputChord)
class IFButton : CommonButtonBase — CommonUI button with a useful native label and visible focus. A BP may replace its content tree/style.
  Label : FText [Edit, Blueprint]
  LabelAlignment : TEnumAsByte<ETextJustify::Type> [Edit, Blueprint] = Center
  bOverrideContentPadding : bool [Edit, Blueprint] = False — Compact command tiles and dense tables can override padding without copying a theme.
  ContentPadding : FMargin [Edit, Blueprint] = (Left=8.000000,Top=4.000000,Right=8.000000,Bottom=4.000000)
  LabelFontSize : int32 [Edit, Blueprint] = 0 — Zero follows the theme. Accessibility text scaling still applies to a local size.
  ThemeOverride : TObjectPtr<UIFTheme> [Edit, Blueprint] = None — Optional local theme; otherwise follows the owning local player's theme.
  ButtonRole : EIFButtonRole [Edit, Blueprint] = Standard — Standard keeps the existing style. Primary highlights the main action; Quiet is a text action; Destructive uses Dan
  SkinName : FName [Edit, Blueprint] = None — Optional key in Theme.ButtonStyles. None resolves Standard/Primary/Quiet/Destructive from Button Role.
  UnavailableReason : FText [Blueprint]
  TooltipAnchor : TObjectPtr<UIFTooltipAnchor> [Blueprint] = None — Wrap custom button content in an InterfaceForge Tooltip Anchor with this name.
  LabelWidget : TObjectPtr<UTextBlock> [Blueprint] = None — Optional Designer Text Block with this name inherits label/font/color behavior.
  AvailabilityWidget : TObjectPtr<UTextBlock> [Blueprint] = None — Optional Designer text displays the reason for mouse, keyboard, controller and touch alike.
  FocusBorder : TObjectPtr<UBorder> [Blueprint] = None — Optional Designer Border with this name inherits the default focus surface.
  ThemeChanged(Theme: UIFTheme*)
  SetTooltipData(Data: UObject*) [Blueprint node] — Pass a presentation model (or your own UObject) to the optional TooltipAnchor in this tree.
  SetLabel(Text: FText) [Blueprint node]
  SetButtonRole(NewRole: EIFButtonRole) [Blueprint node] — Use this node for live role changes; Designer values synchronize automatically.
  SetActionAvailability(Available: bool, Reason: FText) [Blueprint node] — Blocks activation while retaining navigation focus. Gameplay still validates every request.
  RefreshAppearance() [Blueprint node]
  PreferencesChanged(Preferences: FIFUIPreferences)
  OnVisualStateChanged(State: EIFButtonVisualState)
  OnAppearanceUpdated(Theme: UIFTheme*, Presentation: EIFInputPresentation, NavigationFocused: bool, Hovered: bool, Enabled: bool) — Custom Designer trees receive the same focus, hover, enabled, theme and input updates.
  IsAppearanceAnimating(ReturnValue: bool) [Blueprint node]
  InputChanged(Mode: EIFInputPresentation, Previous: EIFInputPresentation)
  GetVisualState(ReturnValue: EIFButtonVisualState) [Blueprint node] — Current resolved state. Custom Blueprint trees can animate decorations without replacing input routing.
struct IFButtonSkin : None — Reusable CommonUI button art. Brushes support textures, materials and nine-slice margins.
  Normal : FSlateBrush [Edit, Blueprint]
  Emphasized : FSlateBrush [Edit, Blueprint] — Also used for keyboard/controller focus so navigation has the same visual priority.
  Pressed : FSlateBrush [Edit, Blueprint]
  Selected : FSlateBrush [Edit, Blueprint]
  Unavailable : FSlateBrush [Edit, Blueprint]
  Text : FLinearColor [Edit, Blueprint]
  EmphasizedText : FLinearColor [Edit, Blueprint]
  UnavailableText : FLinearColor [Edit, Blueprint]
  FeedbackSeconds : float [Edit, Blueprint] — Tint/text interpolation only; does not move hit targets. Zero snaps. Reduced motion always snaps.
class IFButtonStyle : CommonButtonStyle
class IFCenterTint : Image — Center-origin interior tint; independent of ability/gameplay systems. Can also use a plain Image and the material.
  RemainingFraction : float [Edit, Blueprint] = 0.000000
  Tint : FLinearColor [Edit, Blueprint] = (R=1.000000,G=1.000000,B=1.000000,A=1.000000)
  RemainingOpacity : float [Edit, Blueprint] = 0.750000
  PassedOpacity : float [Edit, Blueprint] = 0.150000
  StartAngle : float [Edit, Blueprint] = 0.000000 — Turns from the top, clockwise. 0.25 starts at the right.
  bReverse : bool [Edit, Blueprint] = False
  SetRemainingFraction(Fraction: float) [Blueprint node] — 1 covers the interior; 0 uses passed opacity everywhere. No backend or timer is started.
  RefreshTint() [Blueprint node] — Apply Designer/property overrides to this image's own material instance.
class IFCollectionData : IFPresentationData — Observable game-agnostic list. Stable UObject identities preserve recycled entry bindings.
  Items : TArray [Blueprint]
  SetItems(NewItems: TArray) [Blueprint node] — Only broadcasts when membership/order changes. Nulls and duplicate objects are omitted.
class IFCommandButton : IFButton — A public convenience over IFButton: route an action to the containing screen's external data source.
  ActionName : FName [Edit, Blueprint] = None
  bRequestScreenBack : bool [Edit, Blueprint] = False — Back uses the containing screen's CommonUI handler; no gameplay data-source action is needed.
  ModelName : FName [Edit, Blueprint] = None — Optional stable model used for label, availability and action context. None preserves the Designer label.
  bUseModelLabel : bool [Edit, Blueprint] = True
  PromptMappingName : FName [Edit, Blueprint] = None — Optional ActionPrompt child displays the registered mapping beside your custom Designer label.
  TooltipModelName : FName [Edit, Blueprint] = None — Optional separate presentation model for a rich tooltip; useful when Detail is a short live countdown.
  ActionPrompt : TObjectPtr<UIFActionPrompt> [Blueprint] = None
  CommandContext : TObjectPtr<UObject> = None
  CommandModel : TObjectPtr<UIFPresentationData> = None
  SetCommandContext(Context: UObject*) [Blueprint node] — Route a recycled list entry's context without inventing a model name for each item.
  RefreshCommandModel()
  RefreshCommandBinding() [Blueprint node]
  OnCommandResult(Accepted: bool)
  GetCommandContext(ReturnValue: UObject*) [Blueprint node] — Effective explicit entry context or named screen model. None after cleanup.
  ClearCommandBinding() [Blueprint node]
class IFDataSource : Interface
  RequestUIAction(ActionName: FName, Context: UObject*, ReturnValue: bool) [Blueprint node] — Request an action. The adapter validates it; true means accepted, not necessarily completed.
  GetUIModel(ModelName: FName, ReturnValue: UObject*) [Blueprint node] — Return a stable observable model, not a newly allocated snapshot on every call.
class IFDialog : IFScreen — Reusable modal. Cancel is the default focus; back reports Cancelled exactly once.
  DialogData : TObjectPtr<UIFDialogData> = None
  TitleWidget : TObjectPtr<UTextBlock> = None
  MessageWidget : TObjectPtr<UTextBlock> = None
  ConfirmButton : TObjectPtr<UIFButton> = None
  CancelButton : TObjectPtr<UIFButton> = None
  Surface : TObjectPtr<UBorder> = None
  HeaderSurface : TObjectPtr<UBorder> = None
  Reply(Result: EIFDialogResult) [Blueprint node] — Use from custom Blueprint buttons. Completes exactly once, including a Back cancellation.
  GetDialogData(ReturnValue: UIFDialogData*) [Blueprint node]
  Confirm()
  Cancel()
class IFDialogData : Object
  Title : FText [Edit, Blueprint]
  Message : FText [Edit, Blueprint]
  ConfirmLabel : FText [Edit, Blueprint] = NSLOCTEXT("InterfaceForge", "Confirm", "Confirm")
  CancelLabel : FText [Edit, Blueprint] = NSLOCTEXT("InterfaceForge", "Cancel", "Cancel")
  bDestructiveAction : bool [Edit, Blueprint] = False — Presentation only. The caller still owns validation and the confirmed action.
  OnCompleted : FIFDialogCompleted = ()
class IFEntry : Interface
  SetEntrySelected(bSelected: bool) [Blueprint node]
  ReleaseEntry() [Blueprint node]
  RefreshEntry() [Blueprint node]
  InitializeEntry(Data: UObject*) [Blueprint node]
class IFEntryWidget : UserWidget — Optional convenience base: wires native virtualized-list lifecycle and model updates to Blueprint events.
  EntryData : TObjectPtr<UObject> [Blueprint] = None
  bEntrySelected : bool [Blueprint] = False
  OnEntrySelectionChanged(bSelected: bool)
  OnEntryReleased() — Cleanup once for each initialized context, including None data. Called before reuse; EntryData is still available.
  OnEntryRefreshed()
  OnEntryInitialized(Data: UObject*)
  HandleDataChanged()
class IFHUDLayout : UserWidget — Passive HUD composition. Put inside a Safe Zone; CommonUI screens retain input-routing ownership.
  Profile : TObjectPtr<UIFHUDLayoutProfile> [Edit, Blueprint] = None
  RegionCanvas : TObjectPtr<UCanvasPanel> = None
  RegionWidgets : TMap = ()
  RegionHosts : TMap = ()
  Overrides : TMap = ()
  SetRegionWidget(Region: FName, Widget: UWidget*, ReturnValue: bool) [Blueprint node] — Attach a developer-created widget to a named region. Missing names return false with a diagnostic.
  SetLayoutProfile(NewProfile: UIFHUDLayoutProfile*, ReturnValue: bool) [Blueprint node]
  ResetRegionOverrides() [Blueprint node]
  RefreshLayout() [Blueprint node]
  OverrideRegion(Region: FIFHUDRegion, ReturnValue: bool) [Blueprint node] — Session override; persist your game's chosen layout through its normal save/settings system.
  OnLayoutApplied(Compact: bool)
  GetRegionWidget(Region: FName, ReturnValue: UWidget*) [Blueprint node]
class IFHUDLayoutProfile : DataAsset — Share composition without sharing widget trees. Example gameplay and widget classes do not live here.
  Regions : TArray [Edit, Blueprint]
  CompactBelowWidth : float [Edit, Blueprint] = 1440.000000
  CompactScale : float [Edit, Blueprint] = 0.800000
  MinimumCanvasSize : FVector2D [Edit, Blueprint] = (X=0.000000,Y=0.000000) — Optional total composition footprint in Slate units. Caps scale to keep essential regions on screen.
struct IFHUDRegion : None — Content-sized HUD region. Anchor is normalized; size and inset use DPI-aware Slate units.
  Name : FName [Edit, Blueprint]
  Anchor : FVector2D [Edit, Blueprint]
  Alignment : FVector2D [Edit, Blueprint]
  Offset : FVector2D [Edit, Blueprint]
  Size : FVector2D [Edit, Blueprint]
  bAutoHeight : bool [Edit, Blueprint] — Runtime content height at the authored width. Size.Y remains the Designer preview estimate.
  bAutoWidth : bool [Edit, Blueprint] — With Auto Height, also use intrinsic content width. Useful for compact action strips that grow with text.
  ZOrder : int32 [Edit, Blueprint]
  bHideWhenCompact : bool [Edit, Blueprint] — Decorative/optional regions may be hidden in the compact viewport. Essential controls must remain.
class IFInputPresentationSubsystem : LocalPlayerSubsystem — One non-consuming observer per local player. CommonUI still routes all actions/navigation.
  OnInputPresentationChanged : FIFInputPresentationChanged = ()
  MouseIntentPixels : float [Edit, Blueprint] = 6.000000 — Net mouse travel in screen pixels within MouseIntentWindowSeconds; tiny jitter cannot accumulate forever.
  MouseIntentWindowSeconds : float [Edit, Blueprint] = 0.200000
  AnalogIntentThreshold : float [Edit, Blueprint] = 0.400000 — An axis must cross this threshold after returning below AnalogReleaseThreshold.
  AnalogReleaseThreshold : float [Edit, Blueprint] = 0.200000
  CommonInput : TObjectPtr<UCommonInputSubsystem> = None
  SetObservationEnabled(bEnabled: bool) [Blueprint node] — Enable while this player's interface exists; disabling releases only our CommonInput lock.
  IgnoreNextPointerMove() [Blueprint node] — Call before your own cursor warp. Engine synthetic accept is recognized automatically.
  GetInputPresentation(ReturnValue: EIFInputPresentation) [Blueprint node]
class IFKeySelector : InputKeySelector — Unreal's normal key selector with semantic theme/text-size presentation. Mapping rules stay separate.
  ThemeOverride : TObjectPtr<UIFTheme> [Edit, Blueprint] = None
  ResolvedButtonStyle : FButtonStyle = (Normal=(TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseR — UE5.6's selector setters pass the supplied style address to Slate. Keep it alive through paint.
  ResolvedTextStyle : FTextBlockStyle = (Font=(FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=Fa
  ThemeChanged(Theme: UIFTheme*)
  RefreshAppearance() [Blueprint node]
  PreferencesChanged(Preferences: FIFUIPreferences)
class IFLoadingScreen : IFScreen — Blueprint designer replacement: optional named controls retain progress/Cancel/CommonUI Back. A completely custom b
  LoadingTitle : TObjectPtr<UTextBlock> [Blueprint] = None
  LoadingDetail : TObjectPtr<UTextBlock> [Blueprint] = None
  LoadingProgress : TObjectPtr<UIFProgressWidget> [Blueprint] = None
  CancelButton : TObjectPtr<UIFButton> [Blueprint] = None
  Request : TObjectPtr<UIFScreenLoadAction> = None
  OnLoadingUpdated()
  GetLoadingRequest(ReturnValue: UIFScreenLoadAction*) [Blueprint node]
  CancelLoading() [Blueprint node]
class IFLocalPlayerSubsystem : LocalPlayerSubsystem — Each local player owns its UI and theme. Dedicated servers never create a layout.
  OnThemeChanged : FIFThemeChanged = ()
  Root : TObjectPtr<UIFRootLayout> = None
  CurrentTheme : TObjectPtr<UIFTheme> = None
  SetTheme(Theme: UIFTheme*) [Blueprint node]
  RemoveRoot() [Blueprint node]
  GetTheme(ReturnValue: UIFTheme*) [Blueprint node]
  GetRoot(ReturnValue: UIFRootLayout*) [Blueprint node]
  CreateRoot(RootClass: TSubclassOf<UIFRootLayout>, ReturnValue: UIFRootLayout*) [Blueprint node]
class IFMapData : IFPresentationData — Presentation only. Your adapter owns world bounds, discovery, factions and map-to-world conversion.
  Markers : TArray [Edit, Blueprint] — Normalized coordinates, 0..1. Update a batch then call Notify Data Changed once.
  ViewCorners : TArray [Edit, Blueprint] — Optional normalized camera/region footprint. Your adapter supplies world projection.
  RequestedLocation : FVector2D [Blueprint] = (X=0.500000,Y=0.500000)
struct IFMapMarker : None
  Id : FName [Edit, Blueprint]
  Location : FVector2D [Edit, Blueprint]
  Color : FLinearColor [Edit, Blueprint]
  Radius : float [Edit, Blueprint]
  bSelected : bool [Edit, Blueprint]
class IFMapView : Widget — Lightweight map; optional baked background, observable markers and one routing action. No SceneCapture tick.
  DesiredSize : FVector2D [Edit, Blueprint] = (X=220.000000,Y=220.000000)
  Background : FSlateBrush [Edit, Blueprint] = (TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseC
  BackgroundColor : FLinearColor [Edit, Blueprint] = (R=0.018000,G=0.030000,B=0.029000,A=0.980000)
  ModelName : FName [Edit, Blueprint] = Minimap
  LocationAction : FName [Edit, Blueprint] = None — Optional external action name. None only broadcasts On Location Pressed.
  AlternateLocationAction : FName [Edit, Blueprint] = None — Optional secondary pointer action, for example right-click order versus primary camera recenter.
  OnLocationPressed : FIFMapPressed = ()
  OnAlternateLocationPressed : FIFMapPressed = ()
  MapData : TObjectPtr<UIFMapData> = None
  SetMapData(Data: UIFMapData*) [Blueprint node]
  RefreshScreenBinding() [Blueprint node]
  RefreshMap() [Blueprint node]
  PressLocation(NormalizedLocation: FVector2D, Alternate: bool) [Blueprint node]
class IFNavigationInputData : CommonUIInputData — Optional quick-start defaults: Enter / bottom face button accept; Escape / right face button back. Select this clas
  GetNavigationActionKey(Widget: UUserWidget*, Action: FDataTableRowHandle, ReturnValue: FKey) [Blueprint node] — Resolve this row for the widget's owning local player. Does not bind or execute the action.
  GetDefaultBackAction(ReturnValue: FDataTableRowHandle) [Blueprint node]
  GetDefaultAcceptAction(ReturnValue: FDataTableRowHandle) [Blueprint node] — Current project CommonInput defaults, including a developer's replacement Input Data class.
class IFNotificationLayer : UserWidget — One passive entry at a time. Replace its content through IFEntry, not a gameplay-specific widget base.
  NotificationEntryClass : TSubclassOf<UUserWidget> [Edit, Blueprint] = /Script/CoreUObject.Class'/Script/InterfaceForge.IFTooltipCard'
  PreferredWidth : float [Edit, Blueprint] = 320.000000
  Dock : FVector2D [Edit, Blueprint] = (X=0.500000,Y=0.250000) — Normalized anchor within the root's safe area. The native layer is top-centered by default.
  EntryHost : TObjectPtr<UContentWidget> = None
  NoticeBounds : TObjectPtr<USizeBox> = None
  CurrentEntry : TObjectPtr<UUserWidget> = None
  RegisterEntryHost(Host: UContentWidget*) [Blueprint node] — For a custom Designer tree, register a Content Widget that will receive the passive entry.
  GetCurrentEntry(ReturnValue: UUserWidget*) [Blueprint node]
class IFNotificationSubsystem : LocalPlayerSubsystem — A bounded local-player queue, driven by the public root's UI tick, including during world pause.
  MaximumQueued : int32 [Edit, Blueprint] = 8 — Capacity includes the visible message. On overflow, preserve it and discard the oldest pending one.
  OnNotificationEnded : FIFNotificationEnded = ()
  Queue : TArray
  SetQueueCapacity(Capacity: int32) [Blueprint node]
  RegisterNotificationLayer(Presenter: UIFNotificationLayer*, ReturnValue: bool) [Blueprint node] — A custom IFRootLayout places this layer above menus/HUDs and below its modal stack.
  RefreshNotificationPresentation() [Blueprint node] — Rebuild the visible entry after changing its class or host; preserve the GUID and reading time.
  PostNotificationData(Data: UObject*, Duration: float, Key: FName, Scope: UObject*, EntryClass: TSubclassOf<UUserWidget>, ReturnValue: FGuid) [Blueprint node] — Custom data/entry variant. Reposting the same Key + Scope replaces data and resets reading time.
  PostNotification(Title: FText, Message: FText, Duration: float, Key: FName, Scope: UObject*, EntryClass: TSubclassOf<UUserWidget>, ReturnValue: FGuid) [Blueprint node] — Post a short result. A nonempty Key + matching Scope updates its existing message in place.
  HasNotificationPresenter(ReturnValue: bool) [Blueprint node] — True when a player-owned result presenter is registered. Queued results need not block hints without a presenter.
  GetRemainingSeconds(NotificationId: FGuid, ReturnValue: float) [Blueprint node]
  GetNotificationLayer(ReturnValue: UIFNotificationLayer*) [Blueprint node]
  GetNotificationData(NotificationId: FGuid, ReturnValue: UObject*) [Blueprint node]
  GetNotificationCount(ReturnValue: int32) [Blueprint node]
  GetActiveNotificationId(ReturnValue: FGuid) [Blueprint node]
  DismissScope(Scope: UObject*, ReturnValue: int32) [Blueprint node]
  DismissNotification(NotificationId: FGuid, ReturnValue: bool) [Blueprint node]
  ClearNotifications() [Blueprint node] — Finishes this player's messages. Posts from ended callbacks are rejected during this operation.
class IFPresentationData : Object — Optional generic view model. You may instead pass your own UObject to the entry contract.
  StableKey : FName [Edit, Blueprint] = None
  Title : FText [Edit, Blueprint]
  Detail : FText [Edit, Blueprint]
  Quantity : int32 [Edit, Blueprint] = 0
  Fraction : float [Edit, Blueprint] = 0.000000
  AccentColor : FLinearColor [Edit, Blueprint] = (R=1.000000,G=1.000000,B=1.000000,A=1.000000) — Optional semantic accent for a readout that opts in (ally/hostile, warning, project-defined state).
  Icon : TSoftObjectPtr<UTexture2D> [Edit, Blueprint] = None
  bEnabled : bool [Edit, Blueprint] = True
  UnavailableReason : FText [Edit, Blueprint] — Explain an unavailable action without forcing the player to click it. Empty when available.
  OnDataChanged : FIFDataChanged = ()
  OnFractionChanged : FIFFractionChanged = () — Lightweight progress channel: animate a fraction without rebinding labels/icons or rebuilding lists.
  SetFraction(NewFraction: float) [Blueprint node]
  NotifyDataChanged() [Blueprint node] — Call once after a group of Blueprint property edits. Entries update without rebuilding the list.
class IFProgressWidget : Widget — Original procedural progress rendering. Square style measures real perimeter distance, not angle.
  Style : EIFProgressStyle [Edit, Blueprint] = SquarePerimeter
  Fraction : float [Edit, Blueprint] = 0.000000
  FillColor : FLinearColor [Edit, Blueprint] = (R=0.200000,G=0.800000,B=0.650000,A=1.000000)
  TrackColor : FLinearColor [Edit, Blueprint] = (R=0.080000,G=0.120000,B=0.170000,A=1.000000)
  bUseLinearBrushes : bool [Edit, Blueprint] = False — Linear mode only: draw your artwork at full size and clip the fill to its fraction. No stretched end caps. Other pr
  LinearFillBrush : FSlateBrush [Edit, Blueprint] = (TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseC
  LinearTrackBrush : FSlateBrush [Edit, Blueprint] = (TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseC
  LinearFillStyle : FName [Edit, Blueprint] = None — Optional keys in the active theme's Surface Styles. None retains the local brush.
  LinearTrackStyle : FName [Edit, Blueprint] = None
  bUseThemeColors : bool [Edit, Blueprint] = False — Use the project's Accent/Outline tokens. Disable to use custom Fill/Track colors.
  ThemeOverride : TObjectPtr<UIFTheme> [Edit, Blueprint] = None
  Thickness : float [Edit, Blueprint] = 6.000000
  bReverse : bool [Edit, Blueprint] = False
  StartOffset : float [Edit, Blueprint] = 0.000000 — Normalized position along the perimeter; zero starts at the top-left for square, top for radial.
  Segments : int32 [Edit, Blueprint] = 8
  DesiredSize : FVector2D [Edit, Blueprint] = (X=128.000000,Y=128.000000)
  ResolvedLinearFill : FSlateBrush = (TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseC
  ResolvedLinearTrack : FSlateBrush = (TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseC
  ThemeChanged(Theme: UIFTheme*)
  StartCooldown(DurationSeconds: float) [Blueprint node] — Uses an absolute game-time end, so repaint frequency cannot accumulate timer drift. Zero duration completes.
  SetLinearBrushes(Fill: FSlateBrush, Track: FSlateBrush) [Blueprint node]
  SetFraction(Value: float) [Blueprint node]
  RefreshAppearance() [Blueprint node]
  GetRemainingSeconds(ReturnValue: float) [Blueprint node]
  GetDisplayedFraction(ReturnValue: float) [Blueprint node]
  GetDisplayedCharges(ReturnValue: int32) [Blueprint node] — Whole filled cells, rounded down with a small floating-point tolerance. This displays counts; it owns no gameplay c
  ConfigureProgress(NewStyle: EIFProgressStyle, NewDesiredSize: FVector2D, NewSegments: int32, bReversed: bool, NewStartOffset: float, ReturnValue: bool) [Blueprint node] — Change presentation without replacing the widget or restarting its clock. Invalid style/size/origin leaves it uncha
  ClearCooldown() [Blueprint node]
struct IFQueuedNotification : None — Internal queue state. Scope is weak; a notification never keeps a gameplay owner alive.
  Id : FGuid
  Data : TObjectPtr<UObject>
  Scope : TWeakObjectPtr<UObject>
  bScoped : bool
  Key : FName
  EntryClass : TSubclassOf<UUserWidget>
  Remaining : float
  Age : float
class IFReadoutEntry : IFEntryWidget — Optional binding convenience. Build the entire Designer tree yourself; use any subset of these names.
  ModelName : FName [Edit, Blueprint] = None — Optional automatic screen binding. None leaves initialization to your Blueprint graph.
  bShowFractionPercent : bool [Edit, Blueprint] = False
  bShowQuantity : bool [Edit, Blueprint] = False
  bDetailOnlyWhenFractionActive : bool [Edit, Blueprint] = False
  bHideWhenUnavailable : bool [Edit, Blueprint] = False — Useful for contextual/defeat panels; keeps the model subscription while collapsed.
  UnavailableIconOpacity : float [Edit, Blueprint] = 0.500000
  IconUVMin : FVector2D [Edit, Blueprint] = (X=0.000000,Y=0.000000) — UV rectangle for an optional texture atlas. Full texture by default.
  IconUVMax : FVector2D [Edit, Blueprint] = (X=1.000000,Y=1.000000)
  EntryActionName : FName [Edit, Blueprint] = None — Optional EntryCommand action; None routes Model Name.
  TooltipModelName : FName [Edit, Blueprint] = None
  SecondaryModelName : FName [Edit, Blueprint] = None — Optional nested SecondaryEntry binding, for a compact resource row or another related readout.
  MappingName : FName [Edit, Blueprint] = None — Registered Enhanced Input mapping; an optional ActionPrompt child displays its applied key/glyph.
  bOverrideFractionColors : bool [Edit, Blueprint] = False
  bUseModelAccent : bool [Edit, Blueprint] = False
  FractionColor : FLinearColor [Edit, Blueprint] = (R=0.130000,G=0.620000,B=0.420000,A=1.000000)
  FractionTrackColor : FLinearColor [Edit, Blueprint] = (R=0.025000,G=0.045000,B=0.040000,A=1.000000)
  TitleText : TObjectPtr<UTextBlock> [Blueprint] = None
  DetailText : TObjectPtr<UTextBlock> [Blueprint] = None
  ValueText : TObjectPtr<UTextBlock> [Blueprint] = None
  IconImage : TObjectPtr<UImage> [Blueprint] = None
  FractionBar : TObjectPtr<UIFProgressWidget> [Blueprint] = None
  CooldownTint : TObjectPtr<UIFCenterTint> [Blueprint] = None
  EntryCommand : TObjectPtr<UIFCommandButton> [Blueprint] = None
  ActionPrompt : TObjectPtr<UIFActionPrompt> [Blueprint] = None
  SecondaryEntry : TObjectPtr<UIFReadoutEntry> [Blueprint] = None
  ItemList : TObjectPtr<UListView> [Blueprint] = None — Optional engine ListView/TileView. Collection data supplies items; entry class remains Designer editable.
  RefreshScreenBinding() [Blueprint node]
  RefreshFraction(Fraction: float)
class IFRemappingScreen : IFScreen — Optional transaction owner. Use your own screen with IFRemappingSubsystem instead if desired.
  bOwnsBindingSession : bool [Blueprint] = False
  ApplyChoice : TObjectPtr<UIFButton> [Blueprint] = None
  CancelChoice : TObjectPtr<UIFButton> [Blueprint] = None
  DefaultsChoice : TObjectPtr<UIFButton> [Blueprint] = None
  RemapStatus : TObjectPtr<UTextBlock> [Blueprint] = None
  RestoreBindingDefaults() [Blueprint node]
  CancelBindings() [Blueprint node]
  ApplyBindings(ReturnValue: bool) [Blueprint node]
class IFRemappingSubsystem : LocalPlayerSubsystem — Stages existing EnhancedInput mappings without changing gameplay until Apply. No parallel key file.
  bRejectConflictingKeys : bool [Edit, Blueprint] = True
  ReservedKeys : TArray [Edit, Blueprint] = (Escape,Enter,Gamepad_FaceButton_Bottom,Gamepad_FaceButton_Right) — Keep a way out of a menu. Configure separately from CommonUI Input Data to match your project.
  Pending : TArray
  ValidatePending(FailureReason: FText, ReturnValue: bool) [Blueprint node] — Preflight staged mappings without applying or saving them. Used by shared settings menus.
  StageRegisteredKey(MappingName: FName, Family: EIFInputPresentation, Key: FKey, FailureReason: FText, ReturnValue: bool) [Blueprint node] — Simple first-slot workflow; resolves the registered hardware identity rather than guessing it.
  StageRegisteredDefault(MappingName: FName, Family: EIFInputPresentation, FailureReason: FText, ReturnValue: bool) [Blueprint node]
  StageKeyMapping(Mapping: FMapPlayerKeyArgs, FailureReason: FText, ReturnValue: bool) [Blueprint node]
  StageDefault(Mapping: FMapPlayerKeyArgs, FailureReason: FText, ReturnValue: bool) [Blueprint node]
  IsEditing(ReturnValue: bool) [Blueprint node]
  HasPendingChanges(ReturnValue: bool) [Blueprint node]
  GetRegisteredPreviewKey(MappingName: FName, Family: EIFInputPresentation, ReturnValue: FKey) [Blueprint node] — First registered slot for this family, including staged changes. Invalid key if unavailable.
  GetRegisteredMapping(MappingName: FName, Family: EIFInputPresentation, Mapping: FMapPlayerKeyArgs, ReturnValue: bool) [Blueprint node] — Resolve the first registered slot for this family, retaining its actual hardware ID. Never guess that ID.
  GetPreviewKey(Mapping: FMapPlayerKeyArgs, ReturnValue: FKey) [Blueprint node] — Returns a staged key if present, otherwise the current engine mapping. Invalid if no mapping exists.
  Cancel() [Blueprint node]
  BeginEdit(FailureReason: FText, ReturnValue: bool) [Blueprint node]
  Apply(FailureReason: FText, ReturnValue: bool) [Blueprint node]
class IFRootLayout : CommonUserWidget — May be replaced by a Widget Blueprint that registers its own CommonUI stacks.
  DefaultDialogClass : TSubclassOf<UIFDialog> [Edit, Blueprint] = /Script/CoreUObject.Class'/Script/InterfaceForge.IFDialog' — Project-wide dialog appearance. Any IFDialog Blueprint keeps exactly-once replies and Back.
  DefaultLoadingClass : TSubclassOf<UIFLoadingScreen> [Edit, Blueprint] = None — Replace loading appearance in Blueprint. A native themed body is the fallback.
  DefaultNotificationEntryClass : TSubclassOf<UUserWidget> [Edit, Blueprint] = /Script/CoreUObject.Class'/Script/InterfaceForge.IFTooltipCard' — Any IFEntry Blueprint can replace the passive notification body.
  NotificationDock : FVector2D [Edit, Blueprint] = (X=0.500000,Y=0.150000)
  NotificationWidth : float [Edit, Blueprint] = 320.000000
  Notifications : TObjectPtr<UIFNotificationLayer> = None
  PendingScreenLoad : TObjectPtr<UIFScreenLoadAction> = None
  Layers : TMap = ()
  RemoveScreen(Screen: UIFScreen*, ReturnValue: bool) [Blueprint node] — Remove exactly this screen; preserve unrelated dialogs/history in its stack.
  RegisterNotificationLayer(Presenter: UIFNotificationLayer*, ReturnValue: bool) [Blueprint node] — Register a Designer notification presenter. The root owns its registration and cleanup. None clears it.
  RegisterLayer(Layer: EIFLayer, Stack: UCommonActivatableWidgetStack*) [Blueprint node]
  PushScreen(Layer: EIFLayer, ScreenClass: TSubclassOf<UIFScreen>, Data: UObject*, ReturnValue: UIFScreen*) [Blueprint node]
  PushDialog(Data: UIFDialogData*, ReturnValue: UIFDialog*) [Blueprint node]
  GoBack(ReturnValue: bool) [Blueprint node]
  GetTopScreen(ReturnValue: UIFScreen*) [Blueprint node]
  GetPendingScreenLoad(ReturnValue: UIFScreenLoadAction*) [Blueprint node]
  GetActiveScreen(Layer: EIFLayer, ReturnValue: UIFScreen*) [Blueprint node]
  ClearLayer(Layer: EIFLayer) [Blueprint node] — End a flow, e.g. leaving gameplay. Deactivates/removes all screens in this layer.
  ApplyTheme(Theme: UIFTheme*)
  ApplyPreferences(Preferences: FIFUIPreferences)
class IFScreen : CommonActivatableWidget
  InputPolicy : EIFInputPolicy [Edit, Blueprint] = Menu
  GameAndUIMouseCapture : EMouseCaptureMode [Edit, Blueprint] = CaptureDuringMouseDown — Mixed HUDs need temporary capture to receive world mouse presses in FSceneViewport. Cursor stays visible.
  bContainNavigation : bool [Edit, Blueprint] = True — Stop unhandled directional/Tab navigation at a menu/modal boundary. Child widgets retain their own explicit/wrap ru
  InitialFocus : TObjectPtr<UWidget> [Edit, Blueprint] = None
  InitialFocusName : FName [Edit, Blueprint] = None — Designer widget name or nested path (HUDLayout/Pause). Direct Initial Focus takes priority.
  FallbackFocusName : FName [Edit, Blueprint] = None
  Shortcuts : TArray [Edit, Blueprint] — Optional top-screen shortcuts. Uses applied engine bindings; no parallel key file or global input handler.
  bShortcutsEnabled : bool [Edit, Blueprint] = True — Disable while a custom text/chat editor owns focus, or present that editor on another screen.
  GameplayAnalogKeys : TArray [Edit, Blueprint] — Axes reserved for gameplay on this top Game And UI HUD. They bypass widget navigation. Leave empty on menus or scre
  GameplayKeyMappings : TArray [Edit, Blueprint] — Applied keyboard mappings reserved for gameplay on this top mixed HUD (movement, groups, commands). Menus/modals an
  bShowKeyboardNavigationFocus : bool [Edit, Blueprint] = True — HUD hotkeys can change keyboard glyphs without selecting a button or opening a navigation tooltip.
  BackActionName : FName [Edit, Blueprint] = None — Optional adapter action for Back (for example Pause or Resume). None uses CommonUI's default Back behavior.
  ScreenData : TObjectPtr<UObject> [Blueprint] = None
  bShowPointerCursor : bool [Edit, Blueprint] = True
  LastNavigationFocus : TObjectPtr<UWidget> = None
  UnregisterNavigationHintHost() [Blueprint node]
  RequestUIAction(ActionName: FName, Context: UObject*, ReturnValue: bool) [Blueprint node] — Ask the screen's adapter; it owns validation and execution. False also covers a missing source.
  RequestBack() [Blueprint node] — Uses the same back handler as CommonUI, including Blueprint overrides and cancel behavior.
  RegisterNavigationHintHost(Host: UContentWidget*, EntryClass: TSubclassOf<UUserWidget>, YieldToNotifications: bool, ReturnValue: bool) [Blueprint node] — Optional empty Designer container for passive keyboard/controller descriptions.
  RefreshInputPresentation() [Blueprint node]
  OnThemeUpdated(Theme: UIFTheme*)
  OnPreferencesUpdated(Preferences: FIFUIPreferences)
  OnInputPresentationUpdated(Presentation: EIFInputPresentation) — Runs for all screens, including HUD behind a modal. Focus is managed only by the top screen.
  InitializeScreen(Data: UObject*) — Called before a pooled screen is pushed/activated; reset all context-specific state here.
  HandleInputPresentation(Presentation: EIFInputPresentation, Previous: EIFInputPresentation)
  GetUIModel(ModelName: FName, ReturnValue: UObject*) [Blueprint node] — Resolve a named model from this screen's data source. Missing source/model returns None.
  GetRootLayout(ReturnValue: UIFRootLayout*) [Blueprint node] — The owning player's root. Returns None until a root is created; never crosses players.
class IFScreenLoadAction : BlueprintAsyncActionBase — Engine soft-class loading with local-player ownership. Cancel prevents late screen pushes; it does not undo unrelat
  Ready : FIFScreenLoadCompleted = ()
  Failed : FIFScreenLoadCompleted = ()
  Cancelled : FIFScreenLoadCompleted = ()
  OnLoadingUpdated : FIFScreenLoadUpdated = ()
  TargetClass : TSoftClassPtr<UIFScreen>  = None
  ScreenData : TObjectPtr<UObject> = None
  PushScreenAsync(Root: UIFRootLayout*, Layer: EIFLayer, ScreenClass: TSoftClassPtr<UIFScreen> , Data: UObject*, Title: FText, Scope: UObject*, ReturnValue: UIFScreenLoadAction*) [Blueprint node]
  GetLoadState(ReturnValue: EIFScreenLoadState) [Blueprint node]
  GetLoadProgress(ReturnValue: float) [Blueprint node]
  GetLoadingTitle(ReturnValue: FText) [Blueprint node]
  GetLoadingScreen(ReturnValue: UIFLoadingScreen*) [Blueprint node]
  GetLoadingDetail(ReturnValue: FText) [Blueprint node]
  CancelLoading() [Blueprint node]
struct IFScreenShortcut : None — A HUD command whose applied Enhanced Input key must win over widget navigation (for example Tab targeting).
  MappingName : FName [Edit, Blueprint]
  ActionName : FName [Edit, Blueprint]
class IFScrollBox : ScrollBox — Ordinary UMG scrolling with automatic local-player theme styling. Children and navigation remain UMG-owned.
  ThemeOverride : TObjectPtr<UIFTheme> [Edit, Blueprint] = None
  ThemeChanged(Theme: UIFTheme*)
  RefreshAppearance() [Blueprint node] — Reapply after changing a local override. Global Set Theme updates automatically.
  ApplyThemeToScrollBox(ScrollBox: UScrollBox*, Theme: UIFTheme*) [Blueprint node] — Apply theme colors and thickness to any standard ScrollBox. Call again after an intentional theme change.
  ApplyThemeToListView(ListView: UListView*, Theme: UIFTheme*, ReturnValue: bool) [Blueprint node] — Styles a standard List/Tile/Tree View's scrollbar without rebuilding entries. Call from Construct and On Theme Upda
class IFSelectionData : IFPresentationData — Presentation snapshot only. Your game supplies projection and selection; no actor/entity scanning.
  Markers : TArray [Edit, Blueprint]
  bMarqueeVisible : bool [Edit, Blueprint] = False
  MarqueeStart : FVector2D [Edit, Blueprint] = (X=0.000000,Y=0.000000)
  MarqueeEnd : FVector2D [Edit, Blueprint] = (X=0.000000,Y=0.000000)
struct IFSelectionMarker : None — Projected ellipse. Center and axes are normalized to the game viewport, independent of DPI/UI scale.
  Center : FVector2D [Edit, Blueprint]
  AxisX : FVector2D [Edit, Blueprint]
  AxisY : FVector2D [Edit, Blueprint]
  Color : FLinearColor [Edit, Blueprint]
  bOrderDestination : bool [Edit, Blueprint]
class IFSelectionOverlay : Widget — Passive full-viewport overlay. Add outside scaled HUD regions; never captures input or owns focus.
  ModelName : FName [Edit, Blueprint] = SelectionOverlay
  MarqueeColor : FLinearColor [Edit, Blueprint] = (R=0.260000,G=0.760000,B=0.640000,A=1.000000)
  LineThickness : float [Edit, Blueprint] = 1.500000
  SelectionData : TObjectPtr<UIFSelectionData> = None
  SetSelectionData(Data: UIFSelectionData*) [Blueprint node]
  RefreshSelection() [Blueprint node]
  RefreshScreenBinding() [Blueprint node]
class IFSettingChoiceLabel : UserWidget — Internal popup label. SObjectWidget retains this owner while Slate uses its text/style.
  LabelText : TObjectPtr<UIFText> = None
  Caption : FText
class IFSettingDefinition : DataAsset — Create this Data Asset once, then choose it on any Blueprint row. Presentation is independent.
  SettingId : FName [Edit, Blueprint] = None
  PageId : FName [Edit, Blueprint] = Interface
  Label : FText [Edit, Blueprint]
  Help : FText [Edit, Blueprint]
  Control : EIFSettingControl [Edit, Blueprint] = Slider
  Binding : EIFSettingBinding [Edit, Blueprint] = UIScale
  Minimum : float [Edit, Blueprint] = 0.750000
  Maximum : float [Edit, Blueprint] = 1.500000
  Step : float [Edit, Blueprint] = 0.010000
  DefaultValue : float [Edit, Blueprint] = 1.000000
  DisplayMultiplier : float [Edit, Blueprint] = 1.000000 — Display only: keep stored values in their native engine units.
  ValueSuffix : FText [Edit, Blueprint]
  FractionalDigits : int32 [Edit, Blueprint] = 2
  Options : TArray [Edit, Blueprint]
  bPreview : bool [Edit, Blueprint] = True
  bEnabled : bool [Edit, Blueprint] = True
  UnavailableReason : FText [Edit, Blueprint]
  ProviderClass : TSubclassOf<UIFSettingProvider> [Edit, Blueprint] = None
struct IFSettingOption : None — One option in a localized choice row. Values remain stable when labels are translated.
  Label : FText [Edit, Blueprint]
  Value : float [Edit, Blueprint]
class IFSettingProvider : Object — Project-specific settings implement this in Blueprint. The menu owns drafts, not this provider. Preview is reversib
  ValidateValue(Player: APlayerController*, SettingId: FName, Value: float, Failure: FText, ReturnValue: bool) [Blueprint node]
  RestoreValue(Player: APlayerController*, SettingId: FName, OriginalValue: float, Failure: FText, ReturnValue: bool) [Blueprint node]
  ReadValue(Player: APlayerController*, SettingId: FName, Value: float, Failure: FText, ReturnValue: bool) [Blueprint node] — Read the game's persisted value; also useful after Create Root during Blueprint startup.
  PreviewValue(Player: APlayerController*, SettingId: FName, Value: float, Failure: FText, ReturnValue: bool) [Blueprint node] — Present an existing saved value at startup, or a reversible settings preview.
  CommitValue(Player: APlayerController*, SettingId: FName, Value: float, Failure: FText, ReturnValue: bool) [Blueprint node]
class IFSettingRow : UserWidget — Build the visual in Designer. Name only the controls you need; no copied setting logic.
  Definition : TObjectPtr<UIFSettingDefinition> [Edit, Blueprint] = None
  Session : TObjectPtr<UIFSettingsSession> [Blueprint] = None
  bFollowThemeColors : bool [Edit, Blueprint] = True — Disable to retain explicitly authored Slider/Combo styles and option generation.
  LabelText : TObjectPtr<UTextBlock> [Blueprint] = None
  HelpText : TObjectPtr<UTextBlock> [Blueprint] = None
  ValueText : TObjectPtr<UTextBlock> [Blueprint] = None
  StatusText : TObjectPtr<UTextBlock> [Blueprint] = None
  ValueSlider : TObjectPtr<USlider> [Blueprint] = None
  ValueToggle : TObjectPtr<UCheckBox> [Blueprint] = None
  ValueToggleButton : TObjectPtr<UIFButton> [Blueprint] = None — Optional themed alternative to a checkbox; ordinary IFButton sizing/focus/input applies.
  ValueChoice : TObjectPtr<UComboBoxString> [Blueprint] = None
  ToggleChanged(Value: bool)
  ThemeChanged(Theme: UIFTheme*)
  SubmitSettingValue(Value: float, ReturnValue: bool) [Blueprint node] — Custom controls call this instead of touching any engine subsystem directly.
  SliderChanged(Value: float)
  SettingChanged(ChangedSettingId: FName)
  RefreshSetting() [Blueprint node]
  OnSettingSubmitted(Success: bool, Reason: FText)
  OnSettingRefreshed(Value: float, Available: bool, Reason: FText)
  InitializeSetting(EditingSession: UIFSettingsSession*) [Blueprint node]
  GenerateChoiceLabel(Item: FString, ReturnValue: UWidget*)
  ChoiceOpening()
  ChoiceChanged(Item: FString, SelectionType: TEnumAsByte<ESelectInfo::Type>)
class IFSettingsMenu : IFScreen — Designer-owned tabbed screen. Page content, tabs, rows, animation and layout are Blueprint assets.
  PageIds : TArray [Edit, Blueprint]
  AdditionalDefinitions : TArray [Edit, Blueprint]
  bIncludeInputBindings : bool [Edit, Blueprint] = True
  BindingPageId : FName [Edit, Blueprint] = Controls
  EditingSession : TObjectPtr<UIFSettingsSession> [Blueprint] = None
  ActivePage : int32 [Blueprint] = 0
  SettingsPages : TObjectPtr<UWidgetSwitcher> [Blueprint] = None
  SettingsStatus : TObjectPtr<UTextBlock> [Blueprint] = None
  ApplyChoice : TObjectPtr<UIFButton> [Blueprint] = None
  CancelChoice : TObjectPtr<UIFButton> [Blueprint] = None
  DefaultsChoice : TObjectPtr<UIFButton> [Blueprint] = None
  SessionChanged(ChangedSettingId: FName)
  SelectSettingsPage(Index: int32, ReturnValue: bool) [Blueprint node]
  RestorePageDefaults(ReturnValue: bool) [Blueprint node]
  RestoreAllDefaults(ReturnValue: bool) [Blueprint node]
  OnSettingsSessionUpdated(PendingChanges: bool, Message: FText)
  OnSettingsPageChanged(Index: int32, PageId: FName)
  CancelSettings() [Blueprint node]
  BindingChanged(Success: bool, Message: FText)
  ApplySettings(ReturnValue: bool) [Blueprint node]
class IFSettingsSave : SaveGame
  SchemaVersion : int32 = 1
  Preferences : FIFUIPreferences = (UIScale=1.000000,TextScale=1.000000,UIVolume=0.800000,GameVolume=0.800000,bReducedMotion=
class IFSettingsSession : Object — Shared draft across every tab and binding row. No widget tree is constructed by this class.
  OnSessionChanged : FIFSettingsSessionChanged = ()
  Owner : TObjectPtr<APlayerController> = None
  Definitions : TMap = ()
  Providers : TMap = ()
  SetSettingValue(SettingId: FName, Value: float, Failure: FText, ReturnValue: bool) [Blueprint node] — Rejects invalid/out-of-range values. Snaps slider steps; previews only when configured.
  RestoreDefaults(PageId: FName, Failure: FText, ReturnValue: bool) [Blueprint node] — None restores all definitions. Input bindings reset separately through Restore Binding Default.
  IsActive(ReturnValue: bool) [Blueprint node]
  HasPendingChanges(ReturnValue: bool) [Blueprint node]
  GetSettingValue(SettingId: FName, Value: float, ReturnValue: bool) [Blueprint node]
  CancelSession() [Blueprint node]
  BeginSession(Player: APlayerController*, Definitions: TArray, IncludeInputBindings: bool, Failure: FText, ReturnValue: bool) [Blueprint node] — Definitions must have unique IDs; opening another editor is rejected without disturbing it.
  ApplySession(Failure: FText, ReturnValue: bool) [Blueprint node] — Validates all drafts, then commits. Failure retains the session and reports rollback failures. Engine input persist
class IFSettingsSubsystem : GameInstanceSubsystem — Staged UI preferences with explicit preview/apply/cancel. Uses engine DPI, SoundMix and SaveGame.
  OnPreferencesChanged : FIFPreferencesChanged = ()
  AudioRouting : TObjectPtr<UIFAudioRouting> = None
  SetStorageProfile(Slot: FString, UserIndex: int32, ReturnValue: bool) [Blueprint node] — Select a different save profile before editing. Existing files are never migrated silently.
  SetScalarPreference(Preference: EIFScalarPreference, Value: float, bPreview: bool, ReturnValue: bool) [Blueprint node] — Same validation/transaction as Set Draft; leaves every other field unchanged.
  SetReducedMotion(bValue: bool, bPreview: bool, ReturnValue: bool) [Blueprint node]
  SetDraft(Preferences: FIFUIPreferences, bPreview: bool, ReturnValue: bool) [Blueprint node] — Rejects non-finite values; finite values clamp to supported bounds. Preview is reversible.
  SetAudioRouting(Routing: UIFAudioRouting*, ReturnValue: bool) [Blueprint node]
  RestoreDefaults(bPreview: bool) [Blueprint node]
  RefreshPresentation() [Blueprint node] — Reapply audio to a new world after travel.
  IsEditing(ReturnValue: bool) [Blueprint node]
  GetScalarPreference(Preference: EIFScalarPreference, ReturnValue: float) [Blueprint node] — Reads the active draft, or committed value when no session is open.
  GetReducedMotion(ReturnValue: bool) [Blueprint node]
  GetPresentedPreferences(ReturnValue: FIFUIPreferences) [Blueprint node]
  GetPreferences(ReturnValue: FIFUIPreferences) [Blueprint node]
  GetCommittedPreferences(ReturnValue: FIFUIPreferences) [Blueprint node]
  Cancel() [Blueprint node]
  BeginEdit(ReturnValue: bool) [Blueprint node] — False if another screen already owns an edit session.
  Apply(FailureReason: FText, ReturnValue: bool) [Blueprint node] — On save failure returns false and retains the draft/session. No success event is emitted.
class IFSettingsTabButton : IFButton — Place in Designer and set Page Index. Any Blueprint button style can inherit this behavior.
  PageIndex : int32 [Edit, Blueprint] = 0
  Menu : TObjectPtr<UIFSettingsMenu> [Blueprint] = None
class IFSurface : Border — A theme-aware panel. Place any Blueprint layout inside it; content is never replaced.
  ThemeOverride : TObjectPtr<UIFTheme> [Edit, Blueprint] = None
  SurfaceStyle : FName [Edit, Blueprint] = None — Named brush in the active theme's Surface Styles. None/missing retains the normal rounded surface.
  CornerRadius : float [Edit, Blueprint] = 12.000000
  OutlineWidth : float [Edit, Blueprint] = 1.000000
  ThemeChanged(Theme: UIFTheme*)
  RefreshAppearance() [Blueprint node]
class IFText : TextBlock — A normal TextBlock that follows local-player theme and text-size preferences.
  Role : EIFTextRole [Edit, Blueprint] = Body
  BaseSize : int32 [Edit, Blueprint] = 16
  ThemeOverride : TObjectPtr<UIFTheme> [Edit, Blueprint] = None
  ThemeChanged(Theme: UIFTheme*)
  RefreshAppearance() [Blueprint node]
  PreferencesChanged(Preferences: FIFUIPreferences)
class IFTheme : DataAsset — Project-wide visual tokens; override individual tokens per widget rather than copying widget trees.
  Surface : FLinearColor [Edit, Blueprint] = (R=0.025000,G=0.035000,B=0.050000,A=1.000000)
  Text : FLinearColor [Edit, Blueprint] = (R=0.900000,G=0.930000,B=0.970000,A=1.000000)
  Accent : FLinearColor [Edit, Blueprint] = (R=0.200000,G=0.800000,B=0.650000,A=1.000000)
  Danger : FLinearColor [Edit, Blueprint] = (R=0.950000,G=0.250000,B=0.220000,A=1.000000)
  MutedText : FLinearColor [Edit, Blueprint] = (R=0.440000,G=0.580000,B=0.670000,A=1.000000)
  Outline : FLinearColor [Edit, Blueprint] = (R=0.190000,G=0.290000,B=0.330000,A=1.000000)
  Icons : TMap [Edit, Blueprint] = ()
  SurfaceStyles : TMap [Edit, Blueprint] = () — Optional named surface skins (including nine-slice brushes). Widgets choose a key, not a game-specific subclass.
  ButtonStyles : TMap [Edit, Blueprint] = () — Role keys: Standard, Primary, Quiet, Destructive. A button can select any other named skin locally. Missing keys re
  DefaultSurfaceStyle : FName [Edit, Blueprint] = None — Optional style used by surfaces with no local key, including native dialog/tooltip fallbacks.
  DialogSurfaceStyle : FName [Edit, Blueprint] = None — Optional style key for built-in confirmation cards. None follows the default surface style.
  DialogHeaderSurfaceStyle : FName [Edit, Blueprint] = None — Optional header brush for native confirmation cards. None keeps a text-only heading.
  CompactKeyLabels : TMap [Edit, Blueprint] = ((Gamepad_LeftShoulder, NSLOCTEXT("InterfaceForge", "LeftShoulderShort", "LB")),(Gamepad_R — Readable fallback when CommonInput has no glyph for the applied key. Override for your platform/style.
  FocusSound : TObjectPtr<USoundBase> [Edit, Blueprint] = None
  ConfirmSound : TObjectPtr<USoundBase> [Edit, Blueprint] = None
  BodyFont : FSlateFontInfo [Edit, Blueprint] = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bS
  HeadingFont : FSlateFontInfo [Edit, Blueprint] = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bS
  Spacing : float [Edit, Blueprint] = 12.000000
  ScrollBarThickness : float [Edit, Blueprint] = 6.000000 — Slate units; viewport DPI and the player's UI scale apply once. Text enlargement does not multiply it.
  TransitionSeconds : float [Edit, Blueprint] = 0.160000
  ButtonCornerRadius : float [Edit, Blueprint] = 2.000000
  ButtonPadding : FMargin [Edit, Blueprint] = (Left=16.000000,Top=12.000000,Right=16.000000,Bottom=12.000000)
class IFTooltipAnchor : MenuAnchor — Wrap a widget in this Designer component. Opens an unfocused, window-fitted engine popup.
  TooltipEntryClass : TSubclassOf<UUserWidget> [Edit, Blueprint] = /Script/CoreUObject.Class'/Script/InterfaceForge.IFTooltipCard' — Any IFEntry Widget Blueprint. Data may be your own UObject rather than IFPresentationData.
  TooltipData : TObjectPtr<UObject> [Blueprint] = None
  PreferredWidth : float [Edit, Blueprint] = 300.000000 — Width in player UI units, before engine DPI/user scale. Also constrained by the player's root.
  bUseNavigationPlacement : bool [Edit, Blueprint] = False — Use a separate engine placement for keyboard/controller focus. Pointer and explicit touch use Placement.
  NavigationPlacement : TEnumAsByte<EMenuPlacement> [Edit, Blueprint] = MenuPlacement_CenteredAboveAnchor
  bUseNavigationHintHost : bool [Edit, Blueprint] = True — Prefer the current screen's optional navigation host for keyboard/controller focus. Pointer stays a popup.
  TooltipEntry : TObjectPtr<UUserWidget> = None
  SetTooltipData(Data: UObject*) [Blueprint node]
  RequestTooltip(UseDelay: bool, ReturnValue: bool) [Blueprint node] — Uses the UI preference delay. Pass false for an explicit touch long-press/other custom gesture.
  RefreshTooltipPlacement() [Blueprint node] — Apply changed placement options to an already open tooltip. No data/focus replacement.
  MenuChanged(Opened: bool)
  IsTooltipShown(ReturnValue: bool) [Blueprint node] — Includes hosted hints. The inherited Is Open reports only the engine popup.
  IsTooltipHosted(ReturnValue: bool) [Blueprint node]
  HideTooltip() [Blueprint node]
  GetTooltipEntry(ReturnValue: UUserWidget*) [Blueprint node]
  GetResolvedPlacement(ReturnValue: TEnumAsByte<EMenuPlacement>) [Blueprint node] — Current input family resolves the placement without changing the Designer's pointer Placement.
  CreateTooltipContent(ReturnValue: UUserWidget*)
class IFTooltipCard : IFEntryWidget — Optional default tooltip. Replace its tree or use any Widget Blueprint implementing IFEntry.
  TitleText : TObjectPtr<UIFText> = None
  DetailText : TObjectPtr<UIFText> = None
  ReasonText : TObjectPtr<UIFText> = None
class IFTooltipSubsystem : LocalPlayerSubsystem — One tooltip per local player. The root drives its bounded delay even while the game is paused.
  HostEntryClass : TSubclassOf<UUserWidget> = None
  UnregisterNavigationHintHost(Screen: UIFScreen*) [Blueprint node]
  RegisterNavigationHintHost(Screen: UIFScreen*, Host: UContentWidget*, EntryClass: TSubclassOf<UUserWidget>, YieldToNotifications: bool, ReturnValue: bool) [Blueprint node] — Empty, noninteractive Designer container owned by Screen. Rejects invalid classes/foreign or occupied hosts.
  ClearTooltips() [Blueprint node] — Close active/pending content before opening a modal, changing screens, or ending a flow.
struct IFUIPreferences : None — Display/audio preferences are shared by this game instance. Key profiles remain local-player EnhancedInput data.
  UIScale : float [Edit, Blueprint]
  TextScale : float [Edit, Blueprint]
  UIVolume : float [Edit, Blueprint]
  GameVolume : float [Edit, Blueprint]
  bReducedMotion : bool [Edit, Blueprint]
  TooltipDelay : float [Edit, Blueprint]
class IFWorldEntryLibrary : BlueprintFunctionLibrary — Use the normal entry contract on an engine Widget Component. Placement and visibility remain project-owned.
  UpdateWorldEntryLink(Link: UStaticMeshComponent*, From: FVector, To: FVector, Width: float, ReturnValue: bool) [Blueprint node] — Fit a caller-owned mesh's local X axis between world points. Width applies to its Y/Z bounds. Supply your own mesh/
  SetWorldEntry(Component: UWidgetComponent*, LocalPlayer: APlayerController*, EntryClass: TSubclassOf<UUserWidget>, Data: UObject*, ReturnValue: UUserWidget*) [Blueprint node] — Creates a local-player-owned widget and initializes IFEntry. Invalid inputs leave the existing body unchanged. Reus
  RefreshWorldEntry(Component: UWidgetComponent*) [Blueprint node] — Refresh a custom entry and request an engine redraw; useful with Manually Redraw enabled.
  GetWorldEntryWidgetPoint(Component: UWidgetComponent*, Widget: UWidget*, Alignment: FVector2D, WorldPosition: FVector, ReturnValue: bool) [Blueprint node] — Resolve an alignment point on a rendered child to world space. Supports planar World Widget Components. Alignment i
  ClearWorldEntry(Component: UWidgetComponent*) [Blueprint node] — Release the entry subscription and remove this component's body. Also clears its automatic Widget Class.
enum EForgeDemoGenre
  Gateway
  MMO
  RTS
  EForgeDemoGenre_MAX
enum EForgeOrderType
  Idle
  Move
  AttackMove
  Attack
  Hold
  EForgeOrderType_MAX
enum EForgeUnitRole
  Vanguard
  Sentinel
  EForgeUnitRole_MAX
enum EIFButtonRole
  Standard
  Primary
  Quiet
  Destructive
  EIFButtonRole_MAX
enum EIFButtonVisualState
  Normal
  Emphasized
  Pressed
  Selected
  Unavailable
  EIFButtonVisualState_MAX
enum EIFDialogResult
  Confirmed
  Cancelled
  EIFDialogResult_MAX
enum EIFInputPolicy
  Gameplay
  GameAndUI
  Menu
  EIFInputPolicy_MAX
enum EIFInputPresentation
  Pointer
  Keyboard
  Gamepad
  Touch
  EIFInputPresentation_MAX
enum EIFLayer
  HUD
  Menu
  Modal
  EIFLayer_MAX
enum EIFNotificationEndReason
  Expired
  Dismissed
  ScopeEnded
  Overflow
  InvalidEntry
  RootRemoved
  EIFNotificationEndReason_MAX
enum EIFProgressStyle
  Linear
  Radial
  SquarePerimeter
  Segmented
  Charges
  EIFProgressStyle_MAX
enum EIFScalarPreference
  UIScale
  TextScale
  UIVolume
  GameVolume
  TooltipDelay
  EIFScalarPreference_MAX
enum EIFScreenLoadState
  Loading
  Ready
  Failed
  Cancelled
  EIFScreenLoadState_MAX
enum EIFSettingBinding
  UIScale
  TextScale
  UIVolume
  GameVolume
  TooltipDelay
  ReducedMotion
  VSync
  FrameRateLimit
  ResolutionScale
  ShadowQuality
  ViewDistanceQuality
  Custom
  EIFSettingBinding_MAX
enum EIFSettingControl
  Slider
  Toggle
  Choice
  EIFSettingControl_MAX
enum EIFTextRole
  Body
  Heading
  Caption
  Accent
  Danger
  EIFTextRole_MAX

Blueprint object and graph scheme ​

These are the saved assets, their actual parent classes, variables, animations, widget trees and graph nodes. The JSON index additionally includes every pin, default value and wire endpoint. Node numbers below follow the saved graph, not runtime execution order.

ABP_IFDemoCharacter ​

text
/Game/ForgeExamples/Animation/HumanMotion22/ABP_IFDemoCharacter.ABP_IFDemoCharacter
  parent: /Script/ForgeExamples.ForgeDemoAnimInstance
  graph AnimGraph
    #1 Output Pose AnimGraph [AnimGraphNode_Root]
    #2 BS_IFLocomotion Blendspace Player [AnimGraphNode_BlendSpacePlayer]
      Pose -> #4.Source
    #3 Get GroundSpeed [K2Node_VariableGet]
      GroundSpeed -> #2.X
    #4 Slot 'ForgeAction' Group 'ForgeActions' [AnimGraphNode_Slot]
      Pose -> #1.Result
  graph EventGraph
    #1 Event BlueprintUpdateAnimation [K2Node_Event]
    #2 Try Get Pawn Owner Target is Anim Instance [K2Node_CallFunction]

BP_IFRPGCamera ​

text
/Game/ForgeExamples/UI/RPG/BP_IFRPGCamera.BP_IFRPGCamera
  parent: /Script/ForgeExamples.ForgeRPGCamera
  graph UserConstructionScript
    #1 Construction Script [K2Node_FunctionEntry]
  graph EventGraph
    #1 Event BeginPlay [K2Node_Event]
    #2 Event ActorBeginOverlap [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGAbility ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGAbility.WBP_IFRPGAbility
  parent: /Script/InterfaceForge.IFReadoutEntry
  SizeBox_0 : SizeBox
    CanvasPanel_0 : CanvasPanel
      EntryCommand : IFCommandButton
      IconImage : Image
      CooldownTint : IFCenterTint
      DetailText : IFText
      Border_0 : Border
        ScaleBox_0 : ScaleBox
          ActionPrompt : IFActionPrompt
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGAbilityBook ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGAbilityBook.WBP_IFRPGAbilityBook
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        BookFrame : IFSurface
          VerticalBox_0 : VerticalBox
            WindowHeader : IFSurface
              HorizontalBox_0 : HorizontalBox
                Heading : IFText — COMBAT ARTS
                SizeBox_1 : SizeBox
                  Close : IFCommandButton
            ScrollBox_0 : ScrollBox
              VerticalBox_1 : VerticalBox
                HorizontalBox_1 : HorizontalBox
                  ArtCard0 : IFSurface
                    VerticalBox_2 : VerticalBox
                      HorizontalBox_2 : HorizontalBox
                        ArtIcon0 : WBP_IFRPGAbility_C
                        ArtCopy0 : WBP_IFRPGAbilityCopy_C
                      SizeBox_2 : SizeBox
                      Use0 : IFCommandButton
                  ArtCard1 : IFSurface
                    VerticalBox_3 : VerticalBox
                      HorizontalBox_3 : HorizontalBox
                        ArtIcon1 : WBP_IFRPGAbility_C
                        ArtCopy1 : WBP_IFRPGAbilityCopy_C
                      SizeBox_3 : SizeBox
                      Use1 : IFCommandButton
                HorizontalBox_4 : HorizontalBox
                  ArtCard2 : IFSurface
                    VerticalBox_4 : VerticalBox
                      HorizontalBox_5 : HorizontalBox
                        ArtIcon2 : WBP_IFRPGAbility_C
                        ArtCopy2 : WBP_IFRPGAbilityCopy_C
                      SizeBox_4 : SizeBox
                      Use2 : IFCommandButton
                  ArtCard3 : IFSurface
                    VerticalBox_5 : VerticalBox
                      HorizontalBox_6 : HorizontalBox
                        ArtIcon3 : WBP_IFRPGAbility_C
                        ArtCopy3 : WBP_IFRPGAbilityCopy_C
                      SizeBox_5 : SizeBox
                      Use3 : IFCommandButton
                HorizontalBox_7 : HorizontalBox
                  ArtCard4 : IFSurface
                    VerticalBox_6 : VerticalBox
                      HorizontalBox_8 : HorizontalBox
                        ArtIcon4 : WBP_IFRPGAbility_C
                        ArtCopy4 : WBP_IFRPGAbilityCopy_C
                      SizeBox_6 : SizeBox
                      Use4 : IFCommandButton
                  ArtCard5 : IFSurface
                    VerticalBox_7 : VerticalBox
                      HorizontalBox_9 : HorizontalBox
                        ArtIcon5 : WBP_IFRPGAbility_C
                        ArtCopy5 : WBP_IFRPGAbilityCopy_C
                      SizeBox_7 : SizeBox
                      Use5 : IFCommandButton
            HorizontalBox_10 : HorizontalBox
              SizeBox_8 : SizeBox
              Return : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGAbilityCopy ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGAbilityCopy.WBP_IFRPGAbilityCopy
  parent: /Script/InterfaceForge.IFReadoutEntry
  VerticalBox_0 : VerticalBox
    TitleText : IFText
    DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGCast ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGCast.WBP_IFRPGCast
  parent: /Script/InterfaceForge.IFReadoutEntry
  Overlay_0 : Overlay
    Inset : IFSurface
    VerticalBox_0 : VerticalBox
      TitleText : IFText
      FractionBar : IFProgressWidget
      DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGHUD ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGHUD.WBP_IFRPGHUD
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    SelectionOverlay : IFSelectionOverlay
    HUDLayout : WBP_IFRPGLayout_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGJournal ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGJournal.WBP_IFRPGJournal
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        JournalFrame : IFSurface
          VerticalBox_0 : VerticalBox
            WindowHeader : IFSurface
              HorizontalBox_0 : HorizontalBox
                Heading : IFText — CHRONICLE
                SizeBox_1 : SizeBox
                  Close : IFCommandButton
            HorizontalBox_1 : HorizontalBox
              SizeBox_2 : SizeBox
                VerticalBox_1 : VerticalBox
                  Chapter : IFText — CHAPTER I
                  QuestName : IFText — Echoes of the Citadel
                  Location : IFText — The Fallen Citadel Eastern road
                  SizeBox_3 : SizeBox
                    Image_0 : Image
              ScrollBox_0 : ScrollBox
                VerticalBox_2 : VerticalBox
                  QuestStory : WBP_IFRPGStory_C
                  ObjectiveHeading : IFText — CURRENT OBJECTIVE
                  Objective : WBP_IFRPGObjective_C
                  OutcomeHeading : IFText — THE ROAD AHEAD
                  Outcome : IFText — Drive the raiders from the courtyard and restore the company's passage through t
            HorizontalBox_2 : HorizontalBox
              Track : IFCommandButton
              SizeBox_4 : SizeBox
              Return : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGLayout ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGLayout.WBP_IFRPGLayout
  parent: /Script/InterfaceForge.IFHUDLayout
  CanvasPanel_0 : CanvasPanel
    Player : WBP_IFRPGVital_C
    Target : WBP_IFRPGTarget_C
    Actions : IFSurface
      HorizontalBox_0 : HorizontalBox
        AbilityEntry0 : WBP_IFRPGAbility_C
        AbilityEntry1 : WBP_IFRPGAbility_C
        AbilityEntry2 : WBP_IFRPGAbility_C
        AbilityEntry3 : WBP_IFRPGAbility_C
        AbilityEntry4 : WBP_IFRPGAbility_C
        AbilityEntry5 : WBP_IFRPGAbility_C
    Cast : WBP_IFRPGCast_C
    Party : VerticalBox
      CompanyHeading : IFText — CITADEL COMPANY
      Party1 : WBP_IFRPGParty_C
      Party2 : WBP_IFRPGParty_C
    Status : WBP_IFRPGObjective_C
    Objective : WBP_IFRPGObjective_C
    Minimap : IFSurface
      VerticalBox_0 : VerticalBox
        MapTitle : IFText — THE FALLEN CITADEL
        MapView : IFMapView
    Journal : IFCommandButton
    Pause : IFCommandButton
    AbilityBook : IFCommandButton
    Defeat : WBP_IFDefeatPanel_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGLoad ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGLoad.WBP_IFRPGLoad
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        LoadFrame : IFSurface
          VerticalBox_0 : VerticalBox
            WindowHeader : IFSurface
              HorizontalBox_0 : HorizontalBox
                Heading : IFText — LOAD CHRONICLE
                SizeBox_1 : SizeBox
                  HeaderClose : IFCommandButton
            SaveInfo : WBP_IFReadout_C
            SizeBox_2 : SizeBox
            HorizontalBox_1 : HorizontalBox
              Choice1 : IFCommandButton
              SizeBox_3 : SizeBox
              Choice0 : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGMain ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGMain.WBP_IFRPGMain
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        MenuFrame : IFSurface
          VerticalBox_0 : VerticalBox
            Overline : IFText — ASHENFORGE / CHRONICLE I
            Heading : IFText — EMBERFALL
            Subtitle : IFText — Echoes of the fallen citadel
            SizeBox_1 : SizeBox
              Rule : Image
            SizeBox_2 : SizeBox
              Choice0 : IFCommandButton
            SizeBox_3 : SizeBox
              Choice1 : IFCommandButton
            SizeBox_4 : SizeBox
              Choice2 : IFCommandButton
            SizeBox_5 : SizeBox
              Choice3 : IFCommandButton
            SizeBox_6 : SizeBox
              Choice4 : IFCommandButton
            SizeBox_7 : SizeBox
              Choice5 : IFCommandButton
            SizeBox_8 : SizeBox
            Footer : IFText — THE EASTERN ROAD CALLS
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event InitializeScreen [K2Node_Event]
      then -> #5.execute, Data -> #5.Data
    #5 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #7.execute
    #6 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #7.Object
    #7 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #8.self
    #8 Get bEnabled [K2Node_VariableGet]
      bEnabled -> #9.Condition
    #9 Branch [K2Node_IfThenElse]
      then -> #15.execute, else -> #11.execute
    #10 Get Choice0 [K2Node_VariableGet]
      Choice0 -> #11.self
    #11 Set Button Role Target is IFButton [K2Node_CallFunction]
      then -> #13.execute
    #12 Get Choice1 [K2Node_VariableGet]
      Choice1 -> #13.self
    #13 Set Button Role Target is IFButton [K2Node_CallFunction]
    #14 Get Choice0 [K2Node_VariableGet]
      Choice0 -> #15.self
    #15 Set Button Role Target is IFButton [K2Node_CallFunction]
      then -> #17.execute
    #16 Get Choice1 [K2Node_VariableGet]
      Choice1 -> #17.self
    #17 Set Button Role Target is IFButton [K2Node_CallFunction]

WBP_IFRPGObjective ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGObjective.WBP_IFRPGObjective
  parent: /Script/InterfaceForge.IFReadoutEntry
  Overlay_0 : Overlay
    Shade : Image
    VerticalBox_0 : VerticalBox
      TitleText : IFText
      FractionBar : IFProgressWidget
      DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGParty ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGParty.WBP_IFRPGParty
  parent: /Script/InterfaceForge.IFReadoutEntry
  Overlay_0 : Overlay
    Shade : Image
    EntryCommand : IFCommandButton
    HorizontalBox_0 : HorizontalBox
      SizeBox_0 : SizeBox
        PortraitFrame : IFSurface
          IconImage : Image
      VerticalBox_0 : VerticalBox
        TitleText : IFText
        FractionBar : IFProgressWidget
        DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGPause ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGPause.WBP_IFRPGPause
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        MenuFrame : IFSurface
          VerticalBox_0 : VerticalBox
            Overline : IFText — EMBERFALL / CITADEL COMPANY
            Heading : IFText — Journey paused
            Subtitle : IFText — Your company awaits.
            SizeBox_1 : SizeBox
              Rule : Image
            SizeBox_2 : SizeBox
              Choice0 : IFCommandButton
            SizeBox_3 : SizeBox
              Choice1 : IFCommandButton
            SizeBox_4 : SizeBox
              Choice2 : IFCommandButton
            SizeBox_5 : SizeBox
              Choice3 : IFCommandButton
            SizeBox_6 : SizeBox
              Choice4 : IFCommandButton
            SizeBox_7 : SizeBox
              Choice5 : IFCommandButton
            SizeBox_8 : SizeBox
            Footer : IFText — EMBERFALL
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGSettingRow ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGSettingRow.WBP_IFRPGSettingRow
  parent: /Script/InterfaceForge.IFSettingRow
  SettingFrame : IFSurface
    VerticalBox_0 : VerticalBox
      HorizontalBox_0 : HorizontalBox
        VerticalBox_1 : VerticalBox
          LabelText : IFText
          HelpText : IFText
        VerticalBox_2 : VerticalBox
          ValueText : IFText
          ValueSlider : Slider
          ValueToggleButton : IFButton
          ValueChoice : ComboBoxString
      StatusText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGSettings ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGSettings.WBP_IFRPGSettings
  parent: /Script/InterfaceForge.IFSettingsMenu
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            WindowHeader : IFSurface
              HorizontalBox_2 : HorizontalBox
                Title : IFText — SETTINGS
                SizeBox_1 : SizeBox
                  HeaderClose : IFCommandButton
            HorizontalBox_0 : HorizontalBox
              Tab0 : IFSettingsTabButton
              Tab1 : IFSettingsTabButton
              Tab2 : IFSettingsTabButton
              Tab3 : IFSettingsTabButton
            SettingsPages : WidgetSwitcher
              ScrollBox_0 : ScrollBox
                VerticalBox_1 : VerticalBox
                  Setting_UIScale : WBP_IFRPGSettingRow_C
                  Setting_TextScale : WBP_IFRPGSettingRow_C
                  Setting_ReducedMotion : WBP_IFRPGSettingRow_C
                  Setting_TooltipDelay : WBP_IFRPGSettingRow_C
                  Setting_InterfaceOpacity : WBP_IFRPGSettingRow_C
              ScrollBox_1 : ScrollBox
                VerticalBox_2 : VerticalBox
                  Setting_UIVolume : WBP_IFRPGSettingRow_C
                  Setting_GameVolume : WBP_IFRPGSettingRow_C
              ScrollBox_2 : ScrollBox
                VerticalBox_3 : VerticalBox
                  Family0 : IFText — KEYBOARD
                  Binding0_0 : WBP_IFBindingEntry_C
                  Binding0_1 : WBP_IFBindingEntry_C
                  Binding0_2 : WBP_IFBindingEntry_C
                  Binding0_3 : WBP_IFBindingEntry_C
                  Binding0_4 : WBP_IFBindingEntry_C
                  Binding0_5 : WBP_IFBindingEntry_C
                  Binding0_6 : WBP_IFBindingEntry_C
                  Binding0_7 : WBP_IFBindingEntry_C
                  Binding0_8 : WBP_IFBindingEntry_C
                  Binding0_9 : WBP_IFBindingEntry_C
                  Binding0_10 : WBP_IFBindingEntry_C
                  Family1 : IFText — CONTROLLER
                  Binding1_0 : WBP_IFBindingEntry_C
                  Binding1_1 : WBP_IFBindingEntry_C
                  Binding1_2 : WBP_IFBindingEntry_C
                  Binding1_3 : WBP_IFBindingEntry_C
                  Binding1_4 : WBP_IFBindingEntry_C
                  Binding1_5 : WBP_IFBindingEntry_C
                  Binding1_6 : WBP_IFBindingEntry_C
              ScrollBox_3 : ScrollBox
                VerticalBox_4 : VerticalBox
                  Setting_VSync : WBP_IFRPGSettingRow_C
                  Setting_FrameRateLimit : WBP_IFRPGSettingRow_C
                  Setting_ShadowQuality : WBP_IFRPGSettingRow_C
            SettingsStatus : IFText
            HorizontalBox_1 : HorizontalBox
              ApplyChoice : IFButton
              CancelChoice : IFButton
              DefaultsWidth : SizeBox
                DefaultsChoice : IFButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGStory ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGStory.WBP_IFRPGStory
  parent: /Script/InterfaceForge.IFReadoutEntry
  VerticalBox_0 : VerticalBox
    TitleText : IFText
    DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGTarget ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGTarget.WBP_IFRPGTarget
  parent: /Script/InterfaceForge.IFReadoutEntry
  HorizontalBox_0 : HorizontalBox
    SizeBox_0 : SizeBox
      PortraitFrame : IFSurface
        IconImage : Image
    VerticalBox_0 : VerticalBox
      TitleText : IFText
      Overlay_0 : Overlay
        TargetTrack : IFSurface
        FractionBar : IFProgressWidget
      DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRPGVital ​

text
/Game/ForgeExamples/UI/RPG/WBP_IFRPGVital.WBP_IFRPGVital
  parent: /Script/InterfaceForge.IFReadoutEntry
  Overlay_0 : Overlay
    Inset : IFSurface
    HorizontalBox_0 : HorizontalBox
      SizeBox_0 : SizeBox
        PortraitFrame : IFSurface
          IconImage : Image
      VerticalBox_0 : VerticalBox
        TitleText : IFText
        FractionBar : IFProgressWidget
        DetailText : IFText
        SecondaryEntry : WBP_IFResourceRow_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

BP_IFDisplayPrefs ​

text
/Game/ForgeExamples/UI/Settings/BP_IFDisplayPrefs.BP_IFDisplayPrefs
  parent: /Script/Engine.SaveGame
  variable Opacity : real
  graph EventGraph

BP_IFOpacityProvider ​

text
/Game/ForgeExamples/UI/Settings/BP_IFOpacityProvider.BP_IFOpacityProvider
  parent: /Script/InterfaceForge.IFSettingProvider
  variable CommittedInSession : bool
  graph ReadValue
    #1 ReadValue [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Does Save Game Exist [K2Node_CallFunction]
      then -> #4.execute, ReturnValue -> #4.Condition
    #4 Branch [K2Node_IfThenElse]
      then -> #5.execute, else -> #8.execute
    #5 Load Game from Slot [K2Node_CallFunction]
      then -> #6.execute, ReturnValue -> #6.Object
    #6 Cast To BP_IFDisplayPrefs [K2Node_DynamicCast]
      then -> #2.execute, CastFailed -> #9.execute, AsBP IFDisplay Prefs -> #7.self
    #7 Get Opacity [K2Node_VariableGet]
      Opacity -> #2.Value
    #8 Return Node [K2Node_FunctionResult]
    #9 Return Node [K2Node_FunctionResult]
  graph PreviewValue
    #1 PreviewValue [K2Node_FunctionEntry]
      then -> #6.execute, Player -> #3.PlayerController, Value -> #7.InOpacity
    #2 Return Node [K2Node_FunctionResult]
    #3 IFLocal Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #4.self
    #4 Get Root Target is IFLocal Player Subsystem [K2Node_CallFunction]
      ReturnValue -> #5.Object, ReturnValue -> #7.self
    #5 Is Valid [K2Node_CallFunction]
      ReturnValue -> #6.Condition
    #6 Branch [K2Node_IfThenElse]
      then -> #7.execute, else -> #8.execute
    #7 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #2.execute
    #8 Return Node [K2Node_FunctionResult]
  graph CommitValue
    #1 CommitValue [K2Node_FunctionEntry]
      then -> #6.execute, Player -> #3.PlayerController, Value -> #7.InOpacity, Value -> #11.Opacity
    #2 Return Node [K2Node_FunctionResult]
    #3 IFLocal Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #4.self
    #4 Get Root Target is IFLocal Player Subsystem [K2Node_CallFunction]
      ReturnValue -> #5.Object, ReturnValue -> #7.self
    #5 Is Valid [K2Node_CallFunction]
      ReturnValue -> #6.Condition
    #6 Branch [K2Node_IfThenElse]
      then -> #7.execute, else -> #8.execute
    #7 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #9.execute
    #8 Return Node [K2Node_FunctionResult]
    #9 Set CommittedInSession [K2Node_VariableSet]
      then -> #10.execute
    #10 Create Save Game Object [K2Node_CallFunction]
      then -> #11.execute, ReturnValue -> #11.self, ReturnValue -> #12.SaveGameObject
    #11 Set Opacity [K2Node_VariableSet]
      then -> #12.execute
    #12 Save Game to Slot [K2Node_CallFunction]
      then -> #13.execute, ReturnValue -> #13.Condition
    #13 Branch [K2Node_IfThenElse]
      then -> #2.execute, else -> #14.execute
    #14 Return Node [K2Node_FunctionResult]
  graph RestoreValue
    #1 RestoreValue [K2Node_FunctionEntry]
      then -> #6.execute, Player -> #3.PlayerController, OriginalValue -> #7.InOpacity, OriginalValue -> #13.Opacity
    #2 Return Node [K2Node_FunctionResult]
    #3 IFLocal Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #4.self
    #4 Get Root Target is IFLocal Player Subsystem [K2Node_CallFunction]
      ReturnValue -> #5.Object, ReturnValue -> #7.self
    #5 Is Valid [K2Node_CallFunction]
      ReturnValue -> #6.Condition
    #6 Branch [K2Node_IfThenElse]
      then -> #7.execute, else -> #8.execute
    #7 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #10.execute
    #8 Return Node [K2Node_FunctionResult]
    #9 Get CommittedInSession [K2Node_VariableGet]
      CommittedInSession -> #10.Condition
    #10 Branch [K2Node_IfThenElse]
      then -> #11.execute, else -> #2.execute
    #11 Set CommittedInSession [K2Node_VariableSet]
      then -> #12.execute
    #12 Create Save Game Object [K2Node_CallFunction]
      then -> #13.execute, ReturnValue -> #13.self, ReturnValue -> #14.SaveGameObject
    #13 Set Opacity [K2Node_VariableSet]
      then -> #14.execute
    #14 Save Game to Slot [K2Node_CallFunction]
      then -> #15.execute, ReturnValue -> #15.Condition
    #15 Branch [K2Node_IfThenElse]
      then -> #17.execute, else -> #16.execute
    #16 Return Node [K2Node_FunctionResult]
    #17 Set CommittedInSession [K2Node_VariableSet]
      then -> #2.execute
  graph EventGraph

WBP_IFArmySettings ​

text
/Game/ForgeExamples/UI/Settings/WBP_IFArmySettings.WBP_IFArmySettings
  parent: /Script/InterfaceForge.IFSettingsMenu
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            WindowHeader : IFSurface
              HorizontalBox_2 : HorizontalBox
                Title : IFText — SETTINGS
                SizeBox_1 : SizeBox
                  HeaderClose : IFCommandButton
            HorizontalBox_0 : HorizontalBox
              Tab0 : IFSettingsTabButton
              Tab1 : IFSettingsTabButton
              Tab2 : IFSettingsTabButton
              Tab3 : IFSettingsTabButton
            SettingsPages : WidgetSwitcher
              ScrollBox_0 : ScrollBox
                VerticalBox_1 : VerticalBox
                  Setting_UIScale : WBP_IFRPGSettingRow_C
                  Setting_TextScale : WBP_IFRPGSettingRow_C
                  Setting_ReducedMotion : WBP_IFRPGSettingRow_C
                  Setting_TooltipDelay : WBP_IFRPGSettingRow_C
                  Setting_InterfaceOpacity : WBP_IFRPGSettingRow_C
              ScrollBox_1 : ScrollBox
                VerticalBox_2 : VerticalBox
                  Setting_UIVolume : WBP_IFRPGSettingRow_C
                  Setting_GameVolume : WBP_IFRPGSettingRow_C
              ScrollBox_2 : ScrollBox
                VerticalBox_3 : VerticalBox
                  Family0 : IFText — KEYBOARD
                  Binding0_0 : WBP_IFBindingEntry_C
                  Binding0_1 : WBP_IFBindingEntry_C
                  Binding0_2 : WBP_IFBindingEntry_C
                  Binding0_3 : WBP_IFBindingEntry_C
                  Binding0_4 : WBP_IFBindingEntry_C
                  Binding0_5 : WBP_IFBindingEntry_C
                  Binding0_6 : WBP_IFBindingEntry_C
                  Binding0_7 : WBP_IFBindingEntry_C
                  Binding0_8 : WBP_IFBindingEntry_C
                  Binding0_9 : WBP_IFBindingEntry_C
                  Binding0_10 : WBP_IFBindingEntry_C
                  Family1 : IFText — CONTROLLER
                  Binding1_0 : WBP_IFBindingEntry_C
                  Binding1_1 : WBP_IFBindingEntry_C
                  Binding1_2 : WBP_IFBindingEntry_C
                  Binding1_3 : WBP_IFBindingEntry_C
                  Binding1_4 : WBP_IFBindingEntry_C
                  Binding1_5 : WBP_IFBindingEntry_C
                  Binding1_6 : WBP_IFBindingEntry_C
              ScrollBox_3 : ScrollBox
                VerticalBox_4 : VerticalBox
                  Setting_VSync : WBP_IFRPGSettingRow_C
                  Setting_FrameRateLimit : WBP_IFRPGSettingRow_C
                  Setting_ShadowQuality : WBP_IFRPGSettingRow_C
            SettingsStatus : IFText
            HorizontalBox_1 : HorizontalBox
              ApplyChoice : IFButton
              CancelChoice : IFButton
              DefaultsWidth : SizeBox
                DefaultsChoice : IFButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFSettingRow ​

text
/Game/ForgeExamples/UI/Settings/WBP_IFSettingRow.WBP_IFSettingRow
  parent: /Script/InterfaceForge.IFSettingRow
  IFSurface_0 : IFSurface
    VerticalBox_0 : VerticalBox
      HorizontalBox_0 : HorizontalBox
        LabelText : IFText — Setting
        ValueText : IFText
        ValueToggleButton : IFButton
      HelpText : IFText
      ValueSlider : Slider
      ValueToggle : CheckBox
      ValueChoice : ComboBoxString
      StatusText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFSettingRowCompact ​

text
/Game/ForgeExamples/UI/Settings/WBP_IFSettingRowCompact.WBP_IFSettingRowCompact
  parent: /Script/InterfaceForge.IFSettingRow
  IFSurface_0 : IFSurface
    VerticalBox_0 : VerticalBox
      HorizontalBox_0 : HorizontalBox
        LabelText : IFText — Setting
        ValueText : IFText
        ValueToggleButton : IFButton
      HelpText : IFText
      ValueSlider : Slider
      ValueToggle : CheckBox
      ValueChoice : ComboBoxString
      StatusText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFSettingsMenu ​

text
/Game/ForgeExamples/UI/Settings/WBP_IFSettingsMenu.WBP_IFSettingsMenu
  parent: /Script/InterfaceForge.IFSettingsMenu
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            Title : IFText — SETTINGS
            HorizontalBox_0 : HorizontalBox
              Tab0 : IFSettingsTabButton
              Tab1 : IFSettingsTabButton
              Tab2 : IFSettingsTabButton
              Tab3 : IFSettingsTabButton
            SettingsPages : WidgetSwitcher
              ScrollBox_0 : ScrollBox
                VerticalBox_1 : VerticalBox
                  Setting_UIScale : WBP_IFSettingRow_C
                  Setting_TextScale : WBP_IFSettingRow_C
                  Setting_ReducedMotion : WBP_IFSettingRow_C
                  Setting_TooltipDelay : WBP_IFSettingRow_C
                  Setting_InterfaceOpacity : WBP_IFSettingRowCompact_C
              ScrollBox_1 : ScrollBox
                VerticalBox_2 : VerticalBox
                  Setting_UIVolume : WBP_IFSettingRow_C
                  Setting_GameVolume : WBP_IFSettingRow_C
              ScrollBox_2 : ScrollBox
                VerticalBox_3 : VerticalBox
                  Family0 : IFText — KEYBOARD
                  Binding0_0 : WBP_IFBindingEntry_C
                  Binding0_1 : WBP_IFBindingEntry_C
                  Binding0_2 : WBP_IFBindingEntry_C
                  Binding0_3 : WBP_IFBindingEntry_C
                  Binding0_4 : WBP_IFBindingEntry_C
                  Binding0_5 : WBP_IFBindingEntry_C
                  Binding0_6 : WBP_IFBindingEntry_C
                  Binding0_7 : WBP_IFBindingEntry_C
                  Binding0_8 : WBP_IFBindingEntry_C
                  Binding0_9 : WBP_IFBindingEntry_C
                  Binding0_10 : WBP_IFBindingEntry_C
                  Family1 : IFText — CONTROLLER
                  Binding1_0 : WBP_IFBindingEntry_C
                  Binding1_1 : WBP_IFBindingEntry_C
                  Binding1_2 : WBP_IFBindingEntry_C
                  Binding1_3 : WBP_IFBindingEntry_C
                  Binding1_4 : WBP_IFBindingEntry_C
                  Binding1_5 : WBP_IFBindingEntry_C
                  Binding1_6 : WBP_IFBindingEntry_C
              ScrollBox_3 : ScrollBox
                VerticalBox_4 : VerticalBox
                  Setting_VSync : WBP_IFSettingRow_C
                  Setting_FrameRateLimit : WBP_IFSettingRow_C
                  Setting_ShadowQuality : WBP_IFSettingRow_C
            SettingsStatus : IFText
            HorizontalBox_1 : HorizontalBox
              ApplyChoice : IFButton
              CancelChoice : IFButton
              DefaultsWidth : SizeBox
                DefaultsChoice : IFButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFAbilityButton ​

text
/Game/ForgeExamples/UI/WBP_IFAbilityButton.WBP_IFAbilityButton
  parent: /Script/InterfaceForge.IFCommandButton
  TooltipAnchor : IFTooltipAnchor
    FocusBorder : IFSurface
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFAbilityEntry ​

text
/Game/ForgeExamples/UI/WBP_IFAbilityEntry.WBP_IFAbilityEntry
  parent: /Script/InterfaceForge.IFReadoutEntry
  SizeBox_0 : SizeBox
    VerticalBox_1 : VerticalBox
      SizeBox_2 : SizeBox
        CanvasPanel_0 : CanvasPanel
          IconImage : Image
          CooldownTint : IFCenterTint
          DetailText : IFText
          ActionPrompt : IFActionPrompt
          EntryCommand : WBP_IFAbilityButton_C
      TitleText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFArmyRoster ​

text
/Game/ForgeExamples/UI/WBP_IFArmyRoster.WBP_IFArmyRoster
  parent: /Script/InterfaceForge.IFReadoutEntry
  Frame : IFSurface
    VerticalBox_0 : VerticalBox
      Groups : HorizontalBox
        SizeBox_0 : SizeBox
          Group1 : WBP_IFGroupEntry_C
        SizeBox_1 : SizeBox
          Group2 : WBP_IFGroupEntry_C
        SizeBox_2 : SizeBox
          Group3 : WBP_IFGroupEntry_C
        SizeBox_3 : SizeBox
          Group4 : WBP_IFGroupEntry_C
        SizeBox_4 : SizeBox
          Group5 : WBP_IFGroupEntry_C
      Summary : WBP_IFPartyFrame_C
      RosterGridBounds : SizeBox
        ItemList : TileView
  graph EventGraph
    #1 Event OnEntryRefreshed [K2Node_Event]
      then -> #3.execute
    #2 Get EntryData [K2Node_VariableGet]
      EntryData -> #3.Object
    #3 Cast To IFCollectionData [K2Node_DynamicCast]
      then -> #11.execute, AsIFCollection Data -> #4.self
    #4 Get Items [K2Node_VariableGet]
      Items -> #5.TargetArray
    #5 Length [K2Node_CallArrayFunction]
      ReturnValue -> #6.A
    #6 int + int [K2Node_CallFunction]
      ReturnValue -> #7.A
    #7 int / int [K2Node_CallFunction]
      ReturnValue -> #8.Value
    #8 Clamp (Integer) [K2Node_CallFunction]
      ReturnValue -> #9.A
    #9 int * int [K2Node_CallFunction]
      ReturnValue -> #12.InInt
    #10 Get RosterGridBounds [K2Node_VariableGet]
      RosterGridBounds -> #11.self
    #11 Set Height Override Target is Size Box [K2Node_CallFunction]
    #12 To Float (Integer) [K2Node_CallFunction]
      ReturnValue -> #11.InHeightOverride

WBP_IFArmyTile ​

text
/Game/ForgeExamples/UI/WBP_IFArmyTile.WBP_IFArmyTile
  parent: /Script/InterfaceForge.IFReadoutEntry
  CanvasPanel_0 : CanvasPanel
    EntryCommand : IFCommandButton
    IconImage : Image
    FractionBar : IFProgressWidget
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFBindingEntry ​

text
/Game/ForgeExamples/UI/WBP_IFBindingEntry.WBP_IFBindingEntry
  parent: /Script/InterfaceForge.IFBindingEntry
  VerticalBox_0 : VerticalBox
    HorizontalBox_0 : HorizontalBox
      LabelText : IFText
      SizeBox_0 : SizeBox
        Overlay_0 : Overlay
          KeySelector : IFKeySelector
          KeyGlyphImage : Image
          KeyLabelText : IFText
    StatusText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFControls ​

text
/Game/ForgeExamples/UI/WBP_IFControls.WBP_IFControls
  parent: /Script/InterfaceForge.IFRemappingScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            Title : IFText — CONTROLS
            ScrollBox_0 : ScrollBox
              HorizontalBox_0 : HorizontalBox
                VerticalBox_1 : VerticalBox
                  Family0 : IFText — KEYBOARD
                  Binding0_0 : WBP_IFBindingEntry_C
                  Binding0_1 : WBP_IFBindingEntry_C
                  Binding0_2 : WBP_IFBindingEntry_C
                  Binding0_3 : WBP_IFBindingEntry_C
                  Binding0_4 : WBP_IFBindingEntry_C
                  Binding0_5 : WBP_IFBindingEntry_C
                  Binding0_6 : WBP_IFBindingEntry_C
                  Binding0_7 : WBP_IFBindingEntry_C
                  Binding0_8 : WBP_IFBindingEntry_C
                  Binding0_9 : WBP_IFBindingEntry_C
                  Binding0_10 : WBP_IFBindingEntry_C
                VerticalBox_2 : VerticalBox
                  Family1 : IFText — CONTROLLER
                  Binding1_0 : WBP_IFBindingEntry_C
                  Binding1_1 : WBP_IFBindingEntry_C
                  Binding1_2 : WBP_IFBindingEntry_C
                  Binding1_3 : WBP_IFBindingEntry_C
                  Binding1_4 : WBP_IFBindingEntry_C
                  Binding1_5 : WBP_IFBindingEntry_C
                  Binding1_6 : WBP_IFBindingEntry_C
                  MovementHint : IFText — Left stick moves the character or pans the strategy camera.
            RemapStatus : IFText
            HorizontalBox_1 : HorizontalBox
              ApplyChoice : IFButton
              CancelChoice : IFButton
              DefaultsChoice : IFButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFDefeatPanel ​

text
/Game/ForgeExamples/UI/WBP_IFDefeatPanel.WBP_IFDefeatPanel
  parent: /Script/InterfaceForge.IFReadoutEntry
  IFSurface_0 : IFSurface
    VerticalBox_0 : VerticalBox
      TitleText : IFText
      DetailText : IFText
      EntryCommand : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFGateway ​

text
/Game/ForgeExamples/UI/WBP_IFGateway.WBP_IFGateway
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Brand : IFText — ASHENFORGE
    Title : IFText — UIFORGE
    Subtitle : IFText — Choose your world
    IFSurface_0 : IFSurface
      VerticalBox_0 : VerticalBox
        Genre0 : IFText — MMO ADVENTURE
        World0 : IFText — EMBERFALL
        Story0 : IFText — Take up the watch. Reclaim the fallen citadel.
        SizeBox_0 : SizeBox
          Play0 : IFCommandButton
    IFSurface_1 : IFSurface
      VerticalBox_1 : VerticalBox
        Genre1 : IFText — REAL-TIME STRATEGY
        World1 : IFText — IRONFRONT
        Story1 : IFText — Command the company. Hold the eastern gate.
        SizeBox_1 : SizeBox
          Play1 : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFGroupEntry ​

text
/Game/ForgeExamples/UI/WBP_IFGroupEntry.WBP_IFGroupEntry
  parent: /Script/InterfaceForge.IFReadoutEntry
  CanvasPanel_0 : CanvasPanel
    EntryCommand : IFCommandButton
    TitleText : IFText
    DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFJournal ​

text
/Game/ForgeExamples/UI/WBP_IFJournal.WBP_IFJournal
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            Heading : IFText — FIELD JOURNAL
            Record : WBP_IFJournalEntry_C
            Return : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFJournalEntry ​

text
/Game/ForgeExamples/UI/WBP_IFJournalEntry.WBP_IFJournalEntry
  parent: /Script/InterfaceForge.IFReadoutEntry
  VerticalBox_0 : VerticalBox
    TitleText : IFText
    DetailText : IFText
    FractionBar : IFProgressWidget
    HorizontalBox_0 : HorizontalBox
      ValueText : IFText
      Capacity : IFText — / 4
    EntryCommand : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFLoad ​

text
/Game/ForgeExamples/UI/WBP_IFLoad.WBP_IFLoad
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        LoadFrame : IFSurface
          VerticalBox_0 : VerticalBox
            WindowHeader : IFSurface
              HorizontalBox_0 : HorizontalBox
                Heading : IFText — LOAD GAME
                SizeBox_1 : SizeBox
                  HeaderClose : IFCommandButton
            SaveInfo : WBP_IFReadout_C
            SizeBox_2 : SizeBox
            HorizontalBox_1 : HorizontalBox
              Choice1 : IFCommandButton
              SizeBox_3 : SizeBox
              Choice0 : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFMMOHUD ​

text
/Game/ForgeExamples/UI/WBP_IFMMOHUD.WBP_IFMMOHUD
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    SelectionOverlay : IFSelectionOverlay
    HUDLayout : WBP_IFMMOLayout_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFMMOLayout ​

text
/Game/ForgeExamples/UI/WBP_IFMMOLayout.WBP_IFMMOLayout
  parent: /Script/InterfaceForge.IFHUDLayout
  CanvasPanel_0 : CanvasPanel
    Player : WBP_IFUnitFrame_C
    Target : WBP_IFUnitFrame_C
    Party : VerticalBox
      Party1 : WBP_IFPartyTargetEntry_C
      Party2 : WBP_IFPartyTargetEntry_C
      Status : WBP_IFReadout_C
    Objective : WBP_IFReadout_C
    Actions : IFSurface
      HorizontalBox_0 : HorizontalBox
        AbilityEntry0 : WBP_IFAbilityEntry_C
        AbilityEntry1 : WBP_IFAbilityEntry_C
        AbilityEntry2 : WBP_IFAbilityEntry_C
        AbilityEntry3 : WBP_IFAbilityEntry_C
        AbilityEntry4 : WBP_IFAbilityEntry_C
        AbilityEntry5 : WBP_IFAbilityEntry_C
    Cast : WBP_IFReadout_C
    Combat : WBP_IFPlainReadout_C
    Defeat : WBP_IFDefeatPanel_C
    Journal : IFCommandButton
    Minimap : IFSurface
      VerticalBox_0 : VerticalBox
        MapTitle : IFText — FALLEN CITADEL N
        MapView : IFMapView
    Pause : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFMainMenu ​

text
/Game/ForgeExamples/UI/WBP_IFMainMenu.WBP_IFMainMenu
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        MenuPanel : IFSurface
          VerticalBox_0 : VerticalBox
            Overline : IFText — ASHENFORGE
            Identity : WBP_IFTitle_C
            SizeBox_1 : SizeBox
              Choice0 : IFCommandButton
            SizeBox_2 : SizeBox
              Choice1 : IFCommandButton
            SizeBox_3 : SizeBox
              Choice2 : IFCommandButton
            SizeBox_4 : SizeBox
              Choice3 : IFCommandButton
            SizeBox_5 : SizeBox
              Choice4 : IFCommandButton
            SizeBox_6 : SizeBox
              Choice5 : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event InitializeScreen [K2Node_Event]
      then -> #5.execute, Data -> #5.Data
    #5 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #7.execute
    #6 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #7.Object
    #7 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #8.self
    #8 Get bEnabled [K2Node_VariableGet]
      bEnabled -> #9.Condition
    #9 Branch [K2Node_IfThenElse]
      then -> #15.execute, else -> #11.execute
    #10 Get Choice0 [K2Node_VariableGet]
      Choice0 -> #11.self
    #11 Set Button Role Target is IFButton [K2Node_CallFunction]
      then -> #13.execute
    #12 Get Choice1 [K2Node_VariableGet]
      Choice1 -> #13.self
    #13 Set Button Role Target is IFButton [K2Node_CallFunction]
    #14 Get Choice0 [K2Node_VariableGet]
      Choice0 -> #15.self
    #15 Set Button Role Target is IFButton [K2Node_CallFunction]
      then -> #17.execute
    #16 Get Choice1 [K2Node_VariableGet]
      Choice1 -> #17.self
    #17 Set Button Role Target is IFButton [K2Node_CallFunction]

WBP_IFMenuButton ​

text
/Game/ForgeExamples/UI/WBP_IFMenuButton.WBP_IFMenuButton
  parent: /Script/InterfaceForge.IFCommandButton
  FocusBorder : Border
    HorizontalBox_0 : HorizontalBox
      LabelWidget : IFText — Menu
      PromptSeparator : IFText — ·
      ActionPrompt : IFActionPrompt
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFOrderEntry ​

text
/Game/ForgeExamples/UI/WBP_IFOrderEntry.WBP_IFOrderEntry
  parent: /Script/InterfaceForge.IFReadoutEntry
  SizeBox_0 : SizeBox
    Overlay_0 : Overlay
      EntryCommand : WBP_IFAbilityButton_C
      VerticalBox_0 : VerticalBox
        SizeBox_1 : SizeBox
          CanvasPanel_0 : CanvasPanel
            IconImage : Image
            ActionPrompt : IFActionPrompt
        TitleText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFPartyFrame ​

text
/Game/ForgeExamples/UI/WBP_IFPartyFrame.WBP_IFPartyFrame
  parent: /Script/InterfaceForge.IFReadoutEntry
  Frame : IFSurface
    HorizontalBox_0 : HorizontalBox
      VerticalBox_0 : VerticalBox
        TitleText : IFText
        FractionBar : IFProgressWidget
        DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFPartyTargetEntry ​

text
/Game/ForgeExamples/UI/WBP_IFPartyTargetEntry.WBP_IFPartyTargetEntry
  parent: /Script/InterfaceForge.IFReadoutEntry
  Overlay_0 : Overlay
    EntryCommand : WBP_IFAbilityButton_C
    Border_0 : Border
      VerticalBox_0 : VerticalBox
        TitleText : IFText
        FractionBar : IFProgressWidget
        DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFPause ​

text
/Game/ForgeExamples/UI/WBP_IFPause.WBP_IFPause
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        MenuPanel : IFSurface
          VerticalBox_0 : VerticalBox
            Overline : IFText — CITADEL COMPANY
            Heading : IFText — PAUSED
            SizeBox_1 : SizeBox
              Choice0 : IFCommandButton
            SizeBox_2 : SizeBox
              Choice1 : IFCommandButton
            SizeBox_3 : SizeBox
              Choice2 : IFCommandButton
            SizeBox_4 : SizeBox
              Choice3 : IFCommandButton
            SizeBox_5 : SizeBox
              Choice4 : IFCommandButton
            SizeBox_6 : SizeBox
              Choice5 : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFPlainReadout ​

text
/Game/ForgeExamples/UI/WBP_IFPlainReadout.WBP_IFPlainReadout
  parent: /Script/InterfaceForge.IFReadoutEntry
  VerticalBox_0 : VerticalBox
    TitleText : IFText
    DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFQuestJournal ​

text
/Game/ForgeExamples/UI/WBP_IFQuestJournal.WBP_IFQuestJournal
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        JournalPanel : IFSurface
          VerticalBox_0 : VerticalBox
            WindowHeader : IFSurface
              HorizontalBox_1 : HorizontalBox
                Heading : IFText — FIELD JOURNAL
                SizeBox_1 : SizeBox
                  HeaderClose : IFCommandButton
            ScrollBox_0 : ScrollBox
              VerticalBox_1 : VerticalBox
                QuestStory : WBP_IFQuestStory_C
                QuestObjective : WBP_IFReadout_C
            HorizontalBox_0 : HorizontalBox
              Track : IFCommandButton
              Return : IFCommandButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFQuestStory ​

text
/Game/ForgeExamples/UI/WBP_IFQuestStory.WBP_IFQuestStory
  parent: /Script/InterfaceForge.IFReadoutEntry
  VerticalBox_0 : VerticalBox
    TitleText : IFText
    DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRTSHUD ​

text
/Game/ForgeExamples/UI/WBP_IFRTSHUD.WBP_IFRTSHUD
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    SelectionOverlay : IFSelectionOverlay
    HUDLayout : WBP_IFRTSLayout_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRTSLayout ​

text
/Game/ForgeExamples/UI/WBP_IFRTSLayout.WBP_IFRTSLayout
  parent: /Script/InterfaceForge.IFHUDLayout
  CanvasPanel_0 : CanvasPanel
    Resources : IFSurface
      HorizontalBox_0 : HorizontalBox
        Gold : WBP_IFStatChip_C
        Population : WBP_IFStatChip_C
        Clock : WBP_IFStatChip_C
    Gate : WBP_IFReadout_C
    Objective : WBP_IFReadout_C
    Roster : WBP_IFArmyRoster_C
    OrdersDock : VerticalBox
      Pause : IFCommandButton
      HorizontalBox_1 : HorizontalBox
        Queue : WBP_IFReadout_C
        SizeBox_5 : SizeBox
          CancelQueue : IFCommandButton
      Commands : IFSurface
        VerticalBox_0 : VerticalBox
          CommandHeading : IFText — ORDERS
          HorizontalBox_2 : HorizontalBox
            SizeBox_6 : SizeBox
              Order0 : WBP_IFOrderEntry_C
            SizeBox_7 : SizeBox
              Order1 : WBP_IFOrderEntry_C
            SizeBox_8 : SizeBox
              Order2 : WBP_IFOrderEntry_C
          HorizontalBox_3 : HorizontalBox
            SizeBox_9 : SizeBox
              Order3 : WBP_IFOrderEntry_C
            SizeBox_10 : SizeBox
              Order4 : WBP_IFOrderEntry_C
            SizeBox_11 : SizeBox
              Order5 : WBP_IFOrderEntry_C
          Orders : WBP_IFPlainReadout_C
    Minimap : IFSurface
      VerticalBox_1 : VerticalBox
        MapTitle : IFText — EASTERN GATE N
        MapView : IFMapView
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFRTSWorldLabel ​

text
/Game/ForgeExamples/UI/WBP_IFRTSWorldLabel.WBP_IFRTSWorldLabel
  parent: /Script/InterfaceForge.IFReadoutEntry
  SizeBox_0 : SizeBox
    FractionBar : IFProgressWidget
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFReadout ​

text
/Game/ForgeExamples/UI/WBP_IFReadout.WBP_IFReadout
  parent: /Script/InterfaceForge.IFReadoutEntry
  Frame : IFSurface
    VerticalBox_0 : VerticalBox
      TitleText : IFText
      FractionBar : IFProgressWidget
      DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFResourceRow ​

text
/Game/ForgeExamples/UI/WBP_IFResourceRow.WBP_IFResourceRow
  parent: /Script/InterfaceForge.IFReadoutEntry
  VerticalBox_0 : VerticalBox
    HorizontalBox_0 : HorizontalBox
      TitleText : IFText
      DetailText : IFText
    FractionBar : IFProgressWidget
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFSettings ​

text
/Game/ForgeExamples/UI/WBP_IFSettings.WBP_IFSettings
  parent: /Script/InterfaceForge.IFScreen
  variable OwnsSettingsSession : bool
  variable OriginalLanguage : string
  variable OriginalLocale : string
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    SettingsFit : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            IFText_0 : IFText — Settings
            ScrollBox_0 : IFScrollBox
              VerticalBox_1 : VerticalBox
                HorizontalBox_0 : HorizontalBox
                  IFText_1 : IFText — Interface scale
                  ScaleControlValue : IFText
                ScaleControl : Slider
                HorizontalBox_1 : HorizontalBox
                  IFText_2 : IFText — Text size
                  TextControlValue : IFText
                TextControl : Slider
                HorizontalBox_2 : HorizontalBox
                  IFText_3 : IFText — UI feedback
                  UIAudioControlValue : IFText
                UIAudioControl : Slider
                HorizontalBox_3 : HorizontalBox
                  IFText_4 : IFText — Game audio
                  GameAudioControlValue : IFText
                GameAudioControl : Slider
                MotionChoice : WBP_ForgeActionButton_C
                HorizontalBox_4 : HorizontalBox
                  ControlsChoice : WBP_ForgeActionButton_C
                  ListenChoice : WBP_ForgeActionButton_C
                LanguageHeading : IFText — Language
                HorizontalBox_5 : HorizontalBox
                  EnglishChoice : IFButton
                  TurkishChoice : IFButton
                DefaultsChoice : WBP_ForgeActionButton_C
            SettingsStatus : IFText
            ResponsiveFooter : WrapBox
              ApplyChoice : WBP_ForgeActionButton_C
              CancelChoice : WBP_ForgeActionButton_C
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Cancel Settings Target is WBP IFSettings [K2Node_CallFunction]
      then -> #2.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnInitialized [K2Node_Event]
      then -> #6.execute
    #5 Get ScaleControl [K2Node_VariableGet]
      ScaleControl -> #6.InitialFocus
    #6 Set InitialFocus [K2Node_VariableSet]
    #7 RefreshSettings Custom Event [K2Node_CustomEvent]
      then -> #11.execute
    #8 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #9.self
    #9 Get Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #11.InValue, ReturnValue -> #12.Value
    #10 Get ScaleControl [K2Node_VariableGet]
      ScaleControl -> #11.self
    #11 Set Value Target is Slider [K2Node_CallFunction]
      then -> #14.execute
    #12 As Percent [K2Node_CallFunction]
      ReturnValue -> #14.InText
    #13 Get ScaleControlValue [K2Node_VariableGet]
      ScaleControlValue -> #14.self
    #14 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #18.execute
    #15 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #16.self
    #16 Get Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #18.InValue, ReturnValue -> #19.Value
    #17 Get TextControl [K2Node_VariableGet]
      TextControl -> #18.self
    #18 Set Value Target is Slider [K2Node_CallFunction]
      then -> #21.execute
    #19 As Percent [K2Node_CallFunction]
      ReturnValue -> #21.InText
    #20 Get TextControlValue [K2Node_VariableGet]
      TextControlValue -> #21.self
    #21 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #25.execute
    #22 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #23.self
    #23 Get Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #25.InValue, ReturnValue -> #26.Value
    #24 Get UIAudioControl [K2Node_VariableGet]
      UIAudioControl -> #25.self
    #25 Set Value Target is Slider [K2Node_CallFunction]
      then -> #28.execute
    #26 As Percent [K2Node_CallFunction]
      ReturnValue -> #28.InText
    #27 Get UIAudioControlValue [K2Node_VariableGet]
      UIAudioControlValue -> #28.self
    #28 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #32.execute
    #29 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #30.self
    #30 Get Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #32.InValue, ReturnValue -> #33.Value
    #31 Get GameAudioControl [K2Node_VariableGet]
      GameAudioControl -> #32.self
    #32 Set Value Target is Slider [K2Node_CallFunction]
      then -> #35.execute
    #33 As Percent [K2Node_CallFunction]
      ReturnValue -> #35.InText
    #34 Get GameAudioControlValue [K2Node_VariableGet]
      GameAudioControlValue -> #35.self
    #35 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #39.execute
    #36 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #37.self
    #37 Get Reduced Motion Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #39.Condition
    #38 Get MotionChoice [K2Node_VariableGet]
      MotionChoice -> #40.self, MotionChoice -> #41.self
    #39 Branch [K2Node_IfThenElse]
      then -> #40.execute, else -> #41.execute
    #40 Set Label Target is IFButton [K2Node_CallFunction]
    #41 Set Label Target is IFButton [K2Node_CallFunction]
    #42 CancelSettings Custom Event [K2Node_CustomEvent]
      then -> #44.execute
    #43 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #44.Condition
    #44 Branch [K2Node_IfThenElse]
      then -> #45.execute, else -> #48.execute
    #45 Set OwnsSettingsSession [K2Node_VariableSet]
      then -> #142.execute
    #46 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #47.self
    #47 Cancel Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #48.execute
    #48 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
    #49 Event On Activated [K2Node_Event]
      then -> #51.execute
    #50 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #51.Condition
    #51 Branch [K2Node_IfThenElse]
      then -> #56.execute, else -> #53.execute
    #52 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #53.self
    #53 Begin Edit Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #148.execute, ReturnValue -> #54.OwnsSettingsSession, ReturnValue -> #55.Condition
    #54 Set OwnsSettingsSession [K2Node_VariableSet]
      then -> #55.execute
    #55 Branch [K2Node_IfThenElse]
      then -> #56.execute, else -> #58.execute
    #56 Refresh Settings Target is WBP IFSettings [K2Node_CallFunction]
    #57 Get SettingsStatus [K2Node_VariableGet]
      SettingsStatus -> #58.self
    #58 SetText (Text) Target is Text [K2Node_CallFunction]
    #59 Event OnPreferencesUpdated [K2Node_Event]
      then -> #60.execute
    #60 Refresh Settings Target is WBP IFSettings [K2Node_CallFunction]
    #61 On Value Changed (ScaleControl) [K2Node_ComponentBoundEvent]
      then -> #63.execute, Value -> #65.Value
    #62 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #63.Condition
    #63 Branch [K2Node_IfThenElse]
      then -> #65.execute
    #64 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #65.self
    #65 Set Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
    #66 On Value Changed (TextControl) [K2Node_ComponentBoundEvent]
      then -> #68.execute, Value -> #70.Value
    #67 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #68.Condition
    #68 Branch [K2Node_IfThenElse]
      then -> #70.execute
    #69 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #70.self
    #70 Set Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
    #71 On Value Changed (UIAudioControl) [K2Node_ComponentBoundEvent]
      then -> #73.execute, Value -> #75.Value
    #72 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #73.Condition
    #73 Branch [K2Node_IfThenElse]
      then -> #75.execute
    #74 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #75.self
    #75 Set Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
    #76 On Value Changed (GameAudioControl) [K2Node_ComponentBoundEvent]
      then -> #78.execute, Value -> #80.Value
    #77 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #78.Condition
    #78 Branch [K2Node_IfThenElse]
      then -> #80.execute
    #79 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #80.self
    #80 Set Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
    #81 On Clicked (MotionChoice) [K2Node_ComponentBoundEvent]
      then -> #83.execute
    #82 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #83.Condition
    #83 Branch [K2Node_IfThenElse]
      then -> #88.execute
    #84 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #85.self
    #85 Get Reduced Motion Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #86.A
    #86 NOT Boolean [K2Node_CallFunction]
      ReturnValue -> #88.bValue
    #87 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #88.self
    #88 Set Reduced Motion Target is IFSettings Subsystem [K2Node_CallFunction]
    #89 On Clicked (DefaultsChoice) [K2Node_ComponentBoundEvent]
      then -> #91.execute
    #90 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #91.Condition
    #91 Branch [K2Node_IfThenElse]
      then -> #93.execute
    #92 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #93.self
    #93 Restore Defaults Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #150.execute
    #94 On Clicked (CancelChoice) [K2Node_ComponentBoundEvent]
      then -> #95.execute
    #95 Cancel Settings Target is WBP IFSettings [K2Node_CallFunction]
    #96 On Clicked (ApplyChoice) [K2Node_ComponentBoundEvent]
      then -> #98.execute
    #97 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #98.Condition
    #98 Branch [K2Node_IfThenElse]
      then -> #100.execute
    #99 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #100.self
    #100 Apply Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #101.execute, FailureReason -> #104.InText, ReturnValue -> #101.Condition
    #101 Branch [K2Node_IfThenElse]
      then -> #151.execute, else -> #104.execute
    #102 Set OwnsSettingsSession [K2Node_VariableSet]
      then -> #103.execute
    #103 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
    #104 SetText (Text) Target is Text [K2Node_CallFunction]
    #105 Get SettingsStatus [K2Node_VariableGet]
      SettingsStatus -> #104.self
    #106 On Clicked (ControlsChoice) [K2Node_ComponentBoundEvent]
      then -> #108.execute
    #107 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #108.self
    #108 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #109 On Clicked (ListenChoice) [K2Node_ComponentBoundEvent]
      then -> #110.execute
    #110 Play Sound 2D [K2Node_CallFunction]
    #111 Event Destruct [K2Node_Event]
      then -> #113.execute
    #112 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #113.Condition
    #113 Branch [K2Node_IfThenElse]
      then -> #114.execute
    #114 Set OwnsSettingsSession [K2Node_VariableSet]
      then -> #155.execute
    #115 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #116.self
    #116 Cancel Target is IFSettings Subsystem [K2Node_CallFunction]
    #117 Event OnThemeUpdated [K2Node_Event]
      then -> #120.execute, Theme -> #118.self, Theme -> #121.self, Theme -> #124.self, Theme -> #127.self, Theme -> #130.self, Theme -> #133.self, Theme -> #136.self, Theme -> #139.self
    #118 Get Outline [K2Node_VariableGet]
      Outline -> #120.InValue
    #119 Get ScaleControl [K2Node_VariableGet]
      ScaleControl -> #120.self
    #120 Set Slider Bar Color Target is Slider [K2Node_CallFunction]
      then -> #123.execute
    #121 Get Accent [K2Node_VariableGet]
      Accent -> #123.InValue
    #122 Get ScaleControl [K2Node_VariableGet]
      ScaleControl -> #123.self
    #123 Set Slider Handle Color Target is Slider [K2Node_CallFunction]
      then -> #126.execute
    #124 Get Outline [K2Node_VariableGet]
      Outline -> #126.InValue
    #125 Get TextControl [K2Node_VariableGet]
      TextControl -> #126.self
    #126 Set Slider Bar Color Target is Slider [K2Node_CallFunction]
      then -> #129.execute
    #127 Get Accent [K2Node_VariableGet]
      Accent -> #129.InValue
    #128 Get TextControl [K2Node_VariableGet]
      TextControl -> #129.self
    #129 Set Slider Handle Color Target is Slider [K2Node_CallFunction]
      then -> #132.execute
    #130 Get Outline [K2Node_VariableGet]
      Outline -> #132.InValue
    #131 Get UIAudioControl [K2Node_VariableGet]
      UIAudioControl -> #132.self
    #132 Set Slider Bar Color Target is Slider [K2Node_CallFunction]
      then -> #135.execute
    #133 Get Accent [K2Node_VariableGet]
      Accent -> #135.InValue
    #134 Get UIAudioControl [K2Node_VariableGet]
      UIAudioControl -> #135.self
    #135 Set Slider Handle Color Target is Slider [K2Node_CallFunction]
      then -> #138.execute
    #136 Get Outline [K2Node_VariableGet]
      Outline -> #138.InValue
    #137 Get GameAudioControl [K2Node_VariableGet]
      GameAudioControl -> #138.self
    #138 Set Slider Bar Color Target is Slider [K2Node_CallFunction]
      then -> #141.execute
    #139 Get Accent [K2Node_VariableGet]
      Accent -> #141.InValue
    #140 Get GameAudioControl [K2Node_VariableGet]
      GameAudioControl -> #141.self
    #141 Set Slider Handle Color Target is Slider [K2Node_CallFunction]
    #142 Set Current Language [K2Node_CallFunction]
      then -> #143.execute
    #143 Set Current Locale [K2Node_CallFunction]
      then -> #47.execute
    #144 Get OriginalLanguage [K2Node_VariableGet]
      OriginalLanguage -> #142.Culture
    #145 Get OriginalLocale [K2Node_VariableGet]
      OriginalLocale -> #143.Culture
    #146 Get Current Language [K2Node_CallFunction]
      ReturnValue -> #148.OriginalLanguage
    #147 Get Current Locale [K2Node_CallFunction]
      ReturnValue -> #149.OriginalLocale
    #148 Set OriginalLanguage [K2Node_VariableSet]
      then -> #149.execute
    #149 Set OriginalLocale [K2Node_VariableSet]
      then -> #54.execute
    #150 Set Current Language and Locale [K2Node_CallFunction]
    #151 Set Current Language [K2Node_CallFunction]
      then -> #152.execute
    #152 Set Current Locale [K2Node_CallFunction]
      then -> #102.execute
    #153 Get Current Language [K2Node_CallFunction]
      ReturnValue -> #151.Culture
    #154 Get Current Locale [K2Node_CallFunction]
      ReturnValue -> #152.Culture
    #155 Set Current Language [K2Node_CallFunction]
      then -> #156.execute
    #156 Set Current Locale [K2Node_CallFunction]
      then -> #116.execute
    #157 Get OriginalLanguage [K2Node_VariableGet]
      OriginalLanguage -> #155.Culture
    #158 Get OriginalLocale [K2Node_VariableGet]
      OriginalLocale -> #156.Culture
    #159 On Clicked (EnglishChoice) [K2Node_ComponentBoundEvent]
      then -> #161.execute
    #160 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #161.Condition
    #161 Branch [K2Node_IfThenElse]
      then -> #162.execute
    #162 Set Current Language and Locale [K2Node_CallFunction]
    #163 On Clicked (TurkishChoice) [K2Node_ComponentBoundEvent]
      then -> #165.execute
    #164 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #165.Condition
    #165 Branch [K2Node_IfThenElse]
      then -> #166.execute
    #166 Set Current Language and Locale [K2Node_CallFunction]
    #167 IF Language / Language preview: English (owned draft, not saved) [EdGraphNode_Comment]
    #168 IF Language / Language preview: Turkce (owned draft, not saved) [EdGraphNode_Comment]
    #169 IF Language / Capture the incoming language and locale when the edit begins [EdGraphNode_Comment]
    #170 IF Language / Rollback language before Cancel Settings [EdGraphNode_Comment]
    #171 IF Language / Rollback language during owned screen cleanup [EdGraphNode_Comment]
    #172 IF Language / Commit engine culture only after UI preference Apply succeeds [EdGraphNode_Comment]
    #173 IF Language / Defaults previews the project native culture; Cancel still rolls back [EdGraphNode_Comment]

WBP_IFStatChip ​

text
/Game/ForgeExamples/UI/WBP_IFStatChip.WBP_IFStatChip
  parent: /Script/InterfaceForge.IFReadoutEntry
  VerticalBox_0 : VerticalBox
    TitleText : IFText
    DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFTitle ​

text
/Game/ForgeExamples/UI/WBP_IFTitle.WBP_IFTitle
  parent: /Script/InterfaceForge.IFReadoutEntry
  VerticalBox_0 : VerticalBox
    TitleText : IFText
    DetailText : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFUnitFrame ​

text
/Game/ForgeExamples/UI/WBP_IFUnitFrame.WBP_IFUnitFrame
  parent: /Script/InterfaceForge.IFReadoutEntry
  Frame : IFSurface
    HorizontalBox_0 : HorizontalBox
      SizeBox_0 : SizeBox
        IconImage : Image
      VerticalBox_0 : VerticalBox
        TitleText : IFText
        FractionBar : IFProgressWidget
        DetailText : IFText
        SecondaryEntry : WBP_IFResourceRow_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_IFWorldLabel ​

text
/Game/ForgeExamples/UI/WBP_IFWorldLabel.WBP_IFWorldLabel
  parent: /Script/InterfaceForge.IFReadoutEntry
  SizeBox_0 : SizeBox
    VerticalBox_0 : VerticalBox
      TitleText : IFText
      FractionBar : IFProgressWidget
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

BP_ForgeWorldReadout ​

text
/Game/UI/Blueprint/BP_ForgeWorldReadout.BP_ForgeWorldReadout
  parent: /Script/ForgeExamples.ForgeWorldReadout
  graph UserConstructionScript
    #1 Construction Script [K2Node_FunctionEntry]
  graph EventGraph
    #1 Event BeginPlay [K2Node_Event]
    #2 Event ActorBeginOverlap [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event CreateReadout [K2Node_Event]
      then -> #7.execute, Player -> #7.LocalPlayer, Data -> #7.Data
    #5 Get Display [K2Node_VariableGet]
      Display -> #7.Component
    #6 Get EntryClass [K2Node_VariableGet]
      EntryClass -> #7.EntryClass
    #7 Set World Entry [K2Node_CallFunction]

BP_WatchpostSource ​

text
/Game/UI/Blueprint/BP_WatchpostSource.BP_WatchpostSource
  parent: /Script/InterfaceForge.IFPresentationData
  graph EventGraph
  graph RequestUIAction
    #1 RequestUIAction [K2Node_FunctionEntry]
      then -> #10.execute, ActionName -> #3.A, Context -> #4.A
    #2 Return Node [K2Node_FunctionResult]
    #3 Equal (Name) [K2Node_CallFunction]
      ReturnValue -> #8.A
    #4 Equal (Object) [K2Node_CallFunction]
      ReturnValue -> #8.B
    #5 Self-Reference [K2Node_Self]
      self -> #4.B
    #6 Get Quantity [K2Node_VariableGet]
      Quantity -> #7.A, Quantity -> #12.A
    #7 integer < integer [K2Node_CallFunction]
      ReturnValue -> #9.B
    #8 AND Boolean [K2Node_CallFunction]
      ReturnValue -> #9.A
    #9 AND Boolean [K2Node_CallFunction]
      ReturnValue -> #10.Condition
    #10 Branch [K2Node_IfThenElse]
      then -> #13.execute, else -> #11.execute
    #11 Return Node [K2Node_FunctionResult]
    #12 int + int [K2Node_CallFunction]
      ReturnValue -> #13.Quantity
    #13 Set Quantity [K2Node_VariableSet]
      then -> #16.execute
    #14 Get Quantity [K2Node_VariableGet]
      Quantity -> #15.A, Quantity -> #17.A
    #15 int * float [K2Node_CallFunction]
      ReturnValue -> #16.Fraction
    #16 Set Fraction [K2Node_VariableSet]
      then -> #18.execute
    #17 integer < integer [K2Node_CallFunction]
      ReturnValue -> #18.bEnabled
    #18 Set bEnabled [K2Node_VariableSet]
      then -> #22.execute
    #19 Notify Data Changed Target is IFPresentation Data [K2Node_CallFunction]
      then -> #2.execute
    #20 Get bEnabled [K2Node_VariableGet]
      bEnabled -> #21.bPickA
    #21 Select Text [K2Node_CallFunction]
      ReturnValue -> #22.Detail
    #22 Set Detail [K2Node_VariableSet]
      then -> #19.execute
  graph GetUIModel
    #1 GetUIModel [K2Node_FunctionEntry]
      then -> #4.execute, ModelName -> #3.A
    #2 Return Node [K2Node_FunctionResult]
    #3 Equal (Name) [K2Node_CallFunction]
      ReturnValue -> #4.Condition
    #4 Branch [K2Node_IfThenElse]
      then -> #2.execute, else -> #5.execute
    #5 Return Node [K2Node_FunctionResult]
    #6 Self-Reference [K2Node_Self]
      self -> #2.ReturnValue

WBP_AshenControls ​

text
/Game/UI/Blueprint/WBP_AshenControls.WBP_AshenControls
  parent: /Script/InterfaceForge.IFScreen
  variable OwnsRemapSession : bool
  variable RefreshingKeys : bool
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    IFSurface_0 : IFSurface
      VerticalBox_0 : VerticalBox
        IFText_0 : IFText — Controls
        ScrollBox_0 : IFScrollBox
          VerticalBox_1 : VerticalBox
            IFText_1 : IFText — Select next scout · Keyboard / mouse
            KeyboardKey : IFKeySelector
            IFText_2 : IFText — Select next scout · Controller
            ControllerKey : IFKeySelector
            IFActionPrompt_0 : IFActionPrompt
        RemapStatus : IFText
        ResponsiveFooter : WrapBox
          ApplyChoice : WBP_ForgeActionButton_C
          CancelChoice : WBP_ForgeActionButton_C
          DefaultsChoice : WBP_ForgeActionButton_C
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Cancel Remapping Target is WBP Ashen Controls [K2Node_CallFunction]
      then -> #2.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnInitialized [K2Node_Event]
      then -> #6.execute
    #5 Get KeyboardKey [K2Node_VariableGet]
      KeyboardKey -> #6.InitialFocus
    #6 Set InitialFocus [K2Node_VariableSet]
    #7 RefreshKeys Custom Event [K2Node_CustomEvent]
      then -> #8.execute
    #8 Set RefreshingKeys [K2Node_VariableSet]
      then -> #14.execute
    #9 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #10.PlayerController
    #10 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #11.self
    #11 Get Registered Preview Key Target is IFRemapping Subsystem [K2Node_CallFunction]
      ReturnValue -> #12.Key
    #12 Make Input Chord [K2Node_MakeStruct]
      InputChord -> #14.InSelectedKey
    #13 Get KeyboardKey [K2Node_VariableGet]
      KeyboardKey -> #14.self
    #14 Set Selected Key Target is Input Key Selector [K2Node_CallFunction]
      then -> #20.execute
    #15 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #16.PlayerController
    #16 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #17.self
    #17 Get Registered Preview Key Target is IFRemapping Subsystem [K2Node_CallFunction]
      ReturnValue -> #18.Key
    #18 Make Input Chord [K2Node_MakeStruct]
      InputChord -> #20.InSelectedKey
    #19 Get ControllerKey [K2Node_VariableGet]
      ControllerKey -> #20.self
    #20 Set Selected Key Target is Input Key Selector [K2Node_CallFunction]
      then -> #21.execute
    #21 Set RefreshingKeys [K2Node_VariableSet]
    #22 CancelRemapping Custom Event [K2Node_CustomEvent]
      then -> #24.execute
    #23 Get OwnsRemapSession [K2Node_VariableGet]
      OwnsRemapSession -> #24.Condition
    #24 Branch [K2Node_IfThenElse]
      then -> #25.execute, else -> #29.execute
    #25 Set OwnsRemapSession [K2Node_VariableSet]
      then -> #28.execute
    #26 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #27.PlayerController
    #27 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #28.self
    #28 Cancel Target is IFRemapping Subsystem [K2Node_CallFunction]
      then -> #29.execute
    #29 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
    #30 Event On Activated [K2Node_Event]
      then -> #33.execute
    #31 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #32.PlayerController
    #32 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #33.self
    #33 Begin Edit Target is IFRemapping Subsystem [K2Node_CallFunction]
      then -> #34.execute, FailureReason -> #36.InText, ReturnValue -> #34.OwnsRemapSession
    #34 Set OwnsRemapSession [K2Node_VariableSet]
      then -> #36.execute
    #35 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #36.self
    #36 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #37.execute
    #37 Refresh Keys Target is WBP Ashen Controls [K2Node_CallFunction]
    #38 On Key Selected (KeyboardKey) [K2Node_ComponentBoundEvent]
      then -> #40.execute, SelectedKey -> #43.InputChord
    #39 Get OwnsRemapSession [K2Node_VariableGet]
      OwnsRemapSession -> #40.Condition
    #40 Branch [K2Node_IfThenElse]
      then -> #42.execute
    #41 Get RefreshingKeys [K2Node_VariableGet]
      RefreshingKeys -> #42.Condition
    #42 Branch [K2Node_IfThenElse]
      else -> #46.execute
    #43 Break Input Chord [K2Node_BreakStruct]
      Key -> #46.Key
    #44 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #45.PlayerController
    #45 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #46.self
    #46 Stage Registered Key Target is IFRemapping Subsystem [K2Node_CallFunction]
      then -> #47.execute, FailureReason -> #49.InText, ReturnValue -> #47.Condition
    #47 Branch [K2Node_IfThenElse]
      then -> #54.execute, else -> #49.execute
    #48 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #49.self
    #49 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #50.execute
    #50 Refresh Keys Target is WBP Ashen Controls [K2Node_CallFunction]
    #51 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #52.PlayerController
    #52 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #53.self
    #53 Has Pending Changes Target is IFRemapping Subsystem [K2Node_CallFunction]
      ReturnValue -> #54.Condition
    #54 Branch [K2Node_IfThenElse]
      then -> #56.execute, else -> #58.execute
    #55 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #56.self
    #56 SetText (Text) Target is Text [K2Node_CallFunction]
    #57 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #58.self
    #58 SetText (Text) Target is Text [K2Node_CallFunction]
    #59 On Key Selected (ControllerKey) [K2Node_ComponentBoundEvent]
      then -> #61.execute, SelectedKey -> #64.InputChord
    #60 Get OwnsRemapSession [K2Node_VariableGet]
      OwnsRemapSession -> #61.Condition
    #61 Branch [K2Node_IfThenElse]
      then -> #63.execute
    #62 Get RefreshingKeys [K2Node_VariableGet]
      RefreshingKeys -> #63.Condition
    #63 Branch [K2Node_IfThenElse]
      else -> #67.execute
    #64 Break Input Chord [K2Node_BreakStruct]
      Key -> #67.Key
    #65 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #66.PlayerController
    #66 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #67.self
    #67 Stage Registered Key Target is IFRemapping Subsystem [K2Node_CallFunction]
      then -> #68.execute, FailureReason -> #70.InText, ReturnValue -> #68.Condition
    #68 Branch [K2Node_IfThenElse]
      then -> #75.execute, else -> #70.execute
    #69 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #70.self
    #70 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #71.execute
    #71 Refresh Keys Target is WBP Ashen Controls [K2Node_CallFunction]
    #72 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #73.PlayerController
    #73 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #74.self
    #74 Has Pending Changes Target is IFRemapping Subsystem [K2Node_CallFunction]
      ReturnValue -> #75.Condition
    #75 Branch [K2Node_IfThenElse]
      then -> #77.execute, else -> #79.execute
    #76 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #77.self
    #77 SetText (Text) Target is Text [K2Node_CallFunction]
    #78 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #79.self
    #79 SetText (Text) Target is Text [K2Node_CallFunction]
    #80 On Clicked (DefaultsChoice) [K2Node_ComponentBoundEvent]
      then -> #82.execute
    #81 Get OwnsRemapSession [K2Node_VariableGet]
      OwnsRemapSession -> #82.Condition
    #82 Branch [K2Node_IfThenElse]
      then -> #85.execute
    #83 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #84.PlayerController
    #84 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #85.self
    #85 Stage Registered Default Target is IFRemapping Subsystem [K2Node_CallFunction]
      then -> #88.execute
    #86 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #87.PlayerController
    #87 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #88.self
    #88 Stage Registered Default Target is IFRemapping Subsystem [K2Node_CallFunction]
      then -> #90.execute
    #89 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #90.self
    #90 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #91.execute
    #91 Refresh Keys Target is WBP Ashen Controls [K2Node_CallFunction]
    #92 On Clicked (CancelChoice) [K2Node_ComponentBoundEvent]
      then -> #93.execute
    #93 Cancel Remapping Target is WBP Ashen Controls [K2Node_CallFunction]
    #94 On Clicked (ApplyChoice) [K2Node_ComponentBoundEvent]
      then -> #96.execute
    #95 Get OwnsRemapSession [K2Node_VariableGet]
      OwnsRemapSession -> #96.Condition
    #96 Branch [K2Node_IfThenElse]
      then -> #99.execute
    #97 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #98.PlayerController
    #98 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #99.self
    #99 Apply Target is IFRemapping Subsystem [K2Node_CallFunction]
      then -> #100.execute, FailureReason -> #104.InText, ReturnValue -> #100.Condition
    #100 Branch [K2Node_IfThenElse]
      then -> #101.execute, else -> #104.execute
    #101 Set OwnsRemapSession [K2Node_VariableSet]
      then -> #102.execute
    #102 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
    #103 Get RemapStatus [K2Node_VariableGet]
      RemapStatus -> #104.self
    #104 SetText (Text) Target is Text [K2Node_CallFunction]
    #105 Event Destruct [K2Node_Event]
      then -> #107.execute
    #106 Get OwnsRemapSession [K2Node_VariableGet]
      OwnsRemapSession -> #107.Condition
    #107 Branch [K2Node_IfThenElse]
      then -> #108.execute
    #108 Set OwnsRemapSession [K2Node_VariableSet]
      then -> #111.execute
    #109 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #110.PlayerController
    #110 IFRemapping Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #111.self
    #111 Cancel Target is IFRemapping Subsystem [K2Node_CallFunction]

WBP_AshenMainMenu ​

text
/Game/UI/Blueprint/WBP_AshenMainMenu.WBP_AshenMainMenu
  parent: /Script/InterfaceForge.IFScreen
  variable ReduceMenuMotion : bool
  animation MenuArrive
  CanvasPanel_0 : CanvasPanel
    ResponsiveCardFit : ScaleBox
      SizeBox_0 : SizeBox
        MenuSurface : IFSurface
          MenuColumn : VerticalBox
            MenuIdentityBand : HorizontalBox
              MenuPublisher : IFText — ASHENFORGE
              MenuNavigationCues : HorizontalBox
                NavigationAcceptIcon : CommonActionWidget
                NavigationAcceptKey : IFText
                NavigationAcceptLabel : IFText
                NavigationBackIcon : CommonActionWidget
                NavigationBackKey : IFText
                NavigationBackLabel : IFText
            MenuTitleBounds : SizeBox
              MenuTitleFit : ScaleBox
                MainTitle : IFText — ASHEN REACH
            MenuDetailBounds : SizeBox
              MenuReading : IFScrollBox
                MainDetail : IFText — Secure the eastern road. Bring your expedition home.
            MenuActions : IFScrollBox
              MenuChoices : VerticalBox
                PrimaryChoice : WBP_ForgeActionButton_C
                SettingsChoice : WBP_ForgeActionButton_C
                OtherWorldChoice : WBP_ForgeActionButton_C
                ExitChoice : WBP_ForgeActionButton_C
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Open Exit Confirmation Target is WBP Ashen Main Menu [K2Node_CallFunction]
      then -> #2.execute
  graph ReadMenuText
    #1 ReadMenuText [K2Node_FunctionEntry]
      then -> #5.execute, ModelName -> #4.ModelName, FallbackText -> #3.ReturnValue, ReadDetail -> #8.bPickA
    #2 Return Node [K2Node_FunctionResult]
    #3 Return Node [K2Node_FunctionResult]
    #4 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #5.Object
    #5 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #10.execute, CastFailed -> #3.execute, AsIFPresentation Data -> #6.self, AsIFPresentation Data -> #7.self
    #6 Get Title [K2Node_VariableGet]
      Title -> #8.B
    #7 Get Detail [K2Node_VariableGet]
      Detail -> #8.A
    #8 Select Text [K2Node_CallFunction]
      ReturnValue -> #9.InText, ReturnValue -> #2.ReturnValue
    #9 Text Is Empty [K2Node_CallFunction]
      ReturnValue -> #10.Condition
    #10 Branch [K2Node_IfThenElse]
      then -> #3.execute, else -> #2.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
      then -> #83.execute
    #3 Event Tick [K2Node_Event]
    #4 Event OnInitialized [K2Node_Event]
      then -> #6.execute
    #5 Get PrimaryChoice [K2Node_VariableGet]
      PrimaryChoice -> #6.InitialFocus
    #6 Set InitialFocus [K2Node_VariableSet]
    #7 On Clicked (PrimaryChoice) [K2Node_ComponentBoundEvent]
      then -> #8.execute
    #8 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #9 On Clicked (SettingsChoice) [K2Node_ComponentBoundEvent]
      then -> #37.execute
    #10 Get Root Layout Target is IFScreen [K2Node_CallFunction]
    #11 On Clicked (ExitChoice) [K2Node_ComponentBoundEvent]
      then -> #26.execute
    #12 OpenExitConfirmation Custom Event [K2Node_CustomEvent]
      then -> #13.execute
    #13 Construct IFDialog Data [K2Node_GenericCreateObject]
      then -> #55.execute, ReturnValue -> #15.self, ReturnValue -> #16.self, ReturnValue -> #17.self, ReturnValue -> #18.self, ReturnValue -> #19.self, ReturnValue -> #25.Data
    #14 Self-Reference [K2Node_Self]
      self -> #13.self
    #15 Set Title [K2Node_VariableSet]
      then -> #56.execute
    #16 Set Message [K2Node_VariableSet]
      then -> #57.execute
    #17 Set ConfirmLabel [K2Node_VariableSet]
      then -> #18.execute
    #18 Set CancelLabel [K2Node_VariableSet]
      then -> #19.execute
    #19 Bind Event to On Completed [K2Node_AddDelegate]
      then -> #25.execute
    #20 HandleConfirmation Custom Event [K2Node_CustomEvent]
      OutputDelegate -> #19.Delegate, then -> #22.execute, Result -> #21.A
    #21 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #22.Condition
    #22 Branch [K2Node_IfThenElse]
      then -> #23.execute
    #23 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #24 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #25.self
    #25 Push Dialog Target is IFRoot Layout [K2Node_CallFunction]
    #26 Open Exit Confirmation Target is WBP Ashen Main Menu [K2Node_CallFunction]
    #27 Event InitializeScreen [K2Node_Event]
      then -> #28.execute, Data -> #28.Data
    #28 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #54.execute
    #29 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #30.Object
    #30 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #33.execute, AsIFPresentation Data -> #31.self, AsIFPresentation Data -> #34.self
    #31 Get Title [K2Node_VariableGet]
      Title -> #33.InText
    #32 Get MainTitle [K2Node_VariableGet]
      MainTitle -> #33.self
    #33 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #36.execute
    #34 Get Detail [K2Node_VariableGet]
      Detail -> #36.InText
    #35 Get MainDetail [K2Node_VariableGet]
      MainDetail -> #36.self
    #36 SetText (Text) Target is Text [K2Node_CallFunction]
    #37 Push Screen Async [K2Node_AsyncAction]
      Failed -> #42.execute, Reason -> #42.Message
    #38 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #37.Root
    #39 Self-Reference [K2Node_Self]
      self -> #37.Scope, self -> #42.Scope
    #40 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #41.PlayerController
    #41 IFNotification Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #42.self
    #42 Post Notification Target is IFNotification Subsystem [K2Node_CallFunction]
    #43 RefreshMenuPresentation Custom Event [K2Node_CustomEvent]
      then -> #44.execute
    #44 Read Menu Text Target is WBP Ashen Main Menu [K2Node_CallFunction]
      then -> #46.execute, ReturnValue -> #46.InText
    #45 Get MainTitle [K2Node_VariableGet]
      MainTitle -> #46.self
    #46 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #47.execute
    #47 Read Menu Text Target is WBP Ashen Main Menu [K2Node_CallFunction]
      then -> #49.execute, ReturnValue -> #49.InText
    #48 Get MainDetail [K2Node_VariableGet]
      MainDetail -> #49.self
    #49 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #50.execute
    #50 Read Menu Text Target is WBP Ashen Main Menu [K2Node_CallFunction]
      then -> #52.execute, ReturnValue -> #52.Text
    #51 Get PrimaryChoice [K2Node_VariableGet]
      PrimaryChoice -> #52.self
    #52 Set Label Target is IFButton [K2Node_CallFunction]
    #53 Refresh Menu Presentation Target is WBP Ashen Main Menu [K2Node_CallFunction]
    #54 Sequence [K2Node_ExecutionSequence]
      then_0 -> #30.execute, then_1 -> #53.execute
    #55 Read Menu Text Target is WBP Ashen Main Menu [K2Node_CallFunction]
      then -> #15.execute, ReturnValue -> #15.Title
    #56 Read Menu Text Target is WBP Ashen Main Menu [K2Node_CallFunction]
      then -> #16.execute, ReturnValue -> #16.Message
    #57 Read Menu Text Target is WBP Ashen Main Menu [K2Node_CallFunction]
      then -> #17.execute, ReturnValue -> #17.ConfirmLabel
    #58 Event On Activated [K2Node_Event]
      then -> #143.execute
    #59 Sequence [K2Node_ExecutionSequence]
      then_1 -> #61.execute
    #60 Get MenuArrive [K2Node_VariableGet]
      MenuArrive -> #61.InAnimation
    #61 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #63.execute
    #62 Get MenuSurface [K2Node_VariableGet]
      MenuSurface -> #63.self
    #63 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #65.execute
    #64 Get ReduceMenuMotion [K2Node_VariableGet]
      ReduceMenuMotion -> #65.Condition
    #65 Branch [K2Node_IfThenElse]
      else -> #66.execute
    #66 Play Animation Target is User Widget [K2Node_CallFunction]
    #67 Get MenuArrive [K2Node_VariableGet]
      MenuArrive -> #66.InAnimation
    #68 Event On Deactivated [K2Node_Event]
      then -> #69.execute
    #69 Sequence [K2Node_ExecutionSequence]
      then_1 -> #71.execute
    #70 Get MenuArrive [K2Node_VariableGet]
      MenuArrive -> #71.InAnimation
    #71 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #73.execute
    #72 Get MenuSurface [K2Node_VariableGet]
      MenuSurface -> #73.self
    #73 Set Render Opacity Target is Widget [K2Node_CallFunction]
    #74 Event OnPreferencesUpdated [K2Node_Event]
      then -> #75.execute, Preferences -> #76.IFUIPreferences
    #75 Sequence [K2Node_ExecutionSequence]
      then_1 -> #77.execute
    #76 Break IFUIPreferences [K2Node_BreakStruct]
      bReducedMotion -> #77.ReduceMenuMotion, bReducedMotion -> #78.Condition
    #77 Set ReduceMenuMotion [K2Node_VariableSet]
      then -> #78.execute
    #78 Branch [K2Node_IfThenElse]
      then -> #80.execute
    #79 Get MenuArrive [K2Node_VariableGet]
      MenuArrive -> #80.InAnimation
    #80 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #82.execute
    #81 Get MenuSurface [K2Node_VariableGet]
      MenuSurface -> #82.self
    #82 Set Render Opacity Target is Widget [K2Node_CallFunction]
    #83 Sequence [K2Node_ExecutionSequence]
      then_1 -> #86.execute
    #84 Get Default Accept Action [K2Node_CallFunction]
      ReturnValue -> #86.InputActionRow
    #85 Get NavigationAcceptIcon [K2Node_VariableGet]
      NavigationAcceptIcon -> #86.self
    #86 Set Input Action Target is Common Action Widget [K2Node_CallFunction]
      then -> #89.execute
    #87 Get Default Back Action [K2Node_CallFunction]
      ReturnValue -> #89.InputActionRow
    #88 Get NavigationBackIcon [K2Node_VariableGet]
      NavigationBackIcon -> #89.self
    #89 Set Input Action Target is Common Action Widget [K2Node_CallFunction]
      then -> #91.execute
    #90 RefreshMenuNavigation Custom Event [K2Node_CustomEvent]
      then -> #101.execute
    #91 Refresh Menu Navigation Target is WBP Ashen Main Menu [K2Node_CallFunction]
    #92 Event OnInputPresentationUpdated [K2Node_Event]
      then -> #93.execute
    #93 Sequence [K2Node_ExecutionSequence]
      then_1 -> #94.execute
    #94 Refresh Menu Navigation Target is WBP Ashen Main Menu [K2Node_CallFunction]
    #95 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #96.PlayerController
    #96 IFInput Presentation Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #97.self
    #97 Get Input Presentation Target is IFInput Presentation Subsystem [K2Node_CallFunction]
      ReturnValue -> #98.A, ReturnValue -> #99.A
    #98 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #100.A
    #99 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #100.B
    #100 OR Boolean [K2Node_CallFunction]
      ReturnValue -> #101.Condition
    #101 Branch [K2Node_IfThenElse]
      then -> #103.execute, else -> #104.execute
    #102 Get MenuNavigationCues [K2Node_VariableGet]
      MenuNavigationCues -> #103.self, MenuNavigationCues -> #104.self
    #103 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #108.execute
    #104 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #108.execute
    #105 Get NavigationAcceptIcon [K2Node_VariableGet]
      NavigationAcceptIcon -> #106.self, NavigationAcceptIcon -> #115.self
    #106 Get Display Text Target is Common Action Widget [K2Node_CallFunction]
      ReturnValue -> #108.InText
    #107 Get NavigationAcceptLabel [K2Node_VariableGet]
      NavigationAcceptLabel -> #108.self
    #108 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #114.execute
    #109 Get Default Accept Action [K2Node_CallFunction]
      ReturnValue -> #111.Action
    #110 Self-Reference [K2Node_Self]
      self -> #111.Widget
    #111 Get Navigation Action Key [K2Node_CallFunction]
      ReturnValue -> #112.Key
    #112 Get Key Display Name [K2Node_CallFunction]
      ReturnValue -> #114.InText
    #113 Get NavigationAcceptKey [K2Node_VariableGet]
      NavigationAcceptKey -> #114.self
    #114 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #119.execute
    #115 Get Icon Target is Common Action Widget [K2Node_CallFunction]
      ReturnValue -> #116.Brush
    #116 Get Brush Resource [K2Node_CallFunction]
      ReturnValue -> #117.Object
    #117 Is Valid [K2Node_CallFunction]
      ReturnValue -> #118.A
    #118 NOT Boolean [K2Node_CallFunction]
      ReturnValue -> #119.Condition
    #119 Branch [K2Node_IfThenElse]
      then -> #121.execute, else -> #122.execute
    #120 Get NavigationAcceptKey [K2Node_VariableGet]
      NavigationAcceptKey -> #121.self, NavigationAcceptKey -> #122.self
    #121 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #126.execute
    #122 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #126.execute
    #123 Get NavigationBackIcon [K2Node_VariableGet]
      NavigationBackIcon -> #124.self, NavigationBackIcon -> #133.self
    #124 Get Display Text Target is Common Action Widget [K2Node_CallFunction]
      ReturnValue -> #126.InText
    #125 Get NavigationBackLabel [K2Node_VariableGet]
      NavigationBackLabel -> #126.self
    #126 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #132.execute
    #127 Get Default Back Action [K2Node_CallFunction]
      ReturnValue -> #129.Action
    #128 Self-Reference [K2Node_Self]
      self -> #129.Widget
    #129 Get Navigation Action Key [K2Node_CallFunction]
      ReturnValue -> #130.Key
    #130 Get Key Display Name [K2Node_CallFunction]
      ReturnValue -> #132.InText
    #131 Get NavigationBackKey [K2Node_VariableGet]
      NavigationBackKey -> #132.self
    #132 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #137.execute
    #133 Get Icon Target is Common Action Widget [K2Node_CallFunction]
      ReturnValue -> #134.Brush
    #134 Get Brush Resource [K2Node_CallFunction]
      ReturnValue -> #135.Object
    #135 Is Valid [K2Node_CallFunction]
      ReturnValue -> #136.A
    #136 NOT Boolean [K2Node_CallFunction]
      ReturnValue -> #137.Condition
    #137 Branch [K2Node_IfThenElse]
      then -> #139.execute, else -> #140.execute
    #138 Get NavigationBackKey [K2Node_VariableGet]
      NavigationBackKey -> #139.self, NavigationBackKey -> #140.self
    #139 Set Visibility Target is Widget [K2Node_CallFunction]
    #140 Set Visibility Target is Widget [K2Node_CallFunction]
    #141 On Clicked (OtherWorldChoice) [K2Node_ComponentBoundEvent]
      then -> #142.execute
    #142 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #143 Read Menu Text Target is WBP Ashen Main Menu [K2Node_CallFunction]
      then -> #145.execute, ReturnValue -> #145.Text
    #144 Get OtherWorldChoice [K2Node_VariableGet]
      OtherWorldChoice -> #145.self
    #145 Set Label Target is IFButton [K2Node_CallFunction]
      then -> #59.execute

WBP_AshenPause ​

text
/Game/UI/Blueprint/WBP_AshenPause.WBP_AshenPause
  parent: /Script/InterfaceForge.IFScreen
  variable ReduceMenuMotion : bool
  animation MenuArrive
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ResponsiveCardFit : ScaleBox
      SizeBox_0 : SizeBox
        MenuSurface : IFSurface
          MenuColumn : VerticalBox
            MenuIdentityBand : HorizontalBox
              MenuPublisher : IFText — EXPEDITION AT REST
              MenuNavigationCues : HorizontalBox
                NavigationAcceptIcon : CommonActionWidget
                NavigationAcceptKey : IFText
                NavigationAcceptLabel : IFText
                NavigationBackIcon : CommonActionWidget
                NavigationBackKey : IFText
                NavigationBackLabel : IFText
            MenuTitleBounds : SizeBox
              MenuTitleFit : ScaleBox
                PauseTitle : IFText — Paused
            MenuActions : IFScrollBox
              MenuChoices : VerticalBox
                PrimaryChoice : WBP_ForgeActionButton_C
                SettingsChoice : WBP_ForgeActionButton_C
                JournalChoice : WBP_ForgeActionButton_C
                ExitChoice : WBP_ForgeActionButton_C
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
      then -> #2.execute
  graph ReadMenuText
    #1 ReadMenuText [K2Node_FunctionEntry]
      then -> #5.execute, ModelName -> #4.ModelName, FallbackText -> #3.ReturnValue, ReadDetail -> #8.bPickA
    #2 Return Node [K2Node_FunctionResult]
    #3 Return Node [K2Node_FunctionResult]
    #4 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #5.Object
    #5 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #10.execute, CastFailed -> #3.execute, AsIFPresentation Data -> #6.self, AsIFPresentation Data -> #7.self
    #6 Get Title [K2Node_VariableGet]
      Title -> #8.B
    #7 Get Detail [K2Node_VariableGet]
      Detail -> #8.A
    #8 Select Text [K2Node_CallFunction]
      ReturnValue -> #9.InText, ReturnValue -> #2.ReturnValue
    #9 Text Is Empty [K2Node_CallFunction]
      ReturnValue -> #10.Condition
    #10 Branch [K2Node_IfThenElse]
      then -> #3.execute, else -> #2.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
      then -> #74.execute
    #3 Event Tick [K2Node_Event]
    #4 Event OnInitialized [K2Node_Event]
      then -> #6.execute
    #5 Get PrimaryChoice [K2Node_VariableGet]
      PrimaryChoice -> #6.InitialFocus
    #6 Set InitialFocus [K2Node_VariableSet]
    #7 On Clicked (PrimaryChoice) [K2Node_ComponentBoundEvent]
      then -> #8.execute
    #8 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
    #9 On Clicked (SettingsChoice) [K2Node_ComponentBoundEvent]
      then -> #11.execute
    #10 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #11.self
    #11 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #12 On Clicked (JournalChoice) [K2Node_ComponentBoundEvent]
      then -> #14.execute
    #13 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #14.self
    #14 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #15 Get ScreenData [K2Node_VariableGet]
      ScreenData -> #14.Data
    #16 On Clicked (ExitChoice) [K2Node_ComponentBoundEvent]
      then -> #31.execute
    #17 OpenExitConfirmation Custom Event [K2Node_CustomEvent]
      then -> #18.execute
    #18 Construct IFDialog Data [K2Node_GenericCreateObject]
      then -> #46.execute, ReturnValue -> #20.self, ReturnValue -> #21.self, ReturnValue -> #22.self, ReturnValue -> #23.self, ReturnValue -> #24.self, ReturnValue -> #30.Data
    #19 Self-Reference [K2Node_Self]
      self -> #18.self
    #20 Set Title [K2Node_VariableSet]
      then -> #47.execute
    #21 Set Message [K2Node_VariableSet]
      then -> #48.execute
    #22 Set ConfirmLabel [K2Node_VariableSet]
      then -> #23.execute
    #23 Set CancelLabel [K2Node_VariableSet]
      then -> #24.execute
    #24 Bind Event to On Completed [K2Node_AddDelegate]
      then -> #30.execute
    #25 HandleConfirmation Custom Event [K2Node_CustomEvent]
      OutputDelegate -> #24.Delegate, then -> #27.execute, Result -> #26.A
    #26 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #27.Condition
    #27 Branch [K2Node_IfThenElse]
      then -> #28.execute
    #28 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #29 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #30.self
    #30 Push Dialog Target is IFRoot Layout [K2Node_CallFunction]
    #31 Open Exit Confirmation Target is WBP Ashen Pause [K2Node_CallFunction]
    #32 RefreshMenuPresentation Custom Event [K2Node_CustomEvent]
      then -> #33.execute
    #33 Read Menu Text Target is WBP Ashen Pause [K2Node_CallFunction]
      then -> #35.execute, ReturnValue -> #35.InText
    #34 Get MenuPublisher [K2Node_VariableGet]
      MenuPublisher -> #35.self
    #35 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #36.execute
    #36 Read Menu Text Target is WBP Ashen Pause [K2Node_CallFunction]
      then -> #38.execute, ReturnValue -> #38.InText
    #37 Get PauseTitle [K2Node_VariableGet]
      PauseTitle -> #38.self
    #38 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #39.execute
    #39 Read Menu Text Target is WBP Ashen Pause [K2Node_CallFunction]
      then -> #41.execute, ReturnValue -> #41.Text
    #40 Get PrimaryChoice [K2Node_VariableGet]
      PrimaryChoice -> #41.self
    #41 Set Label Target is IFButton [K2Node_CallFunction]
    #42 Event InitializeScreen [K2Node_Event]
      then -> #43.execute, Data -> #43.Data
    #43 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #45.execute
    #44 Refresh Menu Presentation Target is WBP Ashen Pause [K2Node_CallFunction]
    #45 Sequence [K2Node_ExecutionSequence]
      then_1 -> #44.execute
    #46 Read Menu Text Target is WBP Ashen Pause [K2Node_CallFunction]
      then -> #20.execute, ReturnValue -> #20.Title
    #47 Read Menu Text Target is WBP Ashen Pause [K2Node_CallFunction]
      then -> #21.execute, ReturnValue -> #21.Message
    #48 Read Menu Text Target is WBP Ashen Pause [K2Node_CallFunction]
      then -> #22.execute, ReturnValue -> #22.ConfirmLabel
    #49 Event On Activated [K2Node_Event]
      then -> #50.execute
    #50 Sequence [K2Node_ExecutionSequence]
      then_1 -> #52.execute
    #51 Get MenuArrive [K2Node_VariableGet]
      MenuArrive -> #52.InAnimation
    #52 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #54.execute
    #53 Get MenuSurface [K2Node_VariableGet]
      MenuSurface -> #54.self
    #54 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #56.execute
    #55 Get ReduceMenuMotion [K2Node_VariableGet]
      ReduceMenuMotion -> #56.Condition
    #56 Branch [K2Node_IfThenElse]
      else -> #57.execute
    #57 Play Animation Target is User Widget [K2Node_CallFunction]
    #58 Get MenuArrive [K2Node_VariableGet]
      MenuArrive -> #57.InAnimation
    #59 Event On Deactivated [K2Node_Event]
      then -> #60.execute
    #60 Sequence [K2Node_ExecutionSequence]
      then_1 -> #62.execute
    #61 Get MenuArrive [K2Node_VariableGet]
      MenuArrive -> #62.InAnimation
    #62 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #64.execute
    #63 Get MenuSurface [K2Node_VariableGet]
      MenuSurface -> #64.self
    #64 Set Render Opacity Target is Widget [K2Node_CallFunction]
    #65 Event OnPreferencesUpdated [K2Node_Event]
      then -> #66.execute, Preferences -> #67.IFUIPreferences
    #66 Sequence [K2Node_ExecutionSequence]
      then_1 -> #68.execute
    #67 Break IFUIPreferences [K2Node_BreakStruct]
      bReducedMotion -> #68.ReduceMenuMotion, bReducedMotion -> #69.Condition
    #68 Set ReduceMenuMotion [K2Node_VariableSet]
      then -> #69.execute
    #69 Branch [K2Node_IfThenElse]
      then -> #71.execute
    #70 Get MenuArrive [K2Node_VariableGet]
      MenuArrive -> #71.InAnimation
    #71 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #73.execute
    #72 Get MenuSurface [K2Node_VariableGet]
      MenuSurface -> #73.self
    #73 Set Render Opacity Target is Widget [K2Node_CallFunction]
    #74 Sequence [K2Node_ExecutionSequence]
      then_1 -> #77.execute
    #75 Get Default Accept Action [K2Node_CallFunction]
      ReturnValue -> #77.InputActionRow
    #76 Get NavigationAcceptIcon [K2Node_VariableGet]
      NavigationAcceptIcon -> #77.self
    #77 Set Input Action Target is Common Action Widget [K2Node_CallFunction]
      then -> #80.execute
    #78 Get Default Back Action [K2Node_CallFunction]
      ReturnValue -> #80.InputActionRow
    #79 Get NavigationBackIcon [K2Node_VariableGet]
      NavigationBackIcon -> #80.self
    #80 Set Input Action Target is Common Action Widget [K2Node_CallFunction]
      then -> #82.execute
    #81 RefreshMenuNavigation Custom Event [K2Node_CustomEvent]
      then -> #92.execute
    #82 Refresh Menu Navigation Target is WBP Ashen Pause [K2Node_CallFunction]
    #83 Event OnInputPresentationUpdated [K2Node_Event]
      then -> #84.execute
    #84 Sequence [K2Node_ExecutionSequence]
      then_1 -> #85.execute
    #85 Refresh Menu Navigation Target is WBP Ashen Pause [K2Node_CallFunction]
    #86 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #87.PlayerController
    #87 IFInput Presentation Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #88.self
    #88 Get Input Presentation Target is IFInput Presentation Subsystem [K2Node_CallFunction]
      ReturnValue -> #89.A, ReturnValue -> #90.A
    #89 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #91.A
    #90 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #91.B
    #91 OR Boolean [K2Node_CallFunction]
      ReturnValue -> #92.Condition
    #92 Branch [K2Node_IfThenElse]
      then -> #94.execute, else -> #95.execute
    #93 Get MenuNavigationCues [K2Node_VariableGet]
      MenuNavigationCues -> #94.self, MenuNavigationCues -> #95.self
    #94 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #99.execute
    #95 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #99.execute
    #96 Get NavigationAcceptIcon [K2Node_VariableGet]
      NavigationAcceptIcon -> #97.self, NavigationAcceptIcon -> #106.self
    #97 Get Display Text Target is Common Action Widget [K2Node_CallFunction]
      ReturnValue -> #99.InText
    #98 Get NavigationAcceptLabel [K2Node_VariableGet]
      NavigationAcceptLabel -> #99.self
    #99 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #105.execute
    #100 Get Default Accept Action [K2Node_CallFunction]
      ReturnValue -> #102.Action
    #101 Self-Reference [K2Node_Self]
      self -> #102.Widget
    #102 Get Navigation Action Key [K2Node_CallFunction]
      ReturnValue -> #103.Key
    #103 Get Key Display Name [K2Node_CallFunction]
      ReturnValue -> #105.InText
    #104 Get NavigationAcceptKey [K2Node_VariableGet]
      NavigationAcceptKey -> #105.self
    #105 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #110.execute
    #106 Get Icon Target is Common Action Widget [K2Node_CallFunction]
      ReturnValue -> #107.Brush
    #107 Get Brush Resource [K2Node_CallFunction]
      ReturnValue -> #108.Object
    #108 Is Valid [K2Node_CallFunction]
      ReturnValue -> #109.A
    #109 NOT Boolean [K2Node_CallFunction]
      ReturnValue -> #110.Condition
    #110 Branch [K2Node_IfThenElse]
      then -> #112.execute, else -> #113.execute
    #111 Get NavigationAcceptKey [K2Node_VariableGet]
      NavigationAcceptKey -> #112.self, NavigationAcceptKey -> #113.self
    #112 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #117.execute
    #113 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #117.execute
    #114 Get NavigationBackIcon [K2Node_VariableGet]
      NavigationBackIcon -> #115.self, NavigationBackIcon -> #124.self
    #115 Get Display Text Target is Common Action Widget [K2Node_CallFunction]
      ReturnValue -> #117.InText
    #116 Get NavigationBackLabel [K2Node_VariableGet]
      NavigationBackLabel -> #117.self
    #117 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #123.execute
    #118 Get Default Back Action [K2Node_CallFunction]
      ReturnValue -> #120.Action
    #119 Self-Reference [K2Node_Self]
      self -> #120.Widget
    #120 Get Navigation Action Key [K2Node_CallFunction]
      ReturnValue -> #121.Key
    #121 Get Key Display Name [K2Node_CallFunction]
      ReturnValue -> #123.InText
    #122 Get NavigationBackKey [K2Node_VariableGet]
      NavigationBackKey -> #123.self
    #123 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #128.execute
    #124 Get Icon Target is Common Action Widget [K2Node_CallFunction]
      ReturnValue -> #125.Brush
    #125 Get Brush Resource [K2Node_CallFunction]
      ReturnValue -> #126.Object
    #126 Is Valid [K2Node_CallFunction]
      ReturnValue -> #127.A
    #127 NOT Boolean [K2Node_CallFunction]
      ReturnValue -> #128.Condition
    #128 Branch [K2Node_IfThenElse]
      then -> #130.execute, else -> #131.execute
    #129 Get NavigationBackKey [K2Node_VariableGet]
      NavigationBackKey -> #130.self, NavigationBackKey -> #131.self
    #130 Set Visibility Target is Widget [K2Node_CallFunction]
    #131 Set Visibility Target is Widget [K2Node_CallFunction]

WBP_AshenRTSHUD ​

text
/Game/UI/Blueprint/WBP_AshenRTSHUD.WBP_AshenRTSHUD
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    ResponsiveHUDDock : HorizontalBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          ScrollBox_0 : IFScrollBox
            VerticalBox_0 : VerticalBox
              ObjectiveReadout : WBP_HUDReadout_C
      PauseChoice : WBP_ForgeActionButton_C
    SizeBox_3 : SizeBox
      HorizontalBox_1 : HorizontalBox
        RTSPassiveFit : Overlay
          SizeBox_1 : SizeBox
            IFSurface_1 : IFSurface
              RTSOverviewColumn : VerticalBox
                ScrollBox_1 : IFScrollBox
                  VerticalBox_1 : VerticalBox
                    ResourceReadout : WBP_HUDReadout_C
                    NoticeReadout : WBP_HUDReadout_C
                QueueReadout : WBP_ProductionReadout_C
                IFActionPrompt_0 : WBP_ForgeAppliedPrompt_C
        SizeBox_2 : SizeBox
          IFSurface_2 : IFSurface
            RTSSelectionDock : VerticalBox
              SelectionReadout : WBP_HUDReadout_C
              ScrollBox_2 : IFScrollBox
                VerticalBox_2 : VerticalBox
                  NextChoice : WBP_OutpostCommand_C
                  GroupChoice : WBP_OutpostCommand_C
                  PatrolChoice : WBP_OutpostCommand_C
                  RallyChoice : WBP_OutpostCommand_C
                  TrainChoice : WBP_OutpostCommand_C
    NavigationHintFit : Overlay
      NavigationHintHost : IFSurface
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Request Pause Target is WBP Ashen RTSHUD [K2Node_CallFunction]
      then -> #2.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnInitialized [K2Node_Event]
      then -> #6.execute
    #5 Get PatrolChoice [K2Node_VariableGet]
    #6 Set InitialFocus [K2Node_VariableSet]
    #7 Event InitializeScreen [K2Node_Event]
      then -> #8.execute, Data -> #8.Data
    #8 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #77.execute
    #9 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #11.Data
    #10 Get ObjectiveReadout [K2Node_VariableGet]
      ObjectiveReadout -> #11.self
    #11 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #14.execute
    #12 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #14.Data
    #13 Get ResourceReadout [K2Node_VariableGet]
      ResourceReadout -> #14.self
    #14 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #17.execute
    #15 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #17.Data
    #16 Get NoticeReadout [K2Node_VariableGet]
      NoticeReadout -> #17.self
    #17 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #20.execute
    #18 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #20.Data
    #19 Get SelectionReadout [K2Node_VariableGet]
      SelectionReadout -> #20.self
    #20 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #23.execute
    #21 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #23.Data
    #22 Get QueueReadout [K2Node_VariableGet]
      QueueReadout -> #23.self
    #23 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #33.execute
    #24 On Clicked (PauseChoice) [K2Node_ComponentBoundEvent]
      then -> #25.execute
    #25 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #26 RequestPause Custom Event [K2Node_CustomEvent]
      then -> #27.execute
    #27 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #28 Get PatrolChoice [K2Node_VariableGet]
      PatrolChoice -> #29.self
    #29 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #6.InitialFocus
    #30 Get ScreenData [K2Node_VariableGet]
      ScreenData -> #34.ActionSource, ScreenData -> #38.ActionSource, ScreenData -> #42.ActionSource, ScreenData -> #46.ActionSource, ScreenData -> #50.ActionSource
    #31 Get NextChoice [K2Node_VariableGet]
      NextChoice -> #33.self, NextChoice -> #34.self
    #32 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #33.Data
    #33 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #34.execute
    #34 Set ActionSource [K2Node_VariableSet]
      then -> #37.execute
    #35 Get GroupChoice [K2Node_VariableGet]
      GroupChoice -> #37.self, GroupChoice -> #38.self
    #36 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #37.Data
    #37 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #38.execute
    #38 Set ActionSource [K2Node_VariableSet]
      then -> #41.execute
    #39 Get PatrolChoice [K2Node_VariableGet]
      PatrolChoice -> #41.self, PatrolChoice -> #42.self
    #40 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #41.Data
    #41 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #42.execute
    #42 Set ActionSource [K2Node_VariableSet]
      then -> #45.execute
    #43 Get RallyChoice [K2Node_VariableGet]
      RallyChoice -> #45.self, RallyChoice -> #46.self
    #44 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #45.Data
    #45 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #46.execute
    #46 Set ActionSource [K2Node_VariableSet]
      then -> #49.execute
    #47 Get TrainChoice [K2Node_VariableGet]
      TrainChoice -> #49.self, TrainChoice -> #50.self
    #48 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #49.Data
    #49 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #50.execute
    #50 Set ActionSource [K2Node_VariableSet]
    #51 Event Construct [K2Node_Event]
      then -> #106.execute
    #52 Get NextChoice [K2Node_VariableGet]
      NextChoice -> #53.self
    #53 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #63.self, CommandChoice -> #64.self, CommandChoice -> #66.InWidget, CommandChoice -> #73.InWidget
    #54 Get GroupChoice [K2Node_VariableGet]
      GroupChoice -> #55.self
    #55 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #63.InWidget, CommandChoice -> #65.self, CommandChoice -> #66.self, CommandChoice -> #68.InWidget
    #56 Get PatrolChoice [K2Node_VariableGet]
      PatrolChoice -> #57.self
    #57 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #65.InWidget, CommandChoice -> #67.self, CommandChoice -> #68.self, CommandChoice -> #70.InWidget
    #58 Get RallyChoice [K2Node_VariableGet]
      RallyChoice -> #59.self
    #59 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #67.InWidget, CommandChoice -> #69.self, CommandChoice -> #70.self, CommandChoice -> #72.InWidget
    #60 Get TrainChoice [K2Node_VariableGet]
      TrainChoice -> #61.self
    #61 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #69.InWidget, CommandChoice -> #71.self, CommandChoice -> #72.self, CommandChoice -> #74.InWidget
    #62 Get PauseChoice [K2Node_VariableGet]
      PauseChoice -> #64.InWidget, PauseChoice -> #71.InWidget, PauseChoice -> #73.self, PauseChoice -> #74.self
    #63 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #64.execute
    #64 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #65.execute
    #65 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #66.execute
    #66 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #67.execute
    #67 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #68.execute
    #68 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #69.execute
    #69 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #70.execute
    #70 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #71.execute
    #71 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #72.execute
    #72 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #73.execute
    #73 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #74.execute
    #74 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
    #75 Get ObjectiveReadout [K2Node_VariableGet]
      ObjectiveReadout -> #76.self, ObjectiveReadout -> #79.self
    #76 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #77.self, ReadoutTitle -> #78.self
    #77 Set BaseSize [K2Node_VariableSet]
      then -> #78.execute
    #78 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #80.execute
    #79 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #80.self, ReadoutDetail -> #81.self
    #80 Set BaseSize [K2Node_VariableSet]
      then -> #81.execute
    #81 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #84.execute
    #82 Get ResourceReadout [K2Node_VariableGet]
      ResourceReadout -> #83.self, ResourceReadout -> #86.self
    #83 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #84.self, ReadoutTitle -> #85.self
    #84 Set BaseSize [K2Node_VariableSet]
      then -> #85.execute
    #85 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #87.execute
    #86 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #87.self, ReadoutDetail -> #88.self
    #87 Set BaseSize [K2Node_VariableSet]
      then -> #88.execute
    #88 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #91.execute
    #89 Get NoticeReadout [K2Node_VariableGet]
      NoticeReadout -> #90.self, NoticeReadout -> #93.self
    #90 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #91.self, ReadoutTitle -> #92.self
    #91 Set BaseSize [K2Node_VariableSet]
      then -> #92.execute
    #92 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #94.execute
    #93 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #94.self, ReadoutDetail -> #95.self
    #94 Set BaseSize [K2Node_VariableSet]
      then -> #95.execute
    #95 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #98.execute
    #96 Get SelectionReadout [K2Node_VariableGet]
      SelectionReadout -> #97.self, SelectionReadout -> #100.self
    #97 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #98.self, ReadoutTitle -> #99.self
    #98 Set BaseSize [K2Node_VariableSet]
      then -> #99.execute
    #99 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #101.execute
    #100 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #101.self, ReadoutDetail -> #102.self
    #101 Set BaseSize [K2Node_VariableSet]
      then -> #102.execute
    #102 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #11.execute
    #103 Sequence [K2Node_ExecutionSequence]
      then_0 -> #63.execute, then_1 -> #105.execute
    #104 Get NavigationHintHost [K2Node_VariableGet]
      NavigationHintHost -> #105.Host
    #105 Register Navigation Hint Host Target is IFScreen [K2Node_CallFunction]
    #106 Sequence [K2Node_ExecutionSequence]
      then_0 -> #103.execute, then_1 -> #109.execute
    #107 Get QueueReadout [K2Node_VariableGet]
      QueueReadout -> #108.self
    #108 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #109.self, ReadoutTitle -> #110.self
    #109 Set BaseSize [K2Node_VariableSet]
      then -> #110.execute
    #110 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #113.execute
    #111 Get QueueReadout [K2Node_VariableGet]
      QueueReadout -> #112.self
    #112 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #113.self, ReadoutDetail -> #114.self
    #113 Set BaseSize [K2Node_VariableSet]
      then -> #114.execute
    #114 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]

WBP_AshenSettings ​

text
/Game/UI/Blueprint/WBP_AshenSettings.WBP_AshenSettings
  parent: /Script/InterfaceForge.IFScreen
  variable OwnsSettingsSession : bool
  variable OriginalLanguage : string
  variable OriginalLocale : string
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    IFSurface_0 : IFSurface
      VerticalBox_0 : VerticalBox
        IFText_0 : IFText — Settings
        ScrollBox_0 : IFScrollBox
          VerticalBox_1 : VerticalBox
            HorizontalBox_0 : HorizontalBox
              IFText_1 : IFText — Interface scale
              ScaleControlValue : IFText
            ScaleControl : Slider
            HorizontalBox_1 : HorizontalBox
              IFText_2 : IFText — Text size
              TextControlValue : IFText
            TextControl : Slider
            HorizontalBox_2 : HorizontalBox
              IFText_3 : IFText — UI feedback
              UIAudioControlValue : IFText
            UIAudioControl : Slider
            HorizontalBox_3 : HorizontalBox
              IFText_4 : IFText — Game audio
              GameAudioControlValue : IFText
            GameAudioControl : Slider
            MotionChoice : WBP_ForgeActionButton_C
            HorizontalBox_4 : HorizontalBox
              ControlsChoice : WBP_ForgeActionButton_C
              ListenChoice : WBP_ForgeActionButton_C
            LanguageHeading : IFText — Language
            HorizontalBox_5 : HorizontalBox
              EnglishChoice : IFButton
              TurkishChoice : IFButton
            DefaultsChoice : WBP_ForgeActionButton_C
        SettingsStatus : IFText
        ResponsiveFooter : WrapBox
          ApplyChoice : WBP_ForgeActionButton_C
          CancelChoice : WBP_ForgeActionButton_C
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Cancel Settings Target is WBP Ashen Settings [K2Node_CallFunction]
      then -> #2.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnInitialized [K2Node_Event]
      then -> #6.execute
    #5 Get ScaleControl [K2Node_VariableGet]
      ScaleControl -> #6.InitialFocus
    #6 Set InitialFocus [K2Node_VariableSet]
    #7 RefreshSettings Custom Event [K2Node_CustomEvent]
      then -> #11.execute
    #8 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #9.self
    #9 Get Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #11.InValue, ReturnValue -> #12.Value
    #10 Get ScaleControl [K2Node_VariableGet]
      ScaleControl -> #11.self
    #11 Set Value Target is Slider [K2Node_CallFunction]
      then -> #14.execute
    #12 As Percent [K2Node_CallFunction]
      ReturnValue -> #14.InText
    #13 Get ScaleControlValue [K2Node_VariableGet]
      ScaleControlValue -> #14.self
    #14 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #18.execute
    #15 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #16.self
    #16 Get Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #18.InValue, ReturnValue -> #19.Value
    #17 Get TextControl [K2Node_VariableGet]
      TextControl -> #18.self
    #18 Set Value Target is Slider [K2Node_CallFunction]
      then -> #21.execute
    #19 As Percent [K2Node_CallFunction]
      ReturnValue -> #21.InText
    #20 Get TextControlValue [K2Node_VariableGet]
      TextControlValue -> #21.self
    #21 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #25.execute
    #22 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #23.self
    #23 Get Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #25.InValue, ReturnValue -> #26.Value
    #24 Get UIAudioControl [K2Node_VariableGet]
      UIAudioControl -> #25.self
    #25 Set Value Target is Slider [K2Node_CallFunction]
      then -> #28.execute
    #26 As Percent [K2Node_CallFunction]
      ReturnValue -> #28.InText
    #27 Get UIAudioControlValue [K2Node_VariableGet]
      UIAudioControlValue -> #28.self
    #28 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #32.execute
    #29 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #30.self
    #30 Get Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #32.InValue, ReturnValue -> #33.Value
    #31 Get GameAudioControl [K2Node_VariableGet]
      GameAudioControl -> #32.self
    #32 Set Value Target is Slider [K2Node_CallFunction]
      then -> #35.execute
    #33 As Percent [K2Node_CallFunction]
      ReturnValue -> #35.InText
    #34 Get GameAudioControlValue [K2Node_VariableGet]
      GameAudioControlValue -> #35.self
    #35 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #39.execute
    #36 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #37.self
    #37 Get Reduced Motion Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #39.Condition
    #38 Get MotionChoice [K2Node_VariableGet]
      MotionChoice -> #40.self, MotionChoice -> #41.self
    #39 Branch [K2Node_IfThenElse]
      then -> #40.execute, else -> #41.execute
    #40 Set Label Target is IFButton [K2Node_CallFunction]
    #41 Set Label Target is IFButton [K2Node_CallFunction]
    #42 CancelSettings Custom Event [K2Node_CustomEvent]
      then -> #44.execute
    #43 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #44.Condition
    #44 Branch [K2Node_IfThenElse]
      then -> #45.execute, else -> #48.execute
    #45 Set OwnsSettingsSession [K2Node_VariableSet]
      then -> #142.execute
    #46 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #47.self
    #47 Cancel Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #48.execute
    #48 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
    #49 Event On Activated [K2Node_Event]
      then -> #51.execute
    #50 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #51.Condition
    #51 Branch [K2Node_IfThenElse]
      then -> #56.execute, else -> #53.execute
    #52 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #53.self
    #53 Begin Edit Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #148.execute, ReturnValue -> #54.OwnsSettingsSession, ReturnValue -> #55.Condition
    #54 Set OwnsSettingsSession [K2Node_VariableSet]
      then -> #55.execute
    #55 Branch [K2Node_IfThenElse]
      then -> #56.execute, else -> #58.execute
    #56 Refresh Settings Target is WBP Ashen Settings [K2Node_CallFunction]
    #57 Get SettingsStatus [K2Node_VariableGet]
      SettingsStatus -> #58.self
    #58 SetText (Text) Target is Text [K2Node_CallFunction]
    #59 Event OnPreferencesUpdated [K2Node_Event]
      then -> #60.execute
    #60 Refresh Settings Target is WBP Ashen Settings [K2Node_CallFunction]
    #61 On Value Changed (ScaleControl) [K2Node_ComponentBoundEvent]
      then -> #63.execute, Value -> #65.Value
    #62 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #63.Condition
    #63 Branch [K2Node_IfThenElse]
      then -> #65.execute
    #64 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #65.self
    #65 Set Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
    #66 On Value Changed (TextControl) [K2Node_ComponentBoundEvent]
      then -> #68.execute, Value -> #70.Value
    #67 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #68.Condition
    #68 Branch [K2Node_IfThenElse]
      then -> #70.execute
    #69 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #70.self
    #70 Set Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
    #71 On Value Changed (UIAudioControl) [K2Node_ComponentBoundEvent]
      then -> #73.execute, Value -> #75.Value
    #72 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #73.Condition
    #73 Branch [K2Node_IfThenElse]
      then -> #75.execute
    #74 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #75.self
    #75 Set Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
    #76 On Value Changed (GameAudioControl) [K2Node_ComponentBoundEvent]
      then -> #78.execute, Value -> #80.Value
    #77 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #78.Condition
    #78 Branch [K2Node_IfThenElse]
      then -> #80.execute
    #79 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #80.self
    #80 Set Scalar Preference Target is IFSettings Subsystem [K2Node_CallFunction]
    #81 On Clicked (MotionChoice) [K2Node_ComponentBoundEvent]
      then -> #83.execute
    #82 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #83.Condition
    #83 Branch [K2Node_IfThenElse]
      then -> #88.execute
    #84 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #85.self
    #85 Get Reduced Motion Target is IFSettings Subsystem [K2Node_CallFunction]
      ReturnValue -> #86.A
    #86 NOT Boolean [K2Node_CallFunction]
      ReturnValue -> #88.bValue
    #87 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #88.self
    #88 Set Reduced Motion Target is IFSettings Subsystem [K2Node_CallFunction]
    #89 On Clicked (DefaultsChoice) [K2Node_ComponentBoundEvent]
      then -> #91.execute
    #90 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #91.Condition
    #91 Branch [K2Node_IfThenElse]
      then -> #93.execute
    #92 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #93.self
    #93 Restore Defaults Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #150.execute
    #94 On Clicked (CancelChoice) [K2Node_ComponentBoundEvent]
      then -> #95.execute
    #95 Cancel Settings Target is WBP Ashen Settings [K2Node_CallFunction]
    #96 On Clicked (ApplyChoice) [K2Node_ComponentBoundEvent]
      then -> #98.execute
    #97 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #98.Condition
    #98 Branch [K2Node_IfThenElse]
      then -> #100.execute
    #99 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #100.self
    #100 Apply Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #101.execute, FailureReason -> #104.InText, ReturnValue -> #101.Condition
    #101 Branch [K2Node_IfThenElse]
      then -> #151.execute, else -> #104.execute
    #102 Set OwnsSettingsSession [K2Node_VariableSet]
      then -> #103.execute
    #103 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
    #104 SetText (Text) Target is Text [K2Node_CallFunction]
    #105 Get SettingsStatus [K2Node_VariableGet]
      SettingsStatus -> #104.self
    #106 On Clicked (ControlsChoice) [K2Node_ComponentBoundEvent]
      then -> #108.execute
    #107 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #108.self
    #108 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #109 On Clicked (ListenChoice) [K2Node_ComponentBoundEvent]
      then -> #110.execute
    #110 Play Sound 2D [K2Node_CallFunction]
    #111 Event Destruct [K2Node_Event]
      then -> #113.execute
    #112 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #113.Condition
    #113 Branch [K2Node_IfThenElse]
      then -> #114.execute
    #114 Set OwnsSettingsSession [K2Node_VariableSet]
      then -> #155.execute
    #115 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #116.self
    #116 Cancel Target is IFSettings Subsystem [K2Node_CallFunction]
    #117 Event OnThemeUpdated [K2Node_Event]
      then -> #120.execute, Theme -> #118.self, Theme -> #121.self, Theme -> #124.self, Theme -> #127.self, Theme -> #130.self, Theme -> #133.self, Theme -> #136.self, Theme -> #139.self
    #118 Get Outline [K2Node_VariableGet]
      Outline -> #120.InValue
    #119 Get ScaleControl [K2Node_VariableGet]
      ScaleControl -> #120.self
    #120 Set Slider Bar Color Target is Slider [K2Node_CallFunction]
      then -> #123.execute
    #121 Get Accent [K2Node_VariableGet]
      Accent -> #123.InValue
    #122 Get ScaleControl [K2Node_VariableGet]
      ScaleControl -> #123.self
    #123 Set Slider Handle Color Target is Slider [K2Node_CallFunction]
      then -> #126.execute
    #124 Get Outline [K2Node_VariableGet]
      Outline -> #126.InValue
    #125 Get TextControl [K2Node_VariableGet]
      TextControl -> #126.self
    #126 Set Slider Bar Color Target is Slider [K2Node_CallFunction]
      then -> #129.execute
    #127 Get Accent [K2Node_VariableGet]
      Accent -> #129.InValue
    #128 Get TextControl [K2Node_VariableGet]
      TextControl -> #129.self
    #129 Set Slider Handle Color Target is Slider [K2Node_CallFunction]
      then -> #132.execute
    #130 Get Outline [K2Node_VariableGet]
      Outline -> #132.InValue
    #131 Get UIAudioControl [K2Node_VariableGet]
      UIAudioControl -> #132.self
    #132 Set Slider Bar Color Target is Slider [K2Node_CallFunction]
      then -> #135.execute
    #133 Get Accent [K2Node_VariableGet]
      Accent -> #135.InValue
    #134 Get UIAudioControl [K2Node_VariableGet]
      UIAudioControl -> #135.self
    #135 Set Slider Handle Color Target is Slider [K2Node_CallFunction]
      then -> #138.execute
    #136 Get Outline [K2Node_VariableGet]
      Outline -> #138.InValue
    #137 Get GameAudioControl [K2Node_VariableGet]
      GameAudioControl -> #138.self
    #138 Set Slider Bar Color Target is Slider [K2Node_CallFunction]
      then -> #141.execute
    #139 Get Accent [K2Node_VariableGet]
      Accent -> #141.InValue
    #140 Get GameAudioControl [K2Node_VariableGet]
      GameAudioControl -> #141.self
    #141 Set Slider Handle Color Target is Slider [K2Node_CallFunction]
    #142 Set Current Language [K2Node_CallFunction]
      then -> #143.execute
    #143 Set Current Locale [K2Node_CallFunction]
      then -> #47.execute
    #144 Get OriginalLanguage [K2Node_VariableGet]
      OriginalLanguage -> #142.Culture
    #145 Get OriginalLocale [K2Node_VariableGet]
      OriginalLocale -> #143.Culture
    #146 Get Current Language [K2Node_CallFunction]
      ReturnValue -> #148.OriginalLanguage
    #147 Get Current Locale [K2Node_CallFunction]
      ReturnValue -> #149.OriginalLocale
    #148 Set OriginalLanguage [K2Node_VariableSet]
      then -> #149.execute
    #149 Set OriginalLocale [K2Node_VariableSet]
      then -> #54.execute
    #150 Set Current Language and Locale [K2Node_CallFunction]
    #151 Set Current Language [K2Node_CallFunction]
      then -> #152.execute
    #152 Set Current Locale [K2Node_CallFunction]
      then -> #102.execute
    #153 Get Current Language [K2Node_CallFunction]
      ReturnValue -> #151.Culture
    #154 Get Current Locale [K2Node_CallFunction]
      ReturnValue -> #152.Culture
    #155 Set Current Language [K2Node_CallFunction]
      then -> #156.execute
    #156 Set Current Locale [K2Node_CallFunction]
      then -> #116.execute
    #157 Get OriginalLanguage [K2Node_VariableGet]
      OriginalLanguage -> #155.Culture
    #158 Get OriginalLocale [K2Node_VariableGet]
      OriginalLocale -> #156.Culture
    #159 On Clicked (EnglishChoice) [K2Node_ComponentBoundEvent]
      then -> #161.execute
    #160 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #161.Condition
    #161 Branch [K2Node_IfThenElse]
      then -> #162.execute
    #162 Set Current Language and Locale [K2Node_CallFunction]
    #163 On Clicked (TurkishChoice) [K2Node_ComponentBoundEvent]
      then -> #165.execute
    #164 Get OwnsSettingsSession [K2Node_VariableGet]
      OwnsSettingsSession -> #165.Condition
    #165 Branch [K2Node_IfThenElse]
      then -> #166.execute
    #166 Set Current Language and Locale [K2Node_CallFunction]
    #167 IF Language / Language preview: English (owned draft, not saved) [EdGraphNode_Comment]
    #168 IF Language / Language preview: Turkce (owned draft, not saved) [EdGraphNode_Comment]
    #169 IF Language / Capture the incoming language and locale when the edit begins [EdGraphNode_Comment]
    #170 IF Language / Rollback language before Cancel Settings [EdGraphNode_Comment]
    #171 IF Language / Rollback language during owned screen cleanup [EdGraphNode_Comment]
    #172 IF Language / Commit engine culture only after UI preference Apply succeeds [EdGraphNode_Comment]
    #173 IF Language / Defaults previews the project native culture; Cancel still rolls back [EdGraphNode_Comment]

WBP_EmberAction ​

text
/Game/UI/Blueprint/WBP_EmberAction.WBP_EmberAction
  parent: /Script/InterfaceForge.IFEntryWidget
  variable ActionSource : object
  variable SigilStyle : int
  SizeBox_0 : SizeBox
    AbilityChoice : WBP_EmberActionButton_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #8.self, AsIFPresentation Data -> #11.self, AsIFPresentation Data -> #13.self, AsIFPresentation Data -> #17.self, AsIFPresentation Data -> #47.self
    #7 Get AbilityChoice [K2Node_VariableGet]
      AbilityChoice -> #9.self, AbilityChoice -> #10.self, AbilityChoice -> #15.self, AbilityChoice -> #18.self, AbilityChoice -> #25.self, AbilityChoice -> #46.self
    #8 Get Title [K2Node_VariableGet]
      Title -> #9.Text
    #9 Set Label Target is IFButton [K2Node_CallFunction]
      then -> #12.execute
    #10 Get CooldownTint [K2Node_VariableGet]
      CooldownTint -> #12.self, CooldownTint -> #26.self, CooldownTint -> #28.self, CooldownTint -> #38.self
    #11 Get Fraction [K2Node_VariableGet]
      Fraction -> #12.Fraction
    #12 Set Remaining Fraction Target is InterfaceForge Center Tint [K2Node_CallFunction]
      then -> #16.execute
    #13 Get Quantity [K2Node_VariableGet]
      Quantity -> #14.Value, Quantity -> #23.A
    #14 To Text (Integer) [K2Node_CallFunction]
      ReturnValue -> #16.InText
    #15 Get CountdownText [K2Node_VariableGet]
      CountdownText -> #16.self
    #16 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #46.execute
    #17 Get bEnabled [K2Node_VariableGet]
      bEnabled -> #46.Available
    #18 Get SigilImage [K2Node_VariableGet]
      SigilImage -> #19.self
    #19 Get Dynamic Material Target is Image [K2Node_CallFunction]
      then -> #21.execute, ReturnValue -> #21.self
    #20 Get SigilStyle [K2Node_VariableGet]
      SigilStyle -> #22.InInt
    #21 Set Scalar Parameter Value Target is Material Instance Dynamic [K2Node_CallFunction]
      then -> #24.execute
    #22 To Float (Integer) [K2Node_CallFunction]
      ReturnValue -> #21.Value
    #23 integer > integer [K2Node_CallFunction]
      ReturnValue -> #24.Condition
    #24 Branch [K2Node_IfThenElse]
      then -> #26.execute, else -> #28.execute
    #25 Get CountdownPlate [K2Node_VariableGet]
      CountdownPlate -> #27.self, CountdownPlate -> #29.self, CountdownPlate -> #39.self
    #26 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #27.execute
    #27 Set Visibility Target is Widget [K2Node_CallFunction]
    #28 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #29.execute
    #29 Set Visibility Target is Widget [K2Node_CallFunction]
    #30 On Clicked (AbilityChoice) [K2Node_ComponentBoundEvent]
      then -> #32.execute
    #31 Get EntryData [K2Node_VariableGet]
      EntryData -> #32.Object
    #32 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #35.execute, AsIFPresentation Data -> #34.self
    #33 Get ActionSource [K2Node_VariableGet]
      ActionSource -> #35.self
    #34 Get StableKey [K2Node_VariableGet]
      StableKey -> #35.ActionName
    #35 Request UIAction Target is IFData Source [K2Node_Message]
    #36 Event OnEntryReleased [K2Node_Event]
      then -> #37.execute
    #37 Set ActionSource [K2Node_VariableSet]
      then -> #38.execute
    #38 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #39.execute
    #39 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #41.execute
    #40 Get AbilityChoice [K2Node_VariableGet]
      AbilityChoice -> #41.self, AbilityChoice -> #42.self, AbilityChoice -> #44.self, AbilityChoice -> #48.self
    #41 Set Label Target is IFButton [K2Node_CallFunction]
      then -> #43.execute
    #42 Get CountdownText [K2Node_VariableGet]
      CountdownText -> #43.self
    #43 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #45.execute
    #44 Get CooldownTint [K2Node_VariableGet]
      CooldownTint -> #45.self
    #45 Set Remaining Fraction Target is InterfaceForge Center Tint [K2Node_CallFunction]
      then -> #48.execute
    #46 Set Action Availability Target is IFButton [K2Node_CallFunction]
      then -> #49.execute
    #47 Get UnavailableReason [K2Node_VariableGet]
      UnavailableReason -> #46.Reason
    #48 Set Action Availability Target is IFButton [K2Node_CallFunction]
      then -> #52.execute
    #49 Set Tooltip Data Target is IFButton [K2Node_CallFunction]
      then -> #19.execute
    #50 Get AbilityChoice [K2Node_VariableGet]
      AbilityChoice -> #49.self
    #51 Get EntryData [K2Node_VariableGet]
      EntryData -> #49.Data
    #52 Set Tooltip Data Target is IFButton [K2Node_CallFunction]
    #53 Get AbilityChoice [K2Node_VariableGet]
      AbilityChoice -> #52.self

WBP_EmberActionButton ​

text
/Game/UI/Blueprint/WBP_EmberActionButton.WBP_EmberActionButton
  parent: /Script/InterfaceForge.IFButton
  TooltipAnchor : IFTooltipAnchor
    FocusBorder : Border
      VerticalBox_0 : VerticalBox
        SizeBox_0 : SizeBox
          IFSurface_0 : IFSurface
            Overlay_0 : Overlay
              SigilImage : Image
              CooldownTint : IFCenterTint
              CountdownPlate : Border
                CountdownText : IFText
        LabelWidget : IFText
        AvailabilityWidget : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnAppearanceUpdated [K2Node_Event]
      then -> #14.execute, Theme -> #5.self, Theme -> #9.self, Theme -> #10.self, NavigationFocused -> #15.Condition, Enabled -> #11.bPickA
    #5 Get Accent [K2Node_VariableGet]
    #6 Get SigilImage [K2Node_VariableGet]
      SigilImage -> #7.self
    #7 Get Dynamic Material Target is Image [K2Node_CallFunction]
      then -> #8.execute, ReturnValue -> #8.self
    #8 Set Vector Parameter Value Target is Material Instance Dynamic [K2Node_CallFunction]
      then -> #13.execute
    #9 Get Accent [K2Node_VariableGet]
      Accent -> #11.A
    #10 Get MutedText [K2Node_VariableGet]
      MutedText -> #11.B
    #11 Select Color [K2Node_CallFunction]
      ReturnValue -> #8.Value
    #12 Get FocusBorder [K2Node_VariableGet]
      FocusBorder -> #13.self
    #13 Set Padding Target is Border [K2Node_CallFunction]
    #14 Sequence [K2Node_ExecutionSequence]
      then_0 -> #7.execute, then_1 -> #15.execute
    #15 Branch [K2Node_IfThenElse]
      then -> #17.execute
    #16 Self-Reference [K2Node_Self]
      self -> #17.WorldContextObject, self -> #20.StartingWidget, self -> #23.WidgetToFind
    #17 Delay Until Next Tick [K2Node_CallFunction]
      then -> #19.execute
    #18 HasAnyUserFocusedDescendants Target is Widget [K2Node_CallFunction]
      ReturnValue -> #19.Condition
    #19 Branch [K2Node_IfThenElse]
      then -> #20.execute
    #20 Find Parent Widget Of Type [K2Node_CallFunction]
      then -> #21.execute, ReturnValue -> #21.Object
    #21 Cast To ScrollBox [K2Node_DynamicCast]
      then -> #22.execute, AsScroll Box -> #22.self, AsScroll Box -> #23.self
    #22 Force Layout Prepass Target is Widget [K2Node_CallFunction]
      then -> #23.execute
    #23 Scroll Widget Into View Target is Scroll Box [K2Node_CallFunction]

WBP_EmberRPGHUD ​

text
/Game/UI/Blueprint/WBP_EmberRPGHUD.WBP_EmberRPGHUD
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    IFSurface_2 : IFSurface
      ContextReadoutDock : VerticalBox
        ContextPromptRow : HorizontalBox
          ScrollBox_3 : IFScrollBox
            VerticalBox_3 : VerticalBox
              ContextReadout : WBP_HUDReadout_C
              NoticeReadout : WBP_HUDReadout_C
          IFActionPrompt_0 : IFActionPrompt
        PinnedContextActions : VerticalBox
          InteractChoice : WBP_ForgeActionButton_C
          PauseChoice : WBP_ForgeActionButton_C
    PartyHeaderFit : Overlay
      IFSurface_0 : IFSurface
        ScrollBox_0 : IFScrollBox
          VerticalBox_0 : VerticalBox
            HeroReadout : WBP_ProductionReadout_C
            CompanionReadout : WBP_ProductionReadout_C
    QuestHeaderFit : Overlay
      IFSurface_1 : IFSurface
        ScrollBox_1 : IFScrollBox
          VerticalBox_1 : VerticalBox
            QuestReadout : WBP_HUDReadout_C
    ActionDockFit : Overlay
      ActionDockColumn : VerticalBox
        StatusReadout : WBP_HUDReadout_C
        ScrollBox_2 : IFScrollBox
          VerticalBox_2 : VerticalBox
            WrapBox_0 : WrapBox
              KindleEntry : WBP_EmberAction_C
              WardEntry : WBP_EmberAction_C
              StepEntry : WBP_EmberAction_C
    NavigationHintFit : Overlay
      NavigationHintHost : IFSurface
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Request Pause Target is WBP Ember RPGHUD [K2Node_CallFunction]
      then -> #2.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
      then -> #115.execute
    #3 Event Tick [K2Node_Event]
    #4 Event OnInitialized [K2Node_Event]
      then -> #6.execute
    #5 Get InteractChoice [K2Node_VariableGet]
      InteractChoice -> #6.InitialFocus
    #6 Set InitialFocus [K2Node_VariableSet]
    #7 Event InitializeScreen [K2Node_Event]
      then -> #8.execute, Data -> #8.Data, Data -> #31.ActionSource, Data -> #36.ActionSource, Data -> #41.ActionSource
    #8 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #70.execute
    #9 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #11.Data
    #10 Get HeroReadout [K2Node_VariableGet]
      HeroReadout -> #11.self
    #11 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #14.execute
    #12 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #14.Data
    #13 Get CompanionReadout [K2Node_VariableGet]
      CompanionReadout -> #14.self
    #14 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #17.execute
    #15 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #17.Data
    #16 Get QuestReadout [K2Node_VariableGet]
      QuestReadout -> #17.self
    #17 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #20.execute
    #18 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #20.Data
    #19 Get ContextReadout [K2Node_VariableGet]
      ContextReadout -> #20.self
    #20 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #23.execute
    #21 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #23.Data
    #22 Get NoticeReadout [K2Node_VariableGet]
      NoticeReadout -> #23.self
    #23 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #26.execute
    #24 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #26.Data
    #25 Get StatusReadout [K2Node_VariableGet]
      StatusReadout -> #26.self
    #26 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #29.execute
    #27 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #30.Data
    #28 Get KindleEntry [K2Node_VariableGet]
      KindleEntry -> #29.self, KindleEntry -> #30.self, KindleEntry -> #31.self
    #29 Set SigilStyle [K2Node_VariableSet]
      then -> #30.execute
    #30 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #31.execute
    #31 Set ActionSource [K2Node_VariableSet]
      then -> #34.execute
    #32 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #35.Data
    #33 Get WardEntry [K2Node_VariableGet]
      WardEntry -> #34.self, WardEntry -> #35.self, WardEntry -> #36.self
    #34 Set SigilStyle [K2Node_VariableSet]
      then -> #35.execute
    #35 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #36.execute
    #36 Set ActionSource [K2Node_VariableSet]
      then -> #39.execute
    #37 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #40.Data
    #38 Get StepEntry [K2Node_VariableGet]
      StepEntry -> #39.self, StepEntry -> #40.self, StepEntry -> #41.self
    #39 Set SigilStyle [K2Node_VariableSet]
      then -> #40.execute
    #40 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #41.execute
    #41 Set ActionSource [K2Node_VariableSet]
    #42 On Clicked (InteractChoice) [K2Node_ComponentBoundEvent]
      then -> #43.execute
    #43 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #44 On Clicked (PauseChoice) [K2Node_ComponentBoundEvent]
      then -> #45.execute
    #45 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #46 RequestPause Custom Event [K2Node_CustomEvent]
      then -> #47.execute
    #47 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #48 Get KindleEntry [K2Node_VariableGet]
      KindleEntry -> #49.self
    #49 Get AbilityChoice [K2Node_VariableGet]
      AbilityChoice -> #56.self, AbilityChoice -> #57.InWidget, AbilityChoice -> #65.self
    #50 Get WardEntry [K2Node_VariableGet]
      WardEntry -> #51.self
    #51 Get AbilityChoice [K2Node_VariableGet]
      AbilityChoice -> #56.InWidget, AbilityChoice -> #57.self, AbilityChoice -> #58.self, AbilityChoice -> #59.InWidget, AbilityChoice -> #66.self
    #52 Get StepEntry [K2Node_VariableGet]
      StepEntry -> #53.self
    #53 Get AbilityChoice [K2Node_VariableGet]
      AbilityChoice -> #58.InWidget, AbilityChoice -> #59.self, AbilityChoice -> #60.self, AbilityChoice -> #61.InWidget, AbilityChoice -> #62.InWidget, AbilityChoice -> #67.self
    #54 Get InteractChoice [K2Node_VariableGet]
      InteractChoice -> #60.InWidget, InteractChoice -> #61.self, InteractChoice -> #63.self, InteractChoice -> #64.InWidget
    #55 Get PauseChoice [K2Node_VariableGet]
      PauseChoice -> #62.self, PauseChoice -> #63.InWidget, PauseChoice -> #64.self, PauseChoice -> #65.InWidget, PauseChoice -> #66.InWidget, PauseChoice -> #67.InWidget
    #56 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #57.execute
    #57 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #58.execute
    #58 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #59.execute
    #59 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #60.execute
    #60 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #61.execute
    #61 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #62.execute
    #62 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #63.execute
    #63 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #64.execute
    #64 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #65.execute
    #65 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #66.execute
    #66 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
      then -> #67.execute
    #67 Set Navigation Rule Explicit Target is Widget [K2Node_CallFunction]
    #68 Get HeroReadout [K2Node_VariableGet]
      HeroReadout -> #69.self, HeroReadout -> #72.self
    #69 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #70.self, ReadoutTitle -> #71.self
    #70 Set BaseSize [K2Node_VariableSet]
      then -> #71.execute
    #71 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #73.execute
    #72 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #73.self, ReadoutDetail -> #74.self
    #73 Set BaseSize [K2Node_VariableSet]
      then -> #74.execute
    #74 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #77.execute
    #75 Get CompanionReadout [K2Node_VariableGet]
      CompanionReadout -> #76.self, CompanionReadout -> #79.self
    #76 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #77.self, ReadoutTitle -> #78.self
    #77 Set BaseSize [K2Node_VariableSet]
      then -> #78.execute
    #78 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #80.execute
    #79 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #80.self, ReadoutDetail -> #81.self
    #80 Set BaseSize [K2Node_VariableSet]
      then -> #81.execute
    #81 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #84.execute
    #82 Get QuestReadout [K2Node_VariableGet]
      QuestReadout -> #83.self, QuestReadout -> #86.self
    #83 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #84.self, ReadoutTitle -> #85.self
    #84 Set BaseSize [K2Node_VariableSet]
      then -> #85.execute
    #85 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #87.execute
    #86 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #87.self, ReadoutDetail -> #88.self
    #87 Set BaseSize [K2Node_VariableSet]
      then -> #88.execute
    #88 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #11.execute
    #89 Sequence [K2Node_ExecutionSequence]
      then_1 -> #92.execute
    #90 Get ContextReadout [K2Node_VariableGet]
      ContextReadout -> #91.self
    #91 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #92.self, ReadoutTitle -> #93.self
    #92 Set BaseSize [K2Node_VariableSet]
      then -> #93.execute
    #93 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #96.execute
    #94 Get ContextReadout [K2Node_VariableGet]
      ContextReadout -> #95.self
    #95 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #96.self, ReadoutDetail -> #97.self
    #96 Set BaseSize [K2Node_VariableSet]
      then -> #97.execute
    #97 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #100.execute
    #98 Get NoticeReadout [K2Node_VariableGet]
      NoticeReadout -> #99.self
    #99 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #100.self, ReadoutTitle -> #101.self
    #100 Set BaseSize [K2Node_VariableSet]
      then -> #101.execute
    #101 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #104.execute
    #102 Get NoticeReadout [K2Node_VariableGet]
      NoticeReadout -> #103.self
    #103 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #104.self, ReadoutDetail -> #105.self
    #104 Set BaseSize [K2Node_VariableSet]
      then -> #105.execute
    #105 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
    #106 Sequence [K2Node_ExecutionSequence]
      then_0 -> #56.execute, then_1 -> #109.execute
    #107 Get StatusReadout [K2Node_VariableGet]
      StatusReadout -> #108.self
    #108 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #109.self, ReadoutTitle -> #110.self
    #109 Set BaseSize [K2Node_VariableSet]
      then -> #110.execute
    #110 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #113.execute
    #111 Get StatusReadout [K2Node_VariableGet]
      StatusReadout -> #112.self
    #112 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #113.self, ReadoutDetail -> #114.self
    #113 Set BaseSize [K2Node_VariableSet]
      then -> #114.execute
    #114 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
    #115 Sequence [K2Node_ExecutionSequence]
      then_0 -> #106.execute, then_1 -> #117.execute
    #116 Get NavigationHintHost [K2Node_VariableGet]
      NavigationHintHost -> #117.Host
    #117 Register Navigation Hint Host Target is IFScreen [K2Node_CallFunction]

WBP_EmberRoot ​

text
/Game/UI/Blueprint/WBP_EmberRoot.WBP_EmberRoot
  parent: /Script/InterfaceForge.IFRootLayout
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_FieldCard ​

text
/Game/UI/Blueprint/WBP_FieldCard.WBP_FieldCard
  parent: /Script/InterfaceForge.IFEntryWidget
  EntrySurface : IFSurface
    VerticalBox_0 : VerticalBox
      EntryTitle : IFText
      EntryDetail : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self, AsIFPresentation Data -> #10.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Detail [K2Node_VariableGet]
      Detail -> #12.InText
    #11 Get EntryDetail [K2Node_VariableGet]
      EntryDetail -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
    #13 Event OnEntrySelectionChanged [K2Node_Event]
      then -> #14.execute, bSelected -> #14.Condition
    #14 Branch [K2Node_IfThenElse]
      then -> #16.execute, else -> #22.execute
    #15 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #16.self, EntryTitle -> #17.self
    #16 Set Role [K2Node_VariableSet]
      then -> #17.execute
    #17 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #19.execute
    #18 Get EntrySurface [K2Node_VariableGet]
      EntrySurface -> #19.self, EntrySurface -> #20.self
    #19 Set OutlineWidth [K2Node_VariableSet]
      then -> #20.execute
    #20 Refresh Appearance Target is InterfaceForge Surface [K2Node_CallFunction]
    #21 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #22.self, EntryTitle -> #23.self
    #22 Set Role [K2Node_VariableSet]
      then -> #23.execute
    #23 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #25.execute
    #24 Get EntrySurface [K2Node_VariableGet]
      EntrySurface -> #25.self, EntrySurface -> #26.self
    #25 Set OutlineWidth [K2Node_VariableSet]
      then -> #26.execute
    #26 Refresh Appearance Target is InterfaceForge Surface [K2Node_CallFunction]
    #27 Event OnEntryReleased [K2Node_Event]
      then -> #29.execute
    #28 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #29.self
    #29 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #31.execute
    #30 Get EntryDetail [K2Node_VariableGet]
      EntryDetail -> #31.self
    #31 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #33.execute
    #32 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #33.self, EntryTitle -> #34.self
    #33 Set Role [K2Node_VariableSet]
      then -> #34.execute
    #34 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #36.execute
    #35 Get EntrySurface [K2Node_VariableGet]
      EntrySurface -> #36.self, EntrySurface -> #37.self
    #36 Set OutlineWidth [K2Node_VariableSet]
      then -> #37.execute
    #37 Refresh Appearance Target is InterfaceForge Surface [K2Node_CallFunction]

WBP_FieldCards ​

text
/Game/UI/Blueprint/WBP_FieldCards.WBP_FieldCards
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    IFSurface_0 : IFSurface
      VerticalBox_0 : VerticalBox
        CardsHeading : IFText — Field overview
        FieldTiles : TileView
        SizeBox_0 : SizeBox
          IFScrollBox_0 : IFScrollBox
            SelectedReading : WBP_HUDReadout_C
        CloseCards : WBP_ForgeActionButton_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event InitializeScreen [K2Node_Event]
      then -> #5.execute, Data -> #5.Data
    #5 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #7.execute
    #6 Get FieldTiles [K2Node_VariableGet]
      FieldTiles -> #7.self, FieldTiles -> #9.self, FieldTiles -> #11.self, FieldTiles -> #13.self, FieldTiles -> #15.self, FieldTiles -> #17.self, FieldTiles -> #18.InitialFocus, FieldTiles -> #20.self, FieldTiles -> #28.ListView, FieldTiles -> #30.self
    #7 Clear List Items Target is List View [K2Node_CallFunction]
      then -> #9.execute
    #8 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #9.Item
    #9 Add Item Target is List View [K2Node_CallFunction]
      then -> #11.execute
    #10 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #11.Item
    #11 Add Item Target is List View [K2Node_CallFunction]
      then -> #13.execute
    #12 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #13.Item
    #13 Add Item Target is List View [K2Node_CallFunction]
      then -> #15.execute
    #14 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #15.Item
    #15 Add Item Target is List View [K2Node_CallFunction]
      then -> #17.execute
    #16 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #17.Item
    #17 Add Item Target is List View [K2Node_CallFunction]
      then -> #18.execute
    #18 Set InitialFocus [K2Node_VariableSet]
      then -> #20.execute
    #19 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #20.Item, ReturnValue -> #22.Data
    #20 Set Selected Item Target is List View [K2Node_CallFunction]
      then -> #22.execute
    #21 Get SelectedReading [K2Node_VariableGet]
      SelectedReading -> #22.self, SelectedReading -> #24.self, SelectedReading -> #31.self
    #22 Initialize Entry Target is IFEntry [K2Node_CallFunction]
    #23 On Item Selection Changed (FieldTiles) [K2Node_ComponentBoundEvent]
      then -> #32.execute, Item -> #24.Data, bIsSelected -> #32.Condition
    #24 Initialize Entry Target is IFEntry [K2Node_CallFunction]
    #25 On Clicked (CloseCards) [K2Node_ComponentBoundEvent]
      then -> #26.execute
    #26 Request Back Target is IFScreen [K2Node_CallFunction]
    #27 Event OnThemeUpdated [K2Node_Event]
      then -> #28.execute, Theme -> #28.Theme
    #28 Apply Theme to List View [K2Node_CallFunction]
    #29 Event On Deactivated [K2Node_Event]
      then -> #30.execute
    #30 Clear List Items Target is List View [K2Node_CallFunction]
      then -> #31.execute
    #31 Release Entry Target is IFEntry [K2Node_CallFunction]
    #32 Branch [K2Node_IfThenElse]
      then -> #24.execute

WBP_FieldJournal ​

text
/Game/UI/Blueprint/WBP_FieldJournal.WBP_FieldJournal
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ResponsiveCardFit : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            JournalHeading : IFText — Field journal
            JournalList : ListView
            HorizontalBox_0 : HorizontalBox
              MineralTheme : IFButton
              EmberTheme : IFButton
            SurveyChoice : WBP_ForgeActionButton_C
            CardsChoice : WBP_ForgeActionButton_C
            CloseJournal : IFButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event InitializeScreen [K2Node_Event]
      then -> #5.execute, Data -> #5.Data
    #5 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #7.execute
    #6 Get JournalList [K2Node_VariableGet]
      JournalList -> #7.self, JournalList -> #9.self, JournalList -> #11.self, JournalList -> #13.self, JournalList -> #15.self, JournalList -> #17.self
    #7 Clear List Items Target is List View [K2Node_CallFunction]
      then -> #9.execute
    #8 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #9.Item
    #9 Add Item Target is List View [K2Node_CallFunction]
      then -> #11.execute
    #10 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #11.Item
    #11 Add Item Target is List View [K2Node_CallFunction]
      then -> #13.execute
    #12 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #13.Item
    #13 Add Item Target is List View [K2Node_CallFunction]
      then -> #15.execute
    #14 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #15.Item
    #15 Add Item Target is List View [K2Node_CallFunction]
      then -> #17.execute
    #16 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #17.Item
    #17 Add Item Target is List View [K2Node_CallFunction]
    #18 On Clicked (CloseJournal) [K2Node_ComponentBoundEvent]
      then -> #19.execute
    #19 Request Back Target is IFScreen [K2Node_CallFunction]
    #20 Event OnInitialized [K2Node_Event]
      then -> #22.execute
    #21 Get CloseJournal [K2Node_VariableGet]
      CloseJournal -> #22.InitialFocus
    #22 Set InitialFocus [K2Node_VariableSet]
    #23 On Clicked (MineralTheme) [K2Node_ComponentBoundEvent]
      then -> #26.execute
    #24 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #25.PlayerController
    #25 IFLocal Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #26.self
    #26 Set Theme Target is IFLocal Player Subsystem [K2Node_CallFunction]
    #27 On Clicked (EmberTheme) [K2Node_ComponentBoundEvent]
      then -> #30.execute
    #28 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #29.PlayerController
    #29 IFLocal Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #30.self
    #30 Set Theme Target is IFLocal Player Subsystem [K2Node_CallFunction]
    #31 On Clicked (SurveyChoice) [K2Node_ComponentBoundEvent]
      then -> #32.execute
    #32 Construct BP Watchpost Source [K2Node_GenericCreateObject]
      then -> #35.execute, ReturnValue -> #35.Data
    #33 Self-Reference [K2Node_Self]
      self -> #32.self
    #34 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #35.self
    #35 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #36 Event OnThemeUpdated [K2Node_Event]
      then -> #37.execute, Theme -> #37.Theme
    #37 Apply Theme to List View [K2Node_CallFunction]
    #38 Get JournalList [K2Node_VariableGet]
      JournalList -> #37.ListView
    #39 On Clicked (CardsChoice) [K2Node_ComponentBoundEvent]
      then -> #41.execute
    #40 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #41.self
    #41 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #42 Get ScreenData [K2Node_VariableGet]
      ScreenData -> #41.Data

WBP_ForgeActionButton ​

text
/Game/UI/Blueprint/WBP_ForgeActionButton.WBP_ForgeActionButton
  parent: /Script/InterfaceForge.IFButton
  TooltipAnchor : IFTooltipAnchor
    FocusBorder : Border
      HorizontalBox_0 : HorizontalBox
        SizeBox_0 : SizeBox
          AccentMark : Border
        LabelWidget : TextBlock
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnAppearanceUpdated [K2Node_Event]
      then -> #7.execute, Theme -> #5.self
    #5 Get Accent [K2Node_VariableGet]
      Accent -> #7.InBrushColor
    #6 Get AccentMark [K2Node_VariableGet]
      AccentMark -> #7.self
    #7 Set Brush Color Target is Border [K2Node_CallFunction]

WBP_ForgeAppliedPrompt ​

text
/Game/UI/Blueprint/WBP_ForgeAppliedPrompt.WBP_ForgeAppliedPrompt
  parent: /Script/InterfaceForge.IFActionPrompt
  PromptBody : HorizontalBox
    CueGlyph : Image
    CueReadingBounds : SizeBox
      CueReading : IFScrollBox
        CueCaption : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnPromptUpdated [K2Node_Event]
      then -> #5.execute
    #5 Branch [K2Node_IfThenElse]
      then -> #10.execute, else -> #19.execute
    #6 Get bHasResolvedGlyph [K2Node_VariableGet]
      bHasResolvedGlyph -> #5.Condition
    #7 Get CueGlyph [K2Node_VariableGet]
      CueGlyph -> #10.self, CueGlyph -> #11.self, CueGlyph -> #18.self, CueGlyph -> #19.self, CueGlyph -> #26.self
    #8 Get CueCaption [K2Node_VariableGet]
      CueCaption -> #13.self, CueCaption -> #21.self
    #9 Get ResolvedGlyph [K2Node_VariableGet]
      ResolvedGlyph -> #10.InBrush
    #10 Set Brush Target is Image [K2Node_CallFunction]
      then -> #11.execute
    #11 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #13.execute
    #12 Get ActionLabel [K2Node_VariableGet]
      ActionLabel -> #13.InText
    #13 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #18.execute
    #14 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #15.PlayerController
    #15 IFLocal Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #16.self
    #16 Get Theme Target is IFLocal Player Subsystem [K2Node_CallFunction]
      ReturnValue -> #17.self
    #17 Get Accent [K2Node_VariableGet]
      Accent -> #18.InColorAndOpacity
    #18 Set Color and Opacity Target is Image [K2Node_CallFunction]
    #19 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #21.execute
    #20 Get PromptText [K2Node_VariableGet]
      PromptText -> #21.InText
    #21 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #26.execute
    #22 Get Owning Player Target is Widget [K2Node_CallFunction]
      ReturnValue -> #23.PlayerController
    #23 IFLocal Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #24.self
    #24 Get Theme Target is IFLocal Player Subsystem [K2Node_CallFunction]
      ReturnValue -> #25.self
    #25 Get Accent [K2Node_VariableGet]
      Accent -> #26.InColorAndOpacity
    #26 Set Color and Opacity Target is Image [K2Node_CallFunction]

WBP_ForgeConfirmation ​

text
/Game/UI/Blueprint/WBP_ForgeConfirmation.WBP_ForgeConfirmation
  parent: /Script/InterfaceForge.IFDialog
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ResponsiveCardFit : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            DialogTitle : IFText
            DialogMessageScroll : IFScrollBox
              DialogMessage : IFText
            HorizontalBox_0 : HorizontalBox
              CancelChoice : WBP_ForgeActionButton_C
              ConfirmChoice : WBP_ForgeActionButton_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event InitializeScreen [K2Node_Event]
      then -> #5.execute, Data -> #5.Data
    #5 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #9.execute
    #6 Get Dialog Data Target is IFDialog [K2Node_CallFunction]
      ReturnValue -> #7.self, ReturnValue -> #10.self, ReturnValue -> #13.self, ReturnValue -> #16.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get DialogTitle [K2Node_VariableGet]
      DialogTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Message [K2Node_VariableGet]
      Message -> #12.InText
    #11 Get DialogMessage [K2Node_VariableGet]
      DialogMessage -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #15.execute
    #13 Get CancelLabel [K2Node_VariableGet]
      CancelLabel -> #15.Text
    #14 Get CancelChoice [K2Node_VariableGet]
      CancelChoice -> #15.self
    #15 Set Label Target is IFButton [K2Node_CallFunction]
      then -> #18.execute
    #16 Get ConfirmLabel [K2Node_VariableGet]
      ConfirmLabel -> #18.Text
    #17 Get ConfirmChoice [K2Node_VariableGet]
      ConfirmChoice -> #18.self
    #18 Set Label Target is IFButton [K2Node_CallFunction]
    #19 On Clicked (CancelChoice) [K2Node_ComponentBoundEvent]
      then -> #20.execute
    #20 Reply Target is IFDialog [K2Node_CallFunction]
    #21 On Clicked (ConfirmChoice) [K2Node_ComponentBoundEvent]
      then -> #22.execute
    #22 Reply Target is IFDialog [K2Node_CallFunction]
    #23 Event OnInitialized [K2Node_Event]
      then -> #25.execute
    #24 Get CancelChoice [K2Node_VariableGet]
      CancelChoice -> #25.InitialFocus
    #25 Set InitialFocus [K2Node_VariableSet]

WBP_ForgeContextHint ​

text
/Game/UI/Blueprint/WBP_ForgeContextHint.WBP_ForgeContextHint
  parent: /Script/InterfaceForge.IFEntryWidget
  HintDetail : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self
    #7 Get Detail [K2Node_VariableGet]
      Detail -> #9.InText
    #8 Get HintDetail [K2Node_VariableGet]
      HintDetail -> #9.self, HintDetail -> #11.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
    #10 Event OnEntryReleased [K2Node_Event]
      then -> #11.execute
    #11 SetText (Text) Target is Text [K2Node_CallFunction]

WBP_ForgeFlowRoot ​

text
/Game/UI/Blueprint/WBP_ForgeFlowRoot.WBP_ForgeFlowRoot
  parent: /Script/InterfaceForge.IFRootLayout
  SafeZone_0 : SafeZone
    Overlay_0 : Overlay
      HUD : CommonActivatableWidgetStack
      Menu : CommonActivatableWidgetStack
      Results : IFNotificationLayer
      Modal : CommonActivatableWidgetStack
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnInitialized [K2Node_Event]
      then -> #6.execute
    #5 Get HUD [K2Node_VariableGet]
      HUD -> #6.Stack
    #6 Register Layer Target is IFRoot Layout [K2Node_CallFunction]
      then -> #8.execute
    #7 Get Menu [K2Node_VariableGet]
      Menu -> #8.Stack
    #8 Register Layer Target is IFRoot Layout [K2Node_CallFunction]
      then -> #10.execute
    #9 Get Modal [K2Node_VariableGet]
      Modal -> #10.Stack
    #10 Register Layer Target is IFRoot Layout [K2Node_CallFunction]
      then -> #12.execute
    #11 Get Results [K2Node_VariableGet]
      Results -> #12.Presenter
    #12 Register Notification Layer Target is IFRoot Layout [K2Node_CallFunction]

WBP_ForgeLoading ​

text
/Game/UI/Blueprint/WBP_ForgeLoading.WBP_ForgeLoading
  parent: /Script/InterfaceForge.IFLoadingScreen
  Overlay_0 : Overlay
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            LoadingTitle : IFText
            LoadingDetail : IFText
            LoadingProgress : IFProgressWidget
            CancelButton : WBP_ForgeActionButton_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_ForgeNotification ​

text
/Game/UI/Blueprint/WBP_ForgeNotification.WBP_ForgeNotification
  parent: /Script/InterfaceForge.IFEntryWidget
  IFSurface_0 : IFSurface
    ResultRibbon : HorizontalBox
      ResultTitle : IFText
      ResultDetail : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self, AsIFPresentation Data -> #10.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get ResultTitle [K2Node_VariableGet]
      ResultTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Detail [K2Node_VariableGet]
      Detail -> #12.InText
    #11 Get ResultDetail [K2Node_VariableGet]
      ResultDetail -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
    #13 Event OnEntryReleased [K2Node_Event]
      then -> #15.execute
    #14 Get ResultTitle [K2Node_VariableGet]
      ResultTitle -> #15.self
    #15 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #17.execute
    #16 Get ResultDetail [K2Node_VariableGet]
      ResultDetail -> #17.self
    #17 SetText (Text) Target is Text [K2Node_CallFunction]

WBP_ForgeRoot ​

text
/Game/UI/Blueprint/WBP_ForgeRoot.WBP_ForgeRoot
  parent: /Script/InterfaceForge.IFRootLayout
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]

WBP_ForgeTooltip ​

text
/Game/UI/Blueprint/WBP_ForgeTooltip.WBP_ForgeTooltip
  parent: /Script/InterfaceForge.IFEntryWidget
  IFSurface_0 : IFSurface
    VerticalBox_0 : VerticalBox
      HintTitle : IFText
      HintDetail : IFText
      HintReason : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self, AsIFPresentation Data -> #10.self, AsIFPresentation Data -> #13.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get HintTitle [K2Node_VariableGet]
      HintTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Detail [K2Node_VariableGet]
      Detail -> #12.InText
    #11 Get HintDetail [K2Node_VariableGet]
      HintDetail -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #15.execute
    #13 Get UnavailableReason [K2Node_VariableGet]
      UnavailableReason -> #15.InText, UnavailableReason -> #23.InText
    #14 Get HintReason [K2Node_VariableGet]
      HintReason -> #15.self
    #15 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #24.execute
    #16 Event OnEntryReleased [K2Node_Event]
      then -> #18.execute
    #17 Get HintTitle [K2Node_VariableGet]
      HintTitle -> #18.self
    #18 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #20.execute
    #19 Get HintDetail [K2Node_VariableGet]
      HintDetail -> #20.self
    #20 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #22.execute
    #21 Get HintReason [K2Node_VariableGet]
      HintReason -> #22.self
    #22 SetText (Text) Target is Text [K2Node_CallFunction]
    #23 Text Is Empty [K2Node_CallFunction]
      ReturnValue -> #24.Condition
    #24 Branch [K2Node_IfThenElse]
      then -> #26.execute, else -> #28.execute
    #25 Get HintReason [K2Node_VariableGet]
      HintReason -> #26.self
    #26 Set Visibility Target is Widget [K2Node_CallFunction]
    #27 Get HintReason [K2Node_VariableGet]
      HintReason -> #28.self
    #28 Set Visibility Target is Widget [K2Node_CallFunction]

WBP_ForgeWorldStatus ​

text
/Game/UI/Blueprint/WBP_ForgeWorldStatus.WBP_ForgeWorldStatus
  parent: /Script/InterfaceForge.IFEntryWidget
  VerticalBox_0 : VerticalBox
    WorldTitleFit : ScaleBox
      ReadoutTitle : IFText
    ReadoutDetail : IFText
    ProductionProgress : IFProgressWidget
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self, AsIFPresentation Data -> #10.self, AsIFPresentation Data -> #13.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Detail [K2Node_VariableGet]
      Detail -> #12.InText
    #11 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #15.execute
    #13 Get Fraction [K2Node_VariableGet]
      Fraction -> #15.Value
    #14 Get ProductionProgress [K2Node_VariableGet]
      ProductionProgress -> #15.self
    #15 Set Fraction Target is Forge Progress [K2Node_CallFunction]
    #16 Event OnEntryReleased [K2Node_Event]
      then -> #18.execute
    #17 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #18.self
    #18 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #20.execute
    #19 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #20.self
    #20 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #22.execute
    #21 Get ProductionProgress [K2Node_VariableGet]
      ProductionProgress -> #22.self
    #22 Set Fraction Target is Forge Progress [K2Node_CallFunction]

WBP_HUDReadout ​

text
/Game/UI/Blueprint/WBP_HUDReadout.WBP_HUDReadout
  parent: /Script/InterfaceForge.IFEntryWidget
  variable InlineDetail : bool
  ReadoutFlow : StackBox
    ReadoutTitle : IFText
    ReadoutDetail : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
      then -> #25.execute
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self, AsIFPresentation Data -> #10.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Detail [K2Node_VariableGet]
      Detail -> #12.InText, Detail -> #13.InText
    #11 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #14.execute
    #13 Text Is Empty [K2Node_CallFunction]
      ReturnValue -> #14.Condition
    #14 Branch [K2Node_IfThenElse]
      then -> #16.execute, else -> #17.execute
    #15 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #16.self, ReadoutDetail -> #17.self, ReadoutDetail -> #23.self
    #16 Set Visibility Target is Widget [K2Node_CallFunction]
    #17 Set Visibility Target is Widget [K2Node_CallFunction]
    #18 Event OnEntryReleased [K2Node_Event]
      then -> #20.execute
    #19 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #20.self
    #20 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #22.execute
    #21 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #22.self
    #22 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #23.execute
    #23 Set Visibility Target is Widget [K2Node_CallFunction]
    #24 Get InlineDetail [K2Node_VariableGet]
      InlineDetail -> #25.Condition
    #25 Branch [K2Node_IfThenElse]
      then -> #27.execute, else -> #37.execute
    #26 Get ReadoutFlow [K2Node_VariableGet]
      ReadoutFlow -> #27.self
    #27 Set Orientation [K2Node_VariableSet]
      then -> #47.execute
    #28 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #29.Widget
    #29 Slot as Stack Box Slot [K2Node_CallFunction]
      ReturnValue -> #30.self, ReturnValue -> #31.self
    #30 Set Padding [K2Node_VariableSet]
      then -> #31.execute
    #31 Set Size [K2Node_VariableSet]
      then -> #34.execute
    #32 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #33.Widget
    #33 Slot as Stack Box Slot [K2Node_CallFunction]
      ReturnValue -> #34.self, ReturnValue -> #35.self
    #34 Set Padding [K2Node_VariableSet]
      then -> #35.execute
    #35 Set Size [K2Node_VariableSet]
    #36 Get ReadoutFlow [K2Node_VariableGet]
      ReadoutFlow -> #37.self
    #37 Set Orientation [K2Node_VariableSet]
      then -> #49.execute
    #38 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #39.Widget
    #39 Slot as Stack Box Slot [K2Node_CallFunction]
      ReturnValue -> #40.self, ReturnValue -> #41.self
    #40 Set Padding [K2Node_VariableSet]
      then -> #41.execute
    #41 Set Size [K2Node_VariableSet]
      then -> #44.execute
    #42 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #43.Widget
    #43 Slot as Stack Box Slot [K2Node_CallFunction]
      ReturnValue -> #44.self, ReturnValue -> #45.self
    #44 Set Padding [K2Node_VariableSet]
      then -> #45.execute
    #45 Set Size [K2Node_VariableSet]
    #46 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #47.self
    #47 Set Auto Wrap Text Target is Text [K2Node_CallFunction]
      then -> #30.execute
    #48 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #49.self
    #49 Set Auto Wrap Text Target is Text [K2Node_CallFunction]
      then -> #40.execute

WBP_JournalEntry ​

text
/Game/UI/Blueprint/WBP_JournalEntry.WBP_JournalEntry
  parent: /Script/InterfaceForge.IFEntryWidget
  EntrySurface : IFSurface
    VerticalBox_0 : VerticalBox
      EntryTitle : IFText
      EntryDetail : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self, AsIFPresentation Data -> #10.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Detail [K2Node_VariableGet]
      Detail -> #12.InText
    #11 Get EntryDetail [K2Node_VariableGet]
      EntryDetail -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
    #13 Event OnEntrySelectionChanged [K2Node_Event]
      then -> #14.execute, bSelected -> #14.Condition
    #14 Branch [K2Node_IfThenElse]
      then -> #16.execute, else -> #22.execute
    #15 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #16.self, EntryTitle -> #17.self
    #16 Set Role [K2Node_VariableSet]
      then -> #17.execute
    #17 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #19.execute
    #18 Get EntrySurface [K2Node_VariableGet]
      EntrySurface -> #19.self, EntrySurface -> #20.self
    #19 Set OutlineWidth [K2Node_VariableSet]
      then -> #20.execute
    #20 Refresh Appearance Target is InterfaceForge Surface [K2Node_CallFunction]
    #21 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #22.self, EntryTitle -> #23.self
    #22 Set Role [K2Node_VariableSet]
      then -> #23.execute
    #23 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #25.execute
    #24 Get EntrySurface [K2Node_VariableGet]
      EntrySurface -> #25.self, EntrySurface -> #26.self
    #25 Set OutlineWidth [K2Node_VariableSet]
      then -> #26.execute
    #26 Refresh Appearance Target is InterfaceForge Surface [K2Node_CallFunction]
    #27 Event OnEntryReleased [K2Node_Event]
      then -> #29.execute
    #28 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #29.self
    #29 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #31.execute
    #30 Get EntryDetail [K2Node_VariableGet]
      EntryDetail -> #31.self
    #31 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #33.execute
    #32 Get EntryTitle [K2Node_VariableGet]
      EntryTitle -> #33.self, EntryTitle -> #34.self
    #33 Set Role [K2Node_VariableSet]
      then -> #34.execute
    #34 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #36.execute
    #35 Get EntrySurface [K2Node_VariableGet]
      EntrySurface -> #36.self, EntrySurface -> #37.self
    #36 Set OutlineWidth [K2Node_VariableSet]
      then -> #37.execute
    #37 Refresh Appearance Target is InterfaceForge Surface [K2Node_CallFunction]

WBP_OutpostCommand ​

text
/Game/UI/Blueprint/WBP_OutpostCommand.WBP_OutpostCommand
  parent: /Script/InterfaceForge.IFEntryWidget
  variable ActionSource : object
  CommandChoice : WBP_OutpostCommandButton_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #8.self, AsIFPresentation Data -> #10.self, AsIFPresentation Data -> #11.self
    #7 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #9.self, CommandChoice -> #12.self, CommandChoice -> #21.self, CommandChoice -> #22.self
    #8 Get Title [K2Node_VariableGet]
      Title -> #9.Text
    #9 Set Label Target is IFButton [K2Node_CallFunction]
      then -> #12.execute
    #10 Get bEnabled [K2Node_VariableGet]
      bEnabled -> #12.Available
    #11 Get UnavailableReason [K2Node_VariableGet]
      UnavailableReason -> #12.Reason
    #12 Set Action Availability Target is IFButton [K2Node_CallFunction]
      then -> #36.execute
    #13 On Clicked (CommandChoice) [K2Node_ComponentBoundEvent]
      then -> #15.execute
    #14 Get EntryData [K2Node_VariableGet]
      EntryData -> #15.Object
    #15 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #18.execute, AsIFPresentation Data -> #17.self
    #16 Get ActionSource [K2Node_VariableGet]
      ActionSource -> #18.self
    #17 Get StableKey [K2Node_VariableGet]
      StableKey -> #18.ActionName
    #18 Request UIAction Target is IFData Source [K2Node_Message]
    #19 Event OnEntryReleased [K2Node_Event]
      then -> #20.execute
    #20 Set ActionSource [K2Node_VariableSet]
      then -> #21.execute
    #21 Set Label Target is IFButton [K2Node_CallFunction]
      then -> #22.execute
    #22 Set Action Availability Target is IFButton [K2Node_CallFunction]
      then -> #39.execute
    #23 HasAnyUserFocusedDescendants Target is Widget [K2Node_CallFunction]
      ReturnValue -> #24.Condition
    #24 Branch [K2Node_IfThenElse]
      then -> #28.execute
    #25 Get Parent Target is Widget [K2Node_CallFunction]
      ReturnValue -> #26.self, ReturnValue -> #27.Object
    #26 Get Parent Target is Widget [K2Node_CallFunction]
      ReturnValue -> #29.Object
    #27 Is Valid [K2Node_CallFunction]
      ReturnValue -> #28.Condition
    #28 Branch [K2Node_IfThenElse]
      then -> #29.execute
    #29 Cast To ScrollBox [K2Node_DynamicCast]
      then -> #32.execute, AsScroll Box -> #31.self, AsScroll Box -> #32.self
    #30 Self-Reference [K2Node_Self]
      self -> #31.WidgetToFind
    #31 Scroll Widget Into View Target is Scroll Box [K2Node_CallFunction]
    #32 Force Layout Prepass Target is Widget [K2Node_CallFunction]
      then -> #31.execute
    #33 Delay Until Next Tick [K2Node_CallFunction]
      then -> #24.execute
    #34 Self-Reference [K2Node_Self]
      self -> #33.WorldContextObject
    #35 Cancel Latent Actions Target is User Widget [K2Node_CallFunction]
    #36 Set Tooltip Data Target is IFButton [K2Node_CallFunction]
      then -> #33.execute
    #37 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #36.self
    #38 Get EntryData [K2Node_VariableGet]
      EntryData -> #36.Data
    #39 Set Tooltip Data Target is IFButton [K2Node_CallFunction]
      then -> #35.execute
    #40 Get CommandChoice [K2Node_VariableGet]
      CommandChoice -> #39.self

WBP_OutpostCommandButton ​

text
/Game/UI/Blueprint/WBP_OutpostCommandButton.WBP_OutpostCommandButton
  parent: /Script/InterfaceForge.IFButton
  TooltipAnchor : IFTooltipAnchor
    FocusBorder : Border
      VerticalBox_0 : VerticalBox
        LabelWidget : IFText
        AvailabilityWidget : IFText
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnAppearanceUpdated [K2Node_Event]
      then -> #9.execute, Theme -> #9.ThemeOverride, Theme -> #10.ThemeOverride, Enabled -> #11.Condition
    #5 Get LabelWidget [K2Node_VariableGet]
      LabelWidget -> #6.Object
    #6 Cast To IFText [K2Node_DynamicCast]
      AsInterfaceForge Text -> #9.self, AsInterfaceForge Text -> #12.self, AsInterfaceForge Text -> #13.self, AsInterfaceForge Text -> #15.self, AsInterfaceForge Text -> #16.self
    #7 Get AvailabilityWidget [K2Node_VariableGet]
      AvailabilityWidget -> #8.Object
    #8 Cast To IFText [K2Node_DynamicCast]
      AsInterfaceForge Text -> #10.self, AsInterfaceForge Text -> #14.self, AsInterfaceForge Text -> #17.self
    #9 Set ThemeOverride [K2Node_VariableSet]
      then -> #10.execute
    #10 Set ThemeOverride [K2Node_VariableSet]
      then -> #11.execute
    #11 Branch [K2Node_IfThenElse]
      then -> #12.execute, else -> #15.execute
    #12 Set Role [K2Node_VariableSet]
      then -> #13.execute
    #13 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #14.execute
    #14 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
    #15 Set Role [K2Node_VariableSet]
      then -> #16.execute
    #16 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]
      then -> #17.execute
    #17 Refresh Appearance Target is InterfaceForge Text [K2Node_CallFunction]

WBP_ProductionReadout ​

text
/Game/UI/Blueprint/WBP_ProductionReadout.WBP_ProductionReadout
  parent: /Script/InterfaceForge.IFEntryWidget
  VerticalBox_0 : VerticalBox
    ReadoutTitle : IFText
    ReadoutDetail : IFText
    ProductionProgress : IFProgressWidget
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self, AsIFPresentation Data -> #10.self, AsIFPresentation Data -> #13.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Detail [K2Node_VariableGet]
      Detail -> #12.InText, Detail -> #16.InText
    #11 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #15.execute
    #13 Get Fraction [K2Node_VariableGet]
      Fraction -> #15.Value
    #14 Get ProductionProgress [K2Node_VariableGet]
      ProductionProgress -> #15.self
    #15 Set Fraction Target is Forge Progress [K2Node_CallFunction]
      then -> #17.execute
    #16 Text Is Empty [K2Node_CallFunction]
      ReturnValue -> #17.Condition
    #17 Branch [K2Node_IfThenElse]
      then -> #19.execute, else -> #20.execute
    #18 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #19.self, ReadoutDetail -> #20.self, ReadoutDetail -> #26.self
    #19 Set Visibility Target is Widget [K2Node_CallFunction]
    #20 Set Visibility Target is Widget [K2Node_CallFunction]
    #21 Event OnEntryReleased [K2Node_Event]
      then -> #23.execute
    #22 Get ReadoutTitle [K2Node_VariableGet]
      ReadoutTitle -> #23.self
    #23 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #25.execute
    #24 Get ReadoutDetail [K2Node_VariableGet]
      ReadoutDetail -> #25.self
    #25 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #26.execute
    #26 Set Visibility Target is Widget [K2Node_CallFunction]
      then -> #28.execute
    #27 Get ProductionProgress [K2Node_VariableGet]
      ProductionProgress -> #28.self
    #28 Set Fraction Target is Forge Progress [K2Node_CallFunction]

WBP_WatchpostEntry ​

text
/Game/UI/Blueprint/WBP_WatchpostEntry.WBP_WatchpostEntry
  parent: /Script/InterfaceForge.IFEntryWidget
  variable ProgressPresentation : byte
  VerticalBox_0 : VerticalBox
    RecordTitle : IFText
    RecordDetail : IFText
    HorizontalBox_0 : HorizontalBox
      RecordCount : IFText
      RecordTotal : IFText — / 4
    RecordProgress : IFProgressWidget
    RecordChoice : WBP_ForgeActionButton_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event OnEntryRefreshed [K2Node_Event]
      then -> #6.execute
    #5 Get EntryData [K2Node_VariableGet]
      EntryData -> #6.Object, EntryData -> #27.Context
    #6 Cast To IFPresentationData [K2Node_DynamicCast]
      then -> #9.execute, AsIFPresentation Data -> #7.self, AsIFPresentation Data -> #10.self, AsIFPresentation Data -> #13.self, AsIFPresentation Data -> #17.self, AsIFPresentation Data -> #20.self
    #7 Get Title [K2Node_VariableGet]
      Title -> #9.InText
    #8 Get RecordTitle [K2Node_VariableGet]
      RecordTitle -> #9.self
    #9 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #12.execute
    #10 Get Detail [K2Node_VariableGet]
      Detail -> #12.InText
    #11 Get RecordDetail [K2Node_VariableGet]
      RecordDetail -> #12.self
    #12 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #15.execute
    #13 Get Quantity [K2Node_VariableGet]
      Quantity -> #16.Value
    #14 Get RecordCount [K2Node_VariableGet]
      RecordCount -> #15.self
    #15 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #19.execute
    #16 To Text (Integer) [K2Node_CallFunction]
      ReturnValue -> #15.InText
    #17 Get Fraction [K2Node_VariableGet]
      Fraction -> #19.Value
    #18 Get RecordProgress [K2Node_VariableGet]
      RecordProgress -> #19.self, RecordProgress -> #35.self
    #19 Set Fraction Target is Forge Progress [K2Node_CallFunction]
      then -> #22.execute
    #20 Get bEnabled [K2Node_VariableGet]
      bEnabled -> #22.Available
    #21 Get RecordChoice [K2Node_VariableGet]
      RecordChoice -> #22.self
    #22 Set Action Availability Target is IFButton [K2Node_CallFunction]
    #23 On Clicked (RecordChoice) [K2Node_ComponentBoundEvent]
      then -> #24.execute
    #24 Find Parent Widget Of Type [K2Node_CallFunction]
      then -> #26.execute, ReturnValue -> #26.Object
    #25 Self-Reference [K2Node_Self]
      self -> #24.StartingWidget
    #26 Cast To IFScreen [K2Node_DynamicCast]
      then -> #27.execute, AsIFScreen -> #27.self
    #27 Request UIAction Target is IFScreen [K2Node_CallFunction]
    #28 Event OnEntryReleased [K2Node_Event]
      then -> #30.execute
    #29 Get RecordTitle [K2Node_VariableGet]
      RecordTitle -> #30.self
    #30 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #32.execute
    #31 Get RecordDetail [K2Node_VariableGet]
      RecordDetail -> #32.self
    #32 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #34.execute
    #33 Get RecordCount [K2Node_VariableGet]
      RecordCount -> #34.self
    #34 SetText (Text) Target is Text [K2Node_CallFunction]
      then -> #35.execute
    #35 Set Fraction Target is Forge Progress [K2Node_CallFunction]
    #36 ApplyProgressPresentation Custom Event [K2Node_CustomEvent]
      then -> #37.execute, PresentationStyle -> #37.ProgressPresentation, PresentationStyle -> #38.A, PresentationStyle -> #39.A, PresentationStyle -> #45.NewStyle, PresentationStyle -> #47.NewStyle
    #37 Set ProgressPresentation [K2Node_VariableSet]
      then -> #41.execute
    #38 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #40.A
    #39 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #40.B
    #40 OR Boolean [K2Node_CallFunction]
      ReturnValue -> #41.Condition
    #41 Branch [K2Node_IfThenElse]
      then -> #45.execute, else -> #47.execute
    #42 Get RecordProgress [K2Node_VariableGet]
      RecordProgress -> #43.self, RecordProgress -> #45.self, RecordProgress -> #47.self
    #43 Get Slot [K2Node_VariableGet]
      Slot -> #44.Object
    #44 Cast To VerticalBoxSlot [K2Node_DynamicCast]
      AsVertical Box Slot -> #46.self, AsVertical Box Slot -> #48.self
    #45 Configure Progress Target is Forge Progress [K2Node_CallFunction]
      then -> #46.execute
    #46 Set Horizontal Alignment Target is Vertical Box Slot [K2Node_CallFunction]
    #47 Configure Progress Target is Forge Progress [K2Node_CallFunction]
      then -> #48.execute
    #48 Set Horizontal Alignment Target is Vertical Box Slot [K2Node_CallFunction]
    #49 Event PreConstruct [K2Node_Event]
      then -> #51.execute
    #50 Get ProgressPresentation [K2Node_VariableGet]
      ProgressPresentation -> #51.PresentationStyle
    #51 Apply Progress Presentation Target is WBP Watchpost Entry [K2Node_CallFunction]

WBP_WatchpostSurvey ​

text
/Game/UI/Blueprint/WBP_WatchpostSurvey.WBP_WatchpostSurvey
  parent: /Script/InterfaceForge.IFScreen
  variable LastInputPresentation : byte
  variable ReduceSurveyMotion : bool
  animation SurveyArrive
  animation SurveyHeadingArrive
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        SurveySurface : IFSurface
          VerticalBox_0 : VerticalBox
            SurveyHeading : IFText — Watchpost survey
            SurveyRecord : WBP_WatchpostEntry_C
            CloseSurvey : WBP_ForgeActionButton_C
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 Event InitializeScreen [K2Node_Event]
      then -> #5.execute, Data -> #5.Data
    #5 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #8.execute
    #6 Get SurveyRecord [K2Node_VariableGet]
      SurveyRecord -> #8.self, SurveyRecord -> #9.self, SurveyRecord -> #14.self
    #7 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #8.Data
    #8 Initialize Entry Target is IFEntry [K2Node_CallFunction]
      then -> #10.execute
    #9 Get RecordChoice [K2Node_VariableGet]
      RecordChoice -> #10.InitialFocus
    #10 Set InitialFocus [K2Node_VariableSet]
    #11 On Clicked (CloseSurvey) [K2Node_ComponentBoundEvent]
      then -> #12.execute
    #12 Request Back Target is IFScreen [K2Node_CallFunction]
    #13 Event On Deactivated [K2Node_Event]
      then -> #27.execute
    #14 Release Entry Target is IFEntry [K2Node_CallFunction]
    #15 Event OnInputPresentationUpdated [K2Node_Event]
      then -> #16.execute, Presentation -> #16.LastInputPresentation
    #16 Set LastInputPresentation [K2Node_VariableSet]
    #17 Event On Activated [K2Node_Event]
      then -> #19.execute
    #18 Get SurveyArrive [K2Node_VariableGet]
      SurveyArrive -> #19.InAnimation
    #19 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #21.execute
    #20 Get SurveySurface [K2Node_VariableGet]
      SurveySurface -> #21.self
    #21 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #39.execute
    #22 Get ReduceSurveyMotion [K2Node_VariableGet]
      ReduceSurveyMotion -> #23.Condition
    #23 Branch [K2Node_IfThenElse]
      else -> #24.execute
    #24 Play Animation Target is User Widget [K2Node_CallFunction]
      then -> #42.execute
    #25 Get SurveyArrive [K2Node_VariableGet]
      SurveyArrive -> #24.InAnimation
    #26 Get SurveyArrive [K2Node_VariableGet]
      SurveyArrive -> #27.InAnimation
    #27 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #29.execute
    #28 Get SurveySurface [K2Node_VariableGet]
      SurveySurface -> #29.self
    #29 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #45.execute
    #30 Event OnPreferencesUpdated [K2Node_Event]
      then -> #32.execute, Preferences -> #31.IFUIPreferences
    #31 Break IFUIPreferences [K2Node_BreakStruct]
      bReducedMotion -> #32.ReduceSurveyMotion, bReducedMotion -> #33.Condition
    #32 Set ReduceSurveyMotion [K2Node_VariableSet]
      then -> #33.execute
    #33 Branch [K2Node_IfThenElse]
      then -> #35.execute
    #34 Get SurveyArrive [K2Node_VariableGet]
      SurveyArrive -> #35.InAnimation
    #35 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #37.execute
    #36 Get SurveySurface [K2Node_VariableGet]
      SurveySurface -> #37.self
    #37 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #49.execute
    #38 Get SurveyHeadingArrive [K2Node_VariableGet]
      SurveyHeadingArrive -> #39.InAnimation
    #39 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #41.execute
    #40 Get SurveyHeading [K2Node_VariableGet]
      SurveyHeading -> #41.self
    #41 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #23.execute
    #42 Play Animation Target is User Widget [K2Node_CallFunction]
    #43 Get SurveyHeadingArrive [K2Node_VariableGet]
      SurveyHeadingArrive -> #42.InAnimation
    #44 Get SurveyHeadingArrive [K2Node_VariableGet]
      SurveyHeadingArrive -> #45.InAnimation
    #45 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #47.execute
    #46 Get SurveyHeading [K2Node_VariableGet]
      SurveyHeading -> #47.self
    #47 Set Render Opacity Target is Widget [K2Node_CallFunction]
      then -> #14.execute
    #48 Get SurveyHeadingArrive [K2Node_VariableGet]
      SurveyHeadingArrive -> #49.InAnimation
    #49 Stop Animation Target is User Widget [K2Node_CallFunction]
      then -> #51.execute
    #50 Get SurveyHeading [K2Node_VariableGet]
      SurveyHeading -> #51.self
    #51 Set Render Opacity Target is Widget [K2Node_CallFunction]

BP_TutorialController ​

text
/Game/UIForgeTutorial/BP_TutorialController.BP_TutorialController
  parent: /Script/Engine.PlayerController
  graph UserConstructionScript
    #1 Construction Script [K2Node_FunctionEntry]
  graph EventGraph
    #1 Event BeginPlay [K2Node_Event]
    #2 Event Tick [K2Node_Event]
    #3 Event BeginPlay [K2Node_Event]
      then -> #5.execute
    #4 Is Local Controller Target is Controller [K2Node_CallFunction]
      ReturnValue -> #5.Condition
    #5 Branch [K2Node_IfThenElse]
      then -> #8.execute
    #6 Self-Reference [K2Node_Self]
      self -> #7.PlayerController, self -> #10.PlayerController
    #7 IFLocal Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #8.self, ReturnValue -> #9.self, ReturnValue -> #16.self
    #8 Set Theme Target is IFLocal Player Subsystem [K2Node_CallFunction]
      then -> #9.execute
    #9 Create Root Target is IFLocal Player Subsystem [K2Node_CallFunction]
      then -> #18.execute, ReturnValue -> #14.self
    #10 Enhanced Input Local Player Subsystem [K2Node_GetSubsystemFromPC]
      ReturnValue -> #11.self, ReturnValue -> #13.self
    #11 Get Enhanced Input User Settings Target is Enhanced Input Subsystem Interface [K2Node_CallFunction]
      ReturnValue -> #12.self
    #12 Register Input Mapping Context Target is Enhanced Input User Settings [K2Node_CallFunction]
      then -> #13.execute
    #13 Add Mapping Context Target is Enhanced Input Subsystem Interface [K2Node_CallFunction]
      then -> #14.execute
    #14 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #15 Event End Play [K2Node_Event]
      then -> #16.execute
    #16 Remove Root Target is IFLocal Player Subsystem [K2Node_CallFunction]
    #17 IFSettings Subsystem [K2Node_GetSubsystem]
      ReturnValue -> #18.self
    #18 Set Audio Routing Target is IFSettings Subsystem [K2Node_CallFunction]
      then -> #20.execute
    #19 Self-Reference [K2Node_Self]
      self -> #20.self, self -> #21.Player, self -> #23.Player, self -> #25.Player
    #20 Construct BP IFOpacity Provider [K2Node_GenericCreateObject]
      then -> #21.execute, ReturnValue -> #21.self, ReturnValue -> #23.self, ReturnValue -> #25.self
    #21 Read Value Target is IFSetting Provider [K2Node_CallFunction]
      then -> #22.execute, Value -> #23.Value, Value -> #25.Value, ReturnValue -> #22.Condition
    #22 Branch [K2Node_IfThenElse]
      then -> #23.execute, else -> #12.execute
    #23 Validate Value Target is IFSetting Provider [K2Node_CallFunction]
      then -> #24.execute, ReturnValue -> #24.Condition
    #24 Branch [K2Node_IfThenElse]
      then -> #25.execute, else -> #12.execute
    #25 Preview Value Target is IFSetting Provider [K2Node_CallFunction]
      then -> #12.execute

BP_TutorialGameMode ​

text
/Game/UIForgeTutorial/BP_TutorialGameMode.BP_TutorialGameMode
  parent: /Script/Engine.GameModeBase
  graph UserConstructionScript
    #1 Construction Script [K2Node_FunctionEntry]
  graph EventGraph
    #1 Event BeginPlay [K2Node_Event]
    #2 Event Tick [K2Node_Event]

WBP_TutorialHUD ​

text
/Game/UIForgeTutorial/WBP_TutorialHUD.WBP_TutorialHUD
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    PauseChoice : IFButton
    RecordSurface : IFSurface
      SurveyRecord : WBP_WatchpostEntry_C
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #5.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #4.self
    #4 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
      then -> #2.execute
    #5 Set Game Paused [K2Node_CallFunction]
      then -> #4.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 On Clicked (PauseChoice) [K2Node_ComponentBoundEvent]
      then -> #12.execute
    #5 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #6.self
    #6 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #7 Event InitializeScreen [K2Node_Event]
      then -> #8.execute, Data -> #8.Data
    #8 Parent: InitializeScreen [K2Node_CallParentFunction]
      then -> #11.execute
    #9 Get UIModel Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #11.Data
    #10 Get SurveyRecord [K2Node_VariableGet]
      SurveyRecord -> #11.self
    #11 Initialize Entry Target is IFEntry [K2Node_Message]
    #12 Set Game Paused [K2Node_CallFunction]
      then -> #6.execute

WBP_TutorialMain ​

text
/Game/UIForgeTutorial/WBP_TutorialMain.WBP_TutorialMain
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            IFText_0 : IFText — WAYFARER
            PlayChoice : IFButton
            SettingsChoice : IFButton
            DialogChoice : IFButton
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 On Clicked (PlayChoice) [K2Node_ComponentBoundEvent]
      then -> #7.execute
    #5 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #6.self
    #6 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
      then -> #9.execute
    #7 Construct BP Watchpost Source [K2Node_GenericCreateObject]
      then -> #6.execute, ReturnValue -> #6.Data
    #8 Self-Reference [K2Node_Self]
      self -> #7.self
    #9 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
    #10 On Clicked (SettingsChoice) [K2Node_ComponentBoundEvent]
      then -> #12.execute
    #11 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #12.self
    #12 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #13 On Clicked (DialogChoice) [K2Node_ComponentBoundEvent]
      then -> #14.execute
    #14 Construct IFDialog Data [K2Node_GenericCreateObject]
      then -> #16.execute, ReturnValue -> #16.self, ReturnValue -> #17.self, ReturnValue -> #19.Data, ReturnValue -> #20.self
    #15 Self-Reference [K2Node_Self]
      self -> #14.self
    #16 Set Title [K2Node_VariableSet]
      then -> #17.execute
    #17 Set Message [K2Node_VariableSet]
      then -> #20.execute
    #18 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #19.self
    #19 Push Dialog Target is IFRoot Layout [K2Node_CallFunction]
    #20 Bind Event to On Completed [K2Node_AddDelegate]
      then -> #19.execute
    #21 HandleDeparture Custom Event [K2Node_CustomEvent]
      OutputDelegate -> #20.Delegate, then -> #23.execute, Result -> #22.A
    #22 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #23.Condition
    #23 Branch [K2Node_IfThenElse]
      then -> #28.execute
    #24 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #25.self, ReturnValue -> #26.self, ReturnValue -> #27.self
    #25 Clear Layer Target is IFRoot Layout [K2Node_CallFunction]
      then -> #26.execute
    #26 Clear Layer Target is IFRoot Layout [K2Node_CallFunction]
      then -> #27.execute
    #27 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #28 Set Game Paused [K2Node_CallFunction]
      then -> #25.execute

WBP_TutorialPause ​

text
/Game/UIForgeTutorial/WBP_TutorialPause.WBP_TutorialPause
  parent: /Script/InterfaceForge.IFScreen
  CanvasPanel_0 : CanvasPanel
    Border_0 : Border
    ScaleBox_0 : ScaleBox
      SizeBox_0 : SizeBox
        IFSurface_0 : IFSurface
          VerticalBox_0 : VerticalBox
            IFText_0 : IFText — PAUSED
            PlayChoice : IFButton
            SettingsChoice : IFButton
            DialogChoice : IFButton
  graph BP_OnHandleBackAction
    #1 On Handle Back Action [K2Node_FunctionEntry]
      then -> #3.execute
    #2 Return Node [K2Node_FunctionResult]
    #3 Set Game Paused [K2Node_CallFunction]
      then -> #4.execute
    #4 Deactivate Widget Target is Common Activatable Widget [K2Node_CallFunction]
      then -> #2.execute
  graph EventGraph
    #1 Event PreConstruct [K2Node_Event]
    #2 Event Construct [K2Node_Event]
    #3 Event Tick [K2Node_Event]
    #4 On Clicked (PlayChoice) [K2Node_ComponentBoundEvent]
      then -> #5.execute
    #5 Request Back Target is IFScreen [K2Node_CallFunction]
    #6 On Clicked (SettingsChoice) [K2Node_ComponentBoundEvent]
      then -> #8.execute
    #7 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #8.self
    #8 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #9 On Clicked (DialogChoice) [K2Node_ComponentBoundEvent]
      then -> #10.execute
    #10 Construct IFDialog Data [K2Node_GenericCreateObject]
      then -> #12.execute, ReturnValue -> #12.self, ReturnValue -> #13.self, ReturnValue -> #15.Data, ReturnValue -> #16.self
    #11 Self-Reference [K2Node_Self]
      self -> #10.self
    #12 Set Title [K2Node_VariableSet]
      then -> #13.execute
    #13 Set Message [K2Node_VariableSet]
      then -> #16.execute
    #14 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #15.self
    #15 Push Dialog Target is IFRoot Layout [K2Node_CallFunction]
    #16 Bind Event to On Completed [K2Node_AddDelegate]
      then -> #15.execute
    #17 HandleDeparture Custom Event [K2Node_CustomEvent]
      OutputDelegate -> #16.Delegate, then -> #19.execute, Result -> #18.A
    #18 Equal (Byte) [K2Node_CallFunction]
      ReturnValue -> #19.Condition
    #19 Branch [K2Node_IfThenElse]
      then -> #24.execute
    #20 Get Root Layout Target is IFScreen [K2Node_CallFunction]
      ReturnValue -> #21.self, ReturnValue -> #22.self, ReturnValue -> #23.self
    #21 Clear Layer Target is IFRoot Layout [K2Node_CallFunction]
      then -> #22.execute
    #22 Clear Layer Target is IFRoot Layout [K2Node_CallFunction]
      then -> #23.execute
    #23 Push Screen Target is IFRoot Layout [K2Node_CallFunction]
    #24 Set Game Paused [K2Node_CallFunction]
      then -> #21.execute

BP_IFGenericController ​

text
/InterfaceForge/UIForge/Input/BP_IFGenericController.BP_IFGenericController
  parent: /Script/CommonInput.CommonInputBaseControllerData
  graph EventGraph

Non-widget assets ​

text
/Game/Art/M_EmberSigil.M_EmberSigil — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_UI
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = False
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = False
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/Art/M_EmberSigil.M_EmberSigil:M_EmberSigilEditorOnlyData'
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/Art/M_OutpostPalette.M_OutpostPalette — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = False
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = False
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/Art/M_OutpostPalette.M_OutpostPalette:M_OutpostPaletteEditorOnlyDa
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Blade01.SM_MF_Blade01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Blade01.SM_MF_Blade01:BodySetu
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Blade01.SM_MF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Blade01.SM_MF_Bla
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBanner01.SM_MF_CastleBanner01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBanner01.SM_MF_CastleBan
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBanner01
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = False
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBanner01.SM
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBondedDoorway400.SM_MF_CastleBondedDoorway400 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBondedDoorway400.SM_MF_C
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBondedDo
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = False
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBondedDoorw
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBondedDoorway600.SM_MF_CastleBondedDoorway600 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBondedDoorway600.SM_MF_C
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBondedDo
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = False
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBondedDoorw
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBrazier01.SM_MF_CastleBrazier01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBrazier01.SM_MF_CastleBr
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBrazier0
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleBrazier01.S
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleNaveRib01.SM_MF_CastleNaveRib01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleNaveRib01.SM_MF_CastleNa
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleNaveRib0
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = False
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastleNaveRib01.S
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastlePointedArch01.SM_MF_CastlePointedArch01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastlePointedArch01.SM_MF_Cast
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastlePointedA
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = False
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_CastlePointedArch
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_FloorSlab01.SM_MF_FloorSlab01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_FloorSlab01.SM_MF_FloorSlab01:
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_FloorSlab01.SM
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_FloorSlab01.SM_MF
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_ObjectiveCore01.SM_MF_ObjectiveCore01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_ObjectiveCore01.SM_MF_Objectiv
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_ObjectiveCore0
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_ObjectiveCore01.S
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_PathSection01.SM_MF_PathSection01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_PathSection01.SM_MF_PathSectio
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_PathSection01.
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_PathSection01.SM_
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Pillar01.SM_MF_Pillar01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Pillar01.SM_MF_Pillar01:BodySe
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Pillar01.SM_MF
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Pillar01.SM_MF_Pi
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_RockCluster01.SM_MF_RockCluster01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_RockCluster01.SM_MF_RockCluste
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_RockCluster01.
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_RockCluster01.SM_
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_RubbleCluster01.SM_MF_RubbleCluster01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_RubbleCluster01.SM_MF_RubbleCl
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_RubbleCluster0
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_RubbleCluster01.S
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Staff01.SM_MF_Staff01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Staff01.SM_MF_Staff01:BodySetu
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Staff01.SM_MF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_Staff01.SM_MF_Sta
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_StairsRamp01.SM_MF_StairsRamp01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_StairsRamp01.SM_MF_StairsRamp0
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_StairsRamp01.S
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_StairsRamp01.SM_M
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerBase01.SM_MF_TowerBase01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerBase01.SM_MF_TowerBase01:
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerBase01.SM
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerBase01.SM_MF
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerCannon01.SM_MF_TowerCannon01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerCannon01.SM_MF_TowerCanno
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerCannon01.
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerCannon01.SM_
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerMortar01.SM_MF_TowerMortar01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerMortar01.SM_MF_TowerMorta
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerMortar01.
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerMortar01.SM_
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerSlowEmitter01.SM_MF_TowerSlowEmitter01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerSlowEmitter01.SM_MF_Tower
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerSlowEmitt
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_TowerSlowEmitter0
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_WallCorner01.SM_MF_WallCorner01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_WallCorner01.SM_MF_WallCorner0
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_WallCorner01.S
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_WallCorner01.SM_M
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_WallStraight01.SM_MF_WallStraight01 — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 64
  LightMapCoordinateIndex : int32 = 1
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_WallStraight01.SM_MF_WallStrai
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxStaticMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_WallStraight01
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = True
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeArt/MassForge/DarkCastle/Architecture/SM_MF_WallStraight01.SM
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/CombatMotion_v003/Skeletal/SK_MF_Infantry01_RepairedBasis.SK_MF_Infantry01_RepairedBasis — SkeletalMesh
  SourceModels : TArray = ((TriangleCount=15270,VertexCount=13727,Bounds=(Origin=(X=-0.068382,Y=0.055634,Z=89.827257),BoxExtent=(X=42.44
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  Materials : TArray = ((MaterialInterface="/Script/Engine.Material'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Mate
  SkelMirrorTable : TArray
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  MinQualityLevelLOD : FPerQualityLevelInt = (Default=0,PerQuality=())
  MinLod : FPerPlatformInt = (Default=0,PerPlatform=())
  DisableBelowMinLodStripping : FPerPlatformBool = (Default=False,PerPlatform=())
  bOverrideLODStreamingSettings : bool = False
  bSupportLODStreaming : FPerPlatformBool = (Default=False,PerPlatform=())
  MaxNumStreamedLODs : FPerPlatformInt = (Default=0,PerPlatform=())
  MaxNumOptionalLODs : FPerPlatformInt = (Default=0,PerPlatform=())
  LODSettings : TObjectPtr<USkeletalMeshLODSettings> = None
  DefaultAnimatingRig : TSoftObjectPtr<UObject> = None
  SkelMirrorAxis : TEnumAsByte<EAxis::Type> = None
  SkelMirrorFlipAxis : TEnumAsByte<EAxis::Type> = None
  bEnablePerPolyCollision : uint8 = False
  PhysicsAsset : TObjectPtr<UPhysicsAsset> = /Script/Engine.PhysicsAsset'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infant
  ShadowPhysicsAsset : TObjectPtr<UPhysicsAsset> = None
  NodeMappingData : TArray
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxSkeletalMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Combat
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bSupportRayTracing : uint8 = True
  RayTracingMinLOD : int32 = 0
  ClothLODBiasMode : EClothLODBiasMode = MappingsToSameLOD
  PostProcessAnimBlueprint : TSubclassOf<UAnimInstance> = None
  PostProcessAnimBPLODThreshold : int32 = -1
  MeshClothingAssets : TArray
  SamplingInfo : FSkeletalMeshSamplingInfo = (Regions=,BuiltData=(WholeMeshBuiltData=(()),RegionBuiltData=))
  AssetUserData : TArray
  AssetUserDataEditorOnly : TArray
  SkinWeightProfiles : TArray
  DefaultMeshDeformer : TObjectPtr<UMeshDeformer> = None
  TargetMeshDeformers : TObjectPtr<UMeshDeformerCollection> = None
  OverlayMaterial : TObjectPtr<UMaterialInterface> = None
  OverlayMaterialMaxDrawDistance : float = 0.000000
  ForwardAxis : TEnumAsByte<EAxis::Type> = Y
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Materials/M_MF_Infantry01_Skeletal.M_MF_Infantry01_Skeletal — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = True
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Materials/M
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01.SK_MF_Infantry01 — SkeletalMesh
  SourceModels : TArray = ((TriangleCount=15270,VertexCount=13727,Bounds=(Origin=(X=-0.068382,Y=0.055634,Z=89.827257),BoxExtent=(X=42.44
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  Materials : TArray = ((MaterialInterface="/Script/Engine.Material'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Mate
  SkelMirrorTable : TArray
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  MinQualityLevelLOD : FPerQualityLevelInt = (Default=0,PerQuality=())
  MinLod : FPerPlatformInt = (Default=0,PerPlatform=())
  DisableBelowMinLodStripping : FPerPlatformBool = (Default=False,PerPlatform=())
  bOverrideLODStreamingSettings : bool = False
  bSupportLODStreaming : FPerPlatformBool = (Default=False,PerPlatform=())
  MaxNumStreamedLODs : FPerPlatformInt = (Default=0,PerPlatform=())
  MaxNumOptionalLODs : FPerPlatformInt = (Default=0,PerPlatform=())
  LODSettings : TObjectPtr<USkeletalMeshLODSettings> = None
  DefaultAnimatingRig : TSoftObjectPtr<UObject> = None
  SkelMirrorAxis : TEnumAsByte<EAxis::Type> = None
  SkelMirrorFlipAxis : TEnumAsByte<EAxis::Type> = None
  bEnablePerPolyCollision : uint8 = False
  PhysicsAsset : TObjectPtr<UPhysicsAsset> = /Script/Engine.PhysicsAsset'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infant
  ShadowPhysicsAsset : TObjectPtr<UPhysicsAsset> = None
  NodeMappingData : TArray
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxSkeletalMeshImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skelet
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bSupportRayTracing : uint8 = True
  RayTracingMinLOD : int32 = 0
  ClothLODBiasMode : EClothLODBiasMode = MappingsToSameLOD
  PostProcessAnimBlueprint : TSubclassOf<UAnimInstance> = None
  PostProcessAnimBPLODThreshold : int32 = -1
  MeshClothingAssets : TArray
  SamplingInfo : FSkeletalMeshSamplingInfo = (Regions=,BuiltData=(WholeMeshBuiltData=(()),RegionBuiltData=))
  AssetUserData : TArray
  AssetUserDataEditorOnly : TArray
  SkinWeightProfiles : TArray
  DefaultMeshDeformer : TObjectPtr<UMeshDeformer> = None
  TargetMeshDeformers : TObjectPtr<UMeshDeformerCollection> = None
  OverlayMaterial : TObjectPtr<UMaterialInterface> = None
  OverlayMaterialMaxDrawDistance : float = 0.000000
  ForwardAxis : TEnumAsByte<EAxis::Type> = Y
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01_PhysicsAsset.SK_MF_Infantry01_PhysicsAsset — PhysicsAsset
  PhysicalAnimationProfiles : TArray
  ConstraintProfiles : TArray
  SolverSettings : FPhysicsAssetSolverSettings = (PositionIterations=6,VelocityIterations=1,ProjectionIterations=1,CullDistance=3.000000,MaxDepenetrationVeloci
  SolverIterations : FSolverIterations = (SolverIterations=3,JointIterations=2,CollisionIterations=2,SolverPushOutIterations=1,JointPushOutIterations=1
  SolverType : EPhysicsAssetSolverType = World
  bNotForDedicatedServer : uint8 = False
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetUserData : TArray
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01_Skeleton.SK_MF_Infantry01_Skeleton — Skeleton
  BoneTree : TArray = ((),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(
  PreviewForwardAxis : TEnumAsByte<EAxis::Type> = Y
  CompatibleSkeletons : TArray
  bUseRetargetModesFromCompatibleSkeleton : bool = False
  AssetUserData : TArray = ("/Script/Engine.AnimCurveMetaData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF
  AssetUserDataEditorOnly : TArray
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Animations/A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_cast.A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_cast — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxAnimSequenceImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordS
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=30,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 37
  NumberOfSampledFrames : int32 = 36
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 1.200000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Anima
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_7'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Animations/A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_death.A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_death — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxAnimSequenceImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordS
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=30,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 41
  NumberOfSampledFrames : int32 = 40
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 1.333333
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Anima
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_8'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Animations/A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_hit_reaction.A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_hit_reaction — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxAnimSequenceImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordS
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=30,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 16
  NumberOfSampledFrames : int32 = 15
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 0.500000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Anima
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_9'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Animations/A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_idle.A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_idle — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxAnimSequenceImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordS
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=30,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 61
  NumberOfSampledFrames : int32 = 60
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 2.000000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Anima
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_10'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Animations/A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_melee_attack.A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_melee_attack — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxAnimSequenceImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordS
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=30,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 29
  NumberOfSampledFrames : int32 = 28
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 0.933333
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Anima
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_11'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Animations/A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_run.A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_run — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxAnimSequenceImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordS
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=30,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 23
  NumberOfSampledFrames : int32 = 22
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 0.733333
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Anima
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_12'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Animations/A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_walk.A_MF_Infantry01_SwordSweep_MF_Infantry01_AuthorRig_walk — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/UnrealEd.FbxAnimSequenceImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordS
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=30,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 33
  NumberOfSampledFrames : int32 = 32
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 1.066667
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/SwordSweep_v001/Anima
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_13'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Textures/T_MF_Infantry01_Game_BaseColor.T_MF_Infantry01_Game_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantr
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Textures/T_MF_Infantry01_Game_MetallicRoughness.T_MF_Infantry01_Game_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantr
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Textures/T_MF_Infantry01_Game_Normal.T_MF_Infantry01_Game_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantr
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_CastleEquipped_Blade01_0.M_MF_CastleEquipped_Blade01_0 — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_Castle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_CastleEquipped_Blade01_1.M_MF_CastleEquipped_Blade01_1 — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_Castle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_CastleEquipped_Blade01_2.M_MF_CastleEquipped_Blade01_2 — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_Castle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_CastleEquipped_Staff01_0.M_MF_CastleEquipped_Staff01_0 — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_Castle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_CastleEquipped_Staff01_1.M_MF_CastleEquipped_Staff01_1 — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_Castle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_CastleEquipped_Staff01_2.M_MF_CastleEquipped_Staff01_2 — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_Castle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_CastleEquipped_Staff01_3.M_MF_CastleEquipped_Staff01_3 — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_Castle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_CastleEquipped_Staff01_4.M_MF_CastleEquipped_Staff01_4 — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Masked
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Equipment/StateMaterials/M_MF_Castle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/MI_MF_CastleBanner_Oxblood.MI_MF_CastleBanner_Oxblood — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_CastleBannerWool.M_MF_CastleBannerW
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray
  VectorParameterValues : TArray = ((ParameterInfo=(Name="ClothTint"),ParameterValue=(R=0.160000,G=0.028000,B=0.031000,A=1.000000),ExpressionGUID
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/MI_MF_CastleBanner
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/MI_MF_CastleBanner_StitchedGold.MI_MF_CastleBanner_StitchedGold — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_CastleBannerWool.M_MF_CastleBannerW
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray
  VectorParameterValues : TArray = ((ParameterInfo=(Name="ClothTint"),ParameterValue=(R=0.280000,G=0.170000,B=0.065000,A=1.000000),ExpressionGUID
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/MI_MF_CastleBanner
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_CastleBannerWool.M_MF_CastleBannerWool — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = True
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = False
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = False
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_CastleBannerWool.M_MF
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Bronze.M_MF_Castle_Bronze — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Bronze.M_MF_Ca
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Energy.M_MF_Castle_Energy — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Energy.M_MF_Ca
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_FactionPaint.M_MF_Castle_FactionPaint — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_FactionPaint.M
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Mortar.M_MF_Castle_Mortar — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Mortar.M_MF_Ca
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Steel.M_MF_Castle_Steel — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Steel.M_MF_Cas
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Stone.M_MF_Castle_Stone — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = True
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = True
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeArt/MassForge/DarkCastle/Materials/M_MF_Castle_Stone.M_MF_Cas
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Bronze_BaseColor.T_MF_Castle_Bronze_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Bronze_MetallicRoughness.T_MF_Castle_Bronze_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Bronze_Normal.T_MF_Castle_Bronze_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Energy_BaseColor.T_MF_Castle_Energy_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Energy_MetallicRoughness.T_MF_Castle_Energy_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Energy_Normal.T_MF_Castle_Energy_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_FactionPaint_BaseColor.T_MF_Castle_FactionPaint_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_FactionPaint_MetallicRoughness.T_MF_Castle_FactionPaint_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_FactionPaint_Normal.T_MF_Castle_FactionPaint_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Leather_BaseColor.T_MF_Castle_Leather_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Leather_MetallicRoughness.T_MF_Castle_Leather_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Leather_Normal.T_MF_Castle_Leather_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Mortar_BaseColor.T_MF_Castle_Mortar_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Mortar_MetallicRoughness.T_MF_Castle_Mortar_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Mortar_Normal.T_MF_Castle_Mortar_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Steel_BaseColor.T_MF_Castle_Steel_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Steel_MetallicRoughness.T_MF_Castle_Steel_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Steel_Normal.T_MF_Castle_Steel_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Stone_BaseColor.T_MF_Castle_Stone_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Stone_MetallicRoughness.T_MF_Castle_Stone_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Stone_Normal.T_MF_Castle_Stone_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Wood_BaseColor.T_MF_Castle_Wood_BaseColor — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Wood_MetallicRoughness.T_MF_Castle_Wood_MetallicRoughness — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Masks
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_Wood_Normal.T_MF_Castle_Wood_Normal — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeArt/MassForge/DarkCastle/Textures/T_MF_Castle_
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = True
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/Animation/HumanMotion22/A_IF_cast.A_IF_cast — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_cast.A_IF_cast:AssetImportData
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=60,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 61
  NumberOfSampledFrames : int32 = 60
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 1.000000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_cast.A_IF_cast:AnimationSequencer
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_0'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeExamples/Animation/HumanMotion22/A_IF_death.A_IF_death — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_death.A_IF_death:AssetImportDa
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=60,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 109
  NumberOfSampledFrames : int32 = 108
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 1.800000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_death.A_IF_death:AnimationSequenc
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_1'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeExamples/Animation/HumanMotion22/A_IF_hit_reaction.A_IF_hit_reaction — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_hit_reaction.A_IF_hit_reaction
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=60,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 25
  NumberOfSampledFrames : int32 = 24
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 0.400000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_hit_reaction.A_IF_hit_reaction:An
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_2'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeExamples/Animation/HumanMotion22/A_IF_idle.A_IF_idle — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_idle.A_IF_idle:AssetImportData
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=60,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 145
  NumberOfSampledFrames : int32 = 144
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 2.400000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_idle.A_IF_idle:AnimationSequencer
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_3'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeExamples/Animation/HumanMotion22/A_IF_melee_attack.A_IF_melee_attack — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_melee_attack.A_IF_melee_attack
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=60,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 97
  NumberOfSampledFrames : int32 = 96
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 1.600000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_melee_attack.A_IF_melee_attack:An
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_4'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeExamples/Animation/HumanMotion22/A_IF_run.A_IF_run — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_run.A_IF_run:AssetImportData'
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=60,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 49
  NumberOfSampledFrames : int32 = 48
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 0.800000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_run.A_IF_run:AnimationSequencerDa
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_6'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeExamples/Animation/HumanMotion22/A_IF_walk.A_IF_walk — AnimSequence
  AnimationTrackNames : TArray
  bAllowFrameStripping : bool = True
  CompressionErrorThresholdScale : float = 1.000000
  BoneCompressionSettings : TObjectPtr<UAnimBoneCompressionSettings> = /Script/Engine.AnimBoneCompressionSettings'/ACLPlugin/ACLAnimBoneCompressionSettings.ACLAnimBoneCompressionSet
  CurveCompressionSettings : TObjectPtr<UAnimCurveCompressionSettings> = /Script/Engine.AnimCurveCompressionSettings'/ACLPlugin/ACLAnimCurveCompressionSettings.ACLAnimCurveCompression
  VariableFrameStrippingSettings : TObjectPtr<UVariableFrameStrippingSettings> = /Script/Engine.VariableFrameStrippingSettings'/Engine/Animation/DefaultVariableFrameStrippingSettings.DefaultV
  AdditiveAnimType : TEnumAsByte<EAdditiveAnimationType> = AAT_None
  RefPoseType : TEnumAsByte<EAdditiveBasePoseType> = ABPT_None
  RefFrameIndex : int32 = 0
  RefPoseSeq : TObjectPtr<UAnimSequence> = None
  RetargetSource : FName = None
  RetargetSourceAsset : TSoftObjectPtr<USkeletalMesh> = None
  Interpolation : EAnimInterpolationType = Linear
  bEnableRootMotion : bool = False
  RootMotionRootLock : TEnumAsByte<ERootMotionRootLock::Type> = RefPose
  bForceRootLock : bool = False
  bUseNormalizedRootMotionScale : bool = True
  bDoNotOverrideCompression : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_walk.A_IF_walk:AssetImportData
  StripAnimDataOnDedicatedServer : EStripAnimDataOnDedicatedServerSettings = UseProjectSetting
  PlatformTargetFrameRate : FPerPlatformFrameRate = (Default=(Numerator=60,Denominator=1),PerPlatform=())
  NumberOfSampledKeys : int32 = 73
  NumberOfSampledFrames : int32 = 72
  PerBoneCustomAttributeData : TArray
  SequenceLength : float = 1.200000
  RateScale : float = 1.000000
  bLoop : bool = False
  DataModel : TObjectPtr<UAnimDataModel> = None
  DataModelInterface : TScriptInterface = AnimationSequencerDataModel'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_walk.A_IF_walk:AnimationSequencer
  Controller : TScriptInterface = AnimSequencerController'/Engine/Transient.AnimSequencerController_5'
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray = ("/Script/AnimationModifiers.AnimationModifiersAssetUserData'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeExamples/Animation/HumanMotion22/BS_IFLocomotion.BS_IFLocomotion — BlendSpace1D
  bScaleAnimation : bool = False
  InterpolationParam : FInterpolationParameter = (InterpolationTime=0.120000,DampingRatio=1.000000,MaxSpeed=0.000000,InterpolationType=BSIT_SpringDamper)
  AnalysisProperties : TObjectPtr<UAnalysisProperties> = None
  TargetWeightInterpolationSpeedPerSec : float = 0.000000
  bTargetWeightInterpolationEaseInOut : bool = True
  bAllowMeshSpaceBlending : bool = False
  bLoop : bool = True
  bAllowMarkerBasedSync : bool = True
  bShouldMatchSyncPhases : bool = False
  bUseLegacySamplePointAnimationLengthCalculations : bool = False
  PreviewBasePose : TObjectPtr<UAnimSequence> = None
  NotifyTriggerMode : TEnumAsByte<ENotifyTriggerMode::Type> = HighestWeightedAnimation
  bInterpolateUsingGrid : bool = False
  PreferredTriangulationDirection : EPreferredTriangulationDirection = Tangential
  MirrorDataTable : TObjectPtr<UMirrorDataTable> = None
  PerBoneBlendMode : EBlendSpacePerBoneBlendMode = ManualPerBoneOverride
  ManualPerBoneOverrides : TArray
  PerBoneBlendProfile : FBlendSpaceBlendProfile = (BlendProfile=None,TargetWeightInterpolationSpeedPerSec=0.000000)
  SampleData : TArray = ((Animation="/Script/Engine.AnimSequence'/Game/ForgeExamples/Animation/HumanMotion22/A_IF_idle.A_IF_idle'"),(A
  BlendParameters : FBlendParameter = (DisplayName="Speed (cm/s)",Min=0.000000,Max=610.750122,GridNum=8,bSnapToGrid=False,bWrapInput=False)
  AxisToScaleAnimation : TEnumAsByte<EBlendSpaceAxis> = BSA_None
  Skeleton : TObjectPtr<USkeleton> = /Script/Engine.Skeleton'/Game/ForgeArt/MassForge/DarkCastle/Characters/MF_Infantry01/Skeletal/SK_MF_Infantry01
  MetaData : TArray
  ParentAsset : TObjectPtr<UAnimationAsset> = None
  AssetMappingTable : TObjectPtr<UAssetMappingTable> = None
  AssetUserData : TArray
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  PreviewPoseAsset : TObjectPtr<UPoseAsset> = None
/Game/ForgeExamples/Environment/SM_IFCourtyardTerrain.SM_IFCourtyardTerrain — StaticMesh
  LODGroup : FName = None
  NaniteSettings : FMeshNaniteSettings = (bEnabled=False,bExplicitTangents=False,bLerpUVs=True,bSeparable=False,bVoxelNDF=True,bVoxelOpacity=False,Shap
  LODStreaming : EStaticMeshLODStreaming = Default
  LightMapResolution : int32 = 4
  LightMapCoordinateIndex : int32 = 0
  StaticMeshPaintSupport : EStaticMeshPaintSupport = Default
  MeshPaintTextureCoordinateIndex : int32 = 0
  MeshPaintTextureResolution : int32 = 0
  DistanceFieldSelfShadowBias : float = 0.000000
  BodySetup : TObjectPtr<UBodySetup> = /Script/Engine.BodySetup'/Game/ForgeExamples/Environment/SM_IFCourtyardTerrain.SM_IFCourtyardTerrain:BodySetup
  LODForCollision : int32 = 0
  bGenerateMeshDistanceField : uint8 = False
  bHasNavigationData : uint8 = True
  bSupportUniformlyDistributedSampling : uint8 = False
  bSupportPhysicalMaterialMasks : uint8 = False
  bUseLegacyTangentScaling : uint8 = False
  RayTracingProxySettings : FMeshRayTracingProxySettings = (bEnabled=False,FallbackTarget=Auto,FallbackPercentTriangles=1.000000,FallbackRelativeError=2.000000,FoliageOv
  bSupportRayTracing : uint8 = True
  bAllowCPUAccess : uint8 = False
  bSupportGpuUniformlyDistributedSampling : uint8 = False
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/Environment/SM_IFCourtyardTerrain.SM_
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  bCustomizedCollision : bool = False
  PositiveBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  NegativeBoundsExtension : FVector = (X=0.000000,Y=0.000000,Z=0.000000)
  AssetUserData : TArray
  ComplexCollisionMesh : TObjectPtr<UStaticMesh> = None
  NavCollision : TObjectPtr<UNavCollisionBase> = /Script/NavigationSystem.NavCollision'/Game/ForgeExamples/Environment/SM_IFCourtyardTerrain.SM_IFCourtyardTerr
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/Environment/T_IFCourtyardSoil.T_IFCourtyardSoil — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/Environment/T_IFCourtyardSoil.T_IFCou
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_World
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/Environment/T_IFCourtyardSoil_N.T_IFCourtyardSoil_N — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/Environment/T_IFCourtyardSoil_N.T_IFC
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_FromTextureGroup
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Normalmap
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_WorldNormalMap
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = False
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/Input/Army/IA_IF_Attack.IA_IF_Attack — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Attack.IA_IF_Attack:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Formation.IA_IF_Formation — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Formation.IA_IF_Formation
/Game/ForgeExamples/Input/Army/IA_IF_Group1.IA_IF_Group1 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group1.IA_IF_Group1:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Group2.IA_IF_Group2 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group2.IA_IF_Group2:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Group3.IA_IF_Group3 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group3.IA_IF_Group3:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Group4.IA_IF_Group4 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group4.IA_IF_Group4:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Group5.IA_IF_Group5 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group5.IA_IF_Group5:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Group6.IA_IF_Group6 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group6.IA_IF_Group6:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Group7.IA_IF_Group7 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group7.IA_IF_Group7:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Group8.IA_IF_Group8 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group8.IA_IF_Group8:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Group9.IA_IF_Group9 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Group9.IA_IF_Group9:Playe
/Game/ForgeExamples/Input/Army/IA_IF_Hold.IA_IF_Hold — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Hold.IA_IF_Hold:PlayerMap
/Game/ForgeExamples/Input/Army/IA_IF_MoveBack.IA_IF_MoveBack — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_MoveBack.IA_IF_MoveBack:P
/Game/ForgeExamples/Input/Army/IA_IF_MoveForward.IA_IF_MoveForward — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_MoveForward.IA_IF_MoveFor
/Game/ForgeExamples/Input/Army/IA_IF_MoveLeft.IA_IF_MoveLeft — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_MoveLeft.IA_IF_MoveLeft:P
/Game/ForgeExamples/Input/Army/IA_IF_MoveRight.IA_IF_MoveRight — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_MoveRight.IA_IF_MoveRight
/Game/ForgeExamples/Input/Army/IA_IF_Pause.IA_IF_Pause — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Pause.IA_IF_Pause:PlayerM
/Game/ForgeExamples/Input/Army/IA_IF_SelectAll.IA_IF_SelectAll — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_SelectAll.IA_IF_SelectAll
/Game/ForgeExamples/Input/Army/IA_IF_Stop.IA_IF_Stop — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Stop.IA_IF_Stop:PlayerMap
/Game/ForgeExamples/Input/Army/IA_IF_Train.IA_IF_Train — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/Army/IA_IF_Train.IA_IF_Train:PlayerM
/Game/ForgeExamples/Input/Army/IMC_IFArmy.IMC_IFArmy — InputMappingContext
  DefaultKeyMappings : FInputMappingContextMappingData = (Mappings=((Action="/Script/EnhancedInput.InputAction'/Game/ForgeExamples/Input/Army/IA_IF_Attack.IA_IF_Attack
  MappingProfileOverrides : TMap = ()
  InputModeFilterOptions : EMappingContextInputModeFilterOptions = UseProjectDefaultQuery
  InputModeQueryOverride : FGameplayTagQuery = (TokenStreamVersion=0,TagDictionary=,QueryTokenStream=,UserDescription="",AutoDescription="")
  RegistrationTrackingMode : EMappingContextRegistrationTrackingMode = Untracked
  ContextDescription : FText
/Game/ForgeExamples/Input/IA_IF_Ability1.IA_IF_Ability1 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Ability1.IA_IF_Ability1:Player
/Game/ForgeExamples/Input/IA_IF_Ability2.IA_IF_Ability2 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Ability2.IA_IF_Ability2:Player
/Game/ForgeExamples/Input/IA_IF_Ability3.IA_IF_Ability3 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Ability3.IA_IF_Ability3:Player
/Game/ForgeExamples/Input/IA_IF_Ability4.IA_IF_Ability4 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Ability4.IA_IF_Ability4:Player
/Game/ForgeExamples/Input/IA_IF_Ability5.IA_IF_Ability5 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Ability5.IA_IF_Ability5:Player
/Game/ForgeExamples/Input/IA_IF_Ability6.IA_IF_Ability6 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Ability6.IA_IF_Ability6:Player
/Game/ForgeExamples/Input/IA_IF_Attack.IA_IF_Attack — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Attack.IA_IF_Attack:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Formation.IA_IF_Formation — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Formation.IA_IF_Formation:Play
/Game/ForgeExamples/Input/IA_IF_Group1.IA_IF_Group1 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group1.IA_IF_Group1:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Group2.IA_IF_Group2 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group2.IA_IF_Group2:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Group3.IA_IF_Group3 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group3.IA_IF_Group3:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Group4.IA_IF_Group4 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group4.IA_IF_Group4:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Group5.IA_IF_Group5 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group5.IA_IF_Group5:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Group6.IA_IF_Group6 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group6.IA_IF_Group6:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Group7.IA_IF_Group7 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group7.IA_IF_Group7:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Group8.IA_IF_Group8 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group8.IA_IF_Group8:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Group9.IA_IF_Group9 — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Group9.IA_IF_Group9:PlayerMapp
/Game/ForgeExamples/Input/IA_IF_Hold.IA_IF_Hold — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Hold.IA_IF_Hold:PlayerMappable
/Game/ForgeExamples/Input/IA_IF_MoveBack.IA_IF_MoveBack — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_MoveBack.IA_IF_MoveBack:Player
/Game/ForgeExamples/Input/IA_IF_MoveForward.IA_IF_MoveForward — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_MoveForward.IA_IF_MoveForward:
/Game/ForgeExamples/Input/IA_IF_MoveLeft.IA_IF_MoveLeft — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_MoveLeft.IA_IF_MoveLeft:Player
/Game/ForgeExamples/Input/IA_IF_MoveRight.IA_IF_MoveRight — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_MoveRight.IA_IF_MoveRight:Play
/Game/ForgeExamples/Input/IA_IF_Pause.IA_IF_Pause — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Pause.IA_IF_Pause:PlayerMappab
/Game/ForgeExamples/Input/IA_IF_SelectAll.IA_IF_SelectAll — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_SelectAll.IA_IF_SelectAll:Play
/Game/ForgeExamples/Input/IA_IF_Stop.IA_IF_Stop — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Stop.IA_IF_Stop:PlayerMappable
/Game/ForgeExamples/Input/IA_IF_TargetNext.IA_IF_TargetNext — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_TargetNext.IA_IF_TargetNext:Pl
/Game/ForgeExamples/Input/IA_IF_Train.IA_IF_Train — InputAction
  ActionDescription : FText
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/ForgeExamples/Input/IA_IF_Train.IA_IF_Train:PlayerMappab
/Game/ForgeExamples/Input/IMC_IFArmy.IMC_IFArmy — InputMappingContext
  DefaultKeyMappings : FInputMappingContextMappingData = (Mappings=((Action="/Script/EnhancedInput.InputAction'/Game/ForgeExamples/Input/IA_IF_Attack.IA_IF_Attack'",Ke
  MappingProfileOverrides : TMap = ()
  InputModeFilterOptions : EMappingContextInputModeFilterOptions = UseProjectDefaultQuery
  InputModeQueryOverride : FGameplayTagQuery = (TokenStreamVersion=0,TagDictionary=,QueryTokenStream=,UserDescription="",AutoDescription="")
  RegistrationTrackingMode : EMappingContextRegistrationTrackingMode = Untracked
  ContextDescription : FText
/Game/ForgeExamples/Input/IMC_IFEncounter.IMC_IFEncounter — InputMappingContext
  DefaultKeyMappings : FInputMappingContextMappingData = (Mappings=((Action="/Script/EnhancedInput.InputAction'/Game/ForgeExamples/Input/IA_IF_Ability1.IA_IF_Ability1'
  MappingProfileOverrides : TMap = ()
  InputModeFilterOptions : EMappingContextInputModeFilterOptions = UseProjectDefaultQuery
  InputModeQueryOverride : FGameplayTagQuery = (TokenStreamVersion=0,TagDictionary=,QueryTokenStream=,UserDescription="",AutoDescription="")
  RegistrationTrackingMode : EMappingContextRegistrationTrackingMode = Untracked
  ContextDescription : FText
/Game/ForgeExamples/Maps/Emberfall.Emberfall — World
/Game/ForgeExamples/Maps/ForgeGateway.ForgeGateway — World
/Game/ForgeExamples/Maps/Ironfront.Ironfront — World
/Game/ForgeExamples/UI/Art/MI_IFEmberfallMap.MI_IFEmberfallMap — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/Game/ForgeExamples/UI/Art/M_IFMapPresentation.M_IFMapPresentation'
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray
  VectorParameterValues : TArray = ((ParameterInfo=(Name="Ink"),ParameterValue=(R=0.720000,G=0.750000,B=0.700000,A=1.000000),ExpressionGUID=873CA
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray = ((ParameterInfo=(Name="MapTexture"),ParameterValue="/Script/Engine.Texture2D'/Game/ForgeExamples/UI/Art/T_IFEm
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/Game/ForgeExamples/UI/Art/MI_IFEmberfallMap.MI_IFEmberfallMap:M
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeExamples/UI/Art/MI_IFIronfrontMap.MI_IFIronfrontMap — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/Game/ForgeExamples/UI/Art/M_IFMapPresentation.M_IFMapPresentation'
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray
  VectorParameterValues : TArray = ((ParameterInfo=(Name="Ink"),ParameterValue=(R=0.600000,G=0.730000,B=0.800000,A=1.000000),ExpressionGUID=873CA
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray = ((ParameterInfo=(Name="MapTexture"),ParameterValue="/Script/Engine.Texture2D'/Game/ForgeExamples/UI/Art/T_IFIr
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/Game/ForgeExamples/UI/Art/MI_IFIronfrontMap.MI_IFIronfrontMap:M
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeExamples/UI/Art/M_IFCourtyardGround.M_IFCourtyardGround — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_Surface
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = False
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = False
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeExamples/UI/Art/M_IFCourtyardGround.M_IFCourtyardGround:M_IFC
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = /Script/UnrealEd.SceneThumbnailInfoWithPrimitive'/Game/ForgeExamples/UI/Art/M_IFCourtyardGround.M_IFCourtyardG
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeExamples/UI/Art/M_IFMapPresentation.M_IFMapPresentation — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_UI
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Opaque
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = False
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = False
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/Game/ForgeExamples/UI/Art/M_IFMapPresentation.M_IFMapPresentation:M_IFM
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeExamples/UI/Art/T_IFAbilities.T_IFAbilities — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/Art/T_IFAbilities.T_IFAbilities:In
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/Art/T_IFCommands.T_IFCommands — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/Art/T_IFCommands.T_IFCommands:Inte
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/Art/T_IFEmberfallMap.T_IFEmberfallMap — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/UI/Art/T_IFEmberfallMap.T_IFEmberfallMap:AssetImportData'
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/Art/T_IFIronfrontMap.T_IFIronfrontMap — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/UI/Art/T_IFIronfrontMap.T_IFIronfrontMap:AssetImportData'
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_Default
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/Art/T_IFKnightPortrait.T_IFKnightPortrait — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/Game/ForgeExamples/UI/Art/T_IFKnightPortrait.T_IFKnightPortrait:AssetImportDat
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = False
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/DA_IFEmberTheme.DA_IFEmberTheme — IFTheme
  Surface : FLinearColor = (R=0.022000,G=0.032000,B=0.046000,A=0.980000)
  Text : FLinearColor = (R=0.900000,G=0.880000,B=0.820000,A=1.000000)
  Accent : FLinearColor = (R=0.780000,G=0.580000,B=0.310000,A=1.000000)
  Danger : FLinearColor = (R=0.950000,G=0.250000,B=0.220000,A=1.000000)
  MutedText : FLinearColor = (R=0.590000,G=0.560000,B=0.490000,A=1.000000)
  Outline : FLinearColor = (R=0.270000,G=0.230000,B=0.170000,A=1.000000)
  Icons : TMap = ()
  SurfaceStyles : TMap = (("Window", (TintColor=(SpecifiedColor=(R=0.810000,G=0.610000,B=0.350000,A=1.000000)),DrawAs=Box,Margin=(Left=
  ButtonStyles : TMap = (("Primary", (Normal=(TintColor=(SpecifiedColor=(R=0.820000,G=0.500000,B=0.210000,A=1.000000)),DrawAs=Box,Marg
  DefaultSurfaceStyle : FName = Panel
  DialogSurfaceStyle : FName = Window
  DialogHeaderSurfaceStyle : FName = Header
  CompactKeyLabels : TMap = ((Gamepad_LeftShoulder, NSLOCTEXT("InterfaceForge", "LeftShoulderShort", "LB")),(Gamepad_RightShoulder, NSLOCT
  FocusSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus'
  ConfirmSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm'
  BodyFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  HeadingFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  Spacing : float = 12.000000
  ScrollBarThickness : float = 6.000000
  TransitionSeconds : float = 0.160000
  ButtonCornerRadius : float = 2.000000
  ButtonPadding : FMargin = (Left=12.000000,Top=8.000000,Right=12.000000,Bottom=8.000000)
/Game/ForgeExamples/UI/DA_IFIronTheme.DA_IFIronTheme — IFTheme
  Surface : FLinearColor = (R=0.022000,G=0.032000,B=0.046000,A=0.980000)
  Text : FLinearColor = (R=0.880000,G=0.910000,B=0.920000,A=1.000000)
  Accent : FLinearColor = (R=0.400000,G=0.760000,B=0.870000,A=1.000000)
  Danger : FLinearColor = (R=0.950000,G=0.250000,B=0.220000,A=1.000000)
  MutedText : FLinearColor = (R=0.520000,G=0.580000,B=0.620000,A=1.000000)
  Outline : FLinearColor = (R=0.170000,G=0.250000,B=0.300000,A=1.000000)
  Icons : TMap = ()
  SurfaceStyles : TMap = (("Window", (TintColor=(SpecifiedColor=(R=0.420000,G=0.720000,B=0.840000,A=1.000000)),DrawAs=Box,Margin=(Left=
  ButtonStyles : TMap = (("Primary", (Normal=(TintColor=(SpecifiedColor=(R=0.280000,G=0.610000,B=0.760000,A=1.000000)),DrawAs=Box,Marg
  DefaultSurfaceStyle : FName = Panel
  DialogSurfaceStyle : FName = Window
  DialogHeaderSurfaceStyle : FName = Header
  CompactKeyLabels : TMap = ((Gamepad_LeftShoulder, NSLOCTEXT("InterfaceForge", "LeftShoulderShort", "LB")),(Gamepad_RightShoulder, NSLOCT
  FocusSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus'
  ConfirmSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm'
  BodyFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  HeadingFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  Spacing : float = 12.000000
  ScrollBarThickness : float = 6.000000
  TransitionSeconds : float = 0.160000
  ButtonCornerRadius : float = 2.000000
  ButtonPadding : FMargin = (Left=12.000000,Top=8.000000,Right=12.000000,Bottom=8.000000)
/Game/ForgeExamples/UI/DA_IFMMOLayout.DA_IFMMOLayout — IFHUDLayoutProfile
  Regions : TArray = ((Name="Player",Size=(X=274.000000,Y=84.000000),bAutoHeight=True),(Name="Target",Anchor=(X=0.500000,Y=0.000000
  CompactBelowWidth : float = 1320.000000
  CompactScale : float = 0.900000
  MinimumCanvasSize : FVector2D = (X=1050.000000,Y=620.000000)
/Game/ForgeExamples/UI/DA_IFRTSLayout.DA_IFRTSLayout — IFHUDLayoutProfile
  Regions : TArray = ((Name="Resources",Offset=(X=24.000000,Y=20.000000),Size=(X=468.000000,Y=64.000000),bAutoHeight=True),(Name="G
  CompactBelowWidth : float = 1320.000000
  CompactScale : float = 0.900000
  MinimumCanvasSize : FVector2D = (X=1180.000000,Y=680.000000)
/Game/ForgeExamples/UI/RPG/Art/FF_IFCinzel.FF_IFCinzel — FontFace
  SourceFilename : FString = C:/UEProjects/ashenforge-plugins/UIForge/Project/ContentSource/UI/Emberglass/Fonts/Cinzel.ttf
  Hinting : EFontHinting = Default
  LoadingPolicy : EFontLoadingPolicy = LazyLoad
  LayoutMethod : EFontLayoutMethod = Metrics
  AscendOverriddenValue : int32 = 0
  bIsAscendOverridden : bool = False
  DescendOverriddenValue : int32 = 0
  bIsDescendOverridden : bool = False
  StrikeBrushHeightPercentage : int32 = 60
  SubFaces : TArray = ("Cinzel (Regular)")
  bEnableDistanceFieldRendering : bool = False
  MinDistanceFieldPpem : int32 = 32
  MidDistanceFieldPpem : int32 = 48
  MaxDistanceFieldPpem : int32 = 64
  MinMultiDistanceFieldPpem : int32 = 32
  MidMultiDistanceFieldPpem : int32 = 40
  MaxMultiDistanceFieldPpem : int32 = 56
  PlatformRasterizationModeOverrides : TOptional = ()
/Game/ForgeExamples/UI/RPG/Art/F_IFCinzel.F_IFCinzel — Font
  FontCacheType : EFontCacheType = Runtime
  RuntimeFontSource : ERuntimeFontSource = Asset
  Characters : TArray
  EmScale : float = 0.000000
  Ascent : float = 0.000000
  Descent : float = 0.000000
  Leading : float = 0.000000
  Kerning : int32 = 0
  ImportOptions : FFontImportOptionsData = (FontName="Arial",Height=16.000000,bEnableAntialiasing=True,bEnableBold=False,bEnableItalic=False,bEnableUnder
  ScalingFactor : float = 1.000000
  LegacyFontSize : int32 = 9
  LegacyFontName : FName = None
  CompositeFont : FCompositeFont = (DefaultTypeface=(Fonts=((Name="Regular",Font=(FontFaceAsset="/Script/Engine.FontFace'/Game/ForgeExamples/UI/R
/Game/ForgeExamples/UI/RPG/Art/MI_IFRPGCartography.MI_IFRPGCartography — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/Game/ForgeExamples/UI/Art/M_IFMapPresentation.M_IFMapPresentation'
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray = ((ParameterInfo=(Name="ContrastExponent"),ParameterValue=1.000000,ExpressionGUID=AEB395464072031EECDCD1B591074
  VectorParameterValues : TArray = ((ParameterInfo=(Name="Ink"),ParameterValue=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ExpressionGUID=873CA
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray = ((ParameterInfo=(Name="MapTexture"),ParameterValue="/Script/Engine.Texture2D'/Game/ForgeExamples/UI/RPG/Art/T_
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/Game/ForgeExamples/UI/RPG/Art/MI_IFRPGCartography.MI_IFRPGCarto
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/Game/ForgeExamples/UI/RPG/Art/T_IFButtonBevel.T_IFButtonBevel — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFButtonBevel.T_IFButton
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFCartography.T_IFCartography — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFCartography.T_IFCartog
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFCombatPanel.T_IFCombatPanel — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFCombatPanel.T_IFCombat
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFDivider.T_IFDivider — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFDivider.T_IFDivider:In
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFHUDShade.T_IFHUDShade — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFHUDShade.T_IFHUDShade:
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFMenuVignette.T_IFMenuVignette — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFMenuVignette.T_IFMenuV
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFResourceFill.T_IFResourceFill — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFResourceFill.T_IFResou
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFResourceTrack.T_IFResourceTrack — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFResourceTrack.T_IFReso
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFSlotTrim.T_IFSlotTrim — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFSlotTrim.T_IFSlotTrim:
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/Art/T_IFWindowFrame.T_IFWindowFrame — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/Game/ForgeExamples/UI/RPG/Art/T_IFWindowFrame.T_IFWindow
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/Game/ForgeExamples/UI/RPG/DA_IFEmberglass.DA_IFEmberglass — IFTheme
  Surface : FLinearColor = (R=0.022000,G=0.032000,B=0.046000,A=0.980000)
  Text : FLinearColor = (R=0.900000,G=0.880000,B=0.820000,A=1.000000)
  Accent : FLinearColor = (R=0.780000,G=0.580000,B=0.310000,A=1.000000)
  Danger : FLinearColor = (R=0.950000,G=0.250000,B=0.220000,A=1.000000)
  MutedText : FLinearColor = (R=0.590000,G=0.560000,B=0.490000,A=1.000000)
  Outline : FLinearColor = (R=0.270000,G=0.230000,B=0.170000,A=1.000000)
  Icons : TMap = ()
  SurfaceStyles : TMap = (("Window", (TintColor=(SpecifiedColor=(R=0.810000,G=0.610000,B=0.350000,A=1.000000)),DrawAs=Box,Margin=(Left=
  ButtonStyles : TMap = (("Primary", (Normal=(TintColor=(SpecifiedColor=(R=0.820000,G=0.500000,B=0.210000,A=1.000000)),DrawAs=Box,Marg
  DefaultSurfaceStyle : FName = Panel
  DialogSurfaceStyle : FName = Window
  DialogHeaderSurfaceStyle : FName = Header
  CompactKeyLabels : TMap = ((Gamepad_LeftShoulder, NSLOCTEXT("InterfaceForge", "LeftShoulderShort", "LB")),(Gamepad_RightShoulder, NSLOCT
  FocusSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus'
  ConfirmSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm'
  BodyFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  HeadingFont : FSlateFontInfo = (FontObject="/Script/Engine.Font'/Game/ForgeExamples/UI/RPG/Art/F_IFCinzel.F_IFCinzel'",FontMaterial=None,Outl
  Spacing : float = 12.000000
  ScrollBarThickness : float = 6.000000
  TransitionSeconds : float = 0.160000
  ButtonCornerRadius : float = 2.000000
  ButtonPadding : FMargin = (Left=12.000000,Top=8.000000,Right=12.000000,Bottom=8.000000)
/Game/ForgeExamples/UI/RPG/DA_IFMoonsteel.DA_IFMoonsteel — IFTheme
  Surface : FLinearColor = (R=0.022000,G=0.032000,B=0.046000,A=0.980000)
  Text : FLinearColor = (R=0.880000,G=0.910000,B=0.920000,A=1.000000)
  Accent : FLinearColor = (R=0.400000,G=0.760000,B=0.870000,A=1.000000)
  Danger : FLinearColor = (R=0.950000,G=0.250000,B=0.220000,A=1.000000)
  MutedText : FLinearColor = (R=0.520000,G=0.580000,B=0.620000,A=1.000000)
  Outline : FLinearColor = (R=0.170000,G=0.250000,B=0.300000,A=1.000000)
  Icons : TMap = ()
  SurfaceStyles : TMap = (("Window", (TintColor=(SpecifiedColor=(R=0.420000,G=0.720000,B=0.840000,A=1.000000)),DrawAs=Box,Margin=(Left=
  ButtonStyles : TMap = (("Primary", (Normal=(TintColor=(SpecifiedColor=(R=0.280000,G=0.610000,B=0.760000,A=1.000000)),DrawAs=Box,Marg
  DefaultSurfaceStyle : FName = Panel
  DialogSurfaceStyle : FName = Window
  DialogHeaderSurfaceStyle : FName = Header
  CompactKeyLabels : TMap = ((Gamepad_LeftShoulder, NSLOCTEXT("InterfaceForge", "LeftShoulderShort", "LB")),(Gamepad_RightShoulder, NSLOCT
  FocusSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus'
  ConfirmSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm'
  BodyFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  HeadingFont : FSlateFontInfo = (FontObject="/Script/Engine.Font'/Game/ForgeExamples/UI/RPG/Art/F_IFCinzel.F_IFCinzel'",FontMaterial=None,Outl
  Spacing : float = 12.000000
  ScrollBarThickness : float = 6.000000
  TransitionSeconds : float = 0.160000
  ButtonCornerRadius : float = 2.000000
  ButtonPadding : FMargin = (Left=12.000000,Top=8.000000,Right=12.000000,Bottom=8.000000)
/Game/ForgeExamples/UI/RPG/DA_IFRPGLayout.DA_IFRPGLayout — IFHUDLayoutProfile
  Regions : TArray = ((Name="Player",Anchor=(X=0.500000,Y=1.000000),Alignment=(X=0.500000,Y=1.000000),Offset=(X=0.000000,Y=-110.000
  CompactBelowWidth : float = 1320.000000
  CompactScale : float = 0.920000
  MinimumCanvasSize : FVector2D = (X=1000.000000,Y=600.000000)
/Game/ForgeExamples/UI/Settings/DA_Setting_FrameRateLimit.DA_Setting_FrameRateLimit — IFSettingDefinition
  SettingId : FName = FrameRateLimit
  PageId : FName = Video
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "FrameRateLimit", "Frame rate limit")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "FrameRateLimitHelp", "Zero removes the frame rate cap.")
  Control : EIFSettingControl = Slider
  Binding : EIFSettingBinding = FrameRateLimit
  Minimum : float = 0.000000
  Maximum : float = 240.000000
  Step : float = 30.000000
  DefaultValue : float = 0.000000
  DisplayMultiplier : float = 1.000000
  ValueSuffix : FText
  FractionalDigits : int32 = 2
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/ForgeExamples/UI/Settings/DA_Setting_GameVolume.DA_Setting_GameVolume — IFSettingDefinition
  SettingId : FName = GameVolume
  PageId : FName = Audio
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "GameVolume", "Game volume")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "GameVolumeHelp", "World and encounter audio.")
  Control : EIFSettingControl = Slider
  Binding : EIFSettingBinding = GameVolume
  Minimum : float = 0.000000
  Maximum : float = 1.000000
  Step : float = 0.010000
  DefaultValue : float = 0.800000
  DisplayMultiplier : float = 100.000000
  ValueSuffix : FText = NSLOCTEXT("UIForgeSettingsExample", "Percent", "%")
  FractionalDigits : int32 = 0
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/ForgeExamples/UI/Settings/DA_Setting_InterfaceOpacity.DA_Setting_InterfaceOpacity — IFSettingDefinition
  SettingId : FName = InterfaceOpacity
  PageId : FName = Interface
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "InterfaceOpacity", "Interface opacity")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "InterfaceOpacityHelp", "Adjust the opacity of this game\'s interface.")
  Control : EIFSettingControl = Slider
  Binding : EIFSettingBinding = Custom
  Minimum : float = 0.650000
  Maximum : float = 1.000000
  Step : float = 0.050000
  DefaultValue : float = 1.000000
  DisplayMultiplier : float = 100.000000
  ValueSuffix : FText = NSLOCTEXT("UIForgeSettingsExample", "Percent", "%")
  FractionalDigits : int32 = 0
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = /Script/Engine.BlueprintGeneratedClass'/Game/ForgeExamples/UI/Settings/BP_IFOpacityProvider.BP_IFOpacityProvid
/Game/ForgeExamples/UI/Settings/DA_Setting_ReducedMotion.DA_Setting_ReducedMotion — IFSettingDefinition
  SettingId : FName = ReducedMotion
  PageId : FName = Interface
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "ReducedMotion", "Reduced motion")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "ReducedMotionHelp", "Reduce decorative interface motion.")
  Control : EIFSettingControl = Toggle
  Binding : EIFSettingBinding = ReducedMotion
  Minimum : float = 0.000000
  Maximum : float = 1.000000
  Step : float = 1.000000
  DefaultValue : float = 0.000000
  DisplayMultiplier : float = 1.000000
  ValueSuffix : FText
  FractionalDigits : int32 = 2
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/ForgeExamples/UI/Settings/DA_Setting_ShadowQuality.DA_Setting_ShadowQuality — IFSettingDefinition
  SettingId : FName = ShadowQuality
  PageId : FName = Video
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "ShadowQuality", "Shadow quality")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "ShadowQualityHelp", "Unreal scalability quality for dynamic shadows.")
  Control : EIFSettingControl = Choice
  Binding : EIFSettingBinding = ShadowQuality
  Minimum : float = 0.000000
  Maximum : float = 4.000000
  Step : float = 1.000000
  DefaultValue : float = 2.000000
  DisplayMultiplier : float = 1.000000
  ValueSuffix : FText
  FractionalDigits : int32 = 2
  Options : TArray = ((Label=NSLOCTEXT("UIForgeSettingsExample", "Low", "Low")),(Label=NSLOCTEXT("UIForgeSettingsExample", "Medium"
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/ForgeExamples/UI/Settings/DA_Setting_TextScale.DA_Setting_TextScale — IFSettingDefinition
  SettingId : FName = TextScale
  PageId : FName = Interface
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "TextScale", "Text size")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "TextScaleHelp", "Increase text independently of the interface.")
  Control : EIFSettingControl = Slider
  Binding : EIFSettingBinding = TextScale
  Minimum : float = 0.800000
  Maximum : float = 1.500000
  Step : float = 0.050000
  DefaultValue : float = 1.000000
  DisplayMultiplier : float = 100.000000
  ValueSuffix : FText = NSLOCTEXT("UIForgeSettingsExample", "Percent", "%")
  FractionalDigits : int32 = 0
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/ForgeExamples/UI/Settings/DA_Setting_TooltipDelay.DA_Setting_TooltipDelay — IFSettingDefinition
  SettingId : FName = TooltipDelay
  PageId : FName = Interface
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "TooltipDelay", "Tooltip delay")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "TooltipDelayHelp", "Seconds before pointer hints appear.")
  Control : EIFSettingControl = Slider
  Binding : EIFSettingBinding = TooltipDelay
  Minimum : float = 0.000000
  Maximum : float = 2.000000
  Step : float = 0.050000
  DefaultValue : float = 0.350000
  DisplayMultiplier : float = 1.000000
  ValueSuffix : FText = NSLOCTEXT("UIForgeSettingsExample", "Seconds", " s")
  FractionalDigits : int32 = 2
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/ForgeExamples/UI/Settings/DA_Setting_UIScale.DA_Setting_UIScale — IFSettingDefinition
  SettingId : FName = UIScale
  PageId : FName = Interface
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "UIScale", "Interface scale")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "UIScaleHelp", "Adjust the size of menus and HUD elements.")
  Control : EIFSettingControl = Slider
  Binding : EIFSettingBinding = UIScale
  Minimum : float = 0.750000
  Maximum : float = 1.500000
  Step : float = 0.010000
  DefaultValue : float = 1.000000
  DisplayMultiplier : float = 100.000000
  ValueSuffix : FText = NSLOCTEXT("UIForgeSettingsExample", "Percent", "%")
  FractionalDigits : int32 = 0
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/ForgeExamples/UI/Settings/DA_Setting_UIVolume.DA_Setting_UIVolume — IFSettingDefinition
  SettingId : FName = UIVolume
  PageId : FName = Audio
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "UIVolume", "Interface volume")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "UIVolumeHelp", "Menu, navigation and interface feedback.")
  Control : EIFSettingControl = Slider
  Binding : EIFSettingBinding = UIVolume
  Minimum : float = 0.000000
  Maximum : float = 1.000000
  Step : float = 0.010000
  DefaultValue : float = 0.800000
  DisplayMultiplier : float = 100.000000
  ValueSuffix : FText = NSLOCTEXT("UIForgeSettingsExample", "Percent", "%")
  FractionalDigits : int32 = 0
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/ForgeExamples/UI/Settings/DA_Setting_VSync.DA_Setting_VSync — IFSettingDefinition
  SettingId : FName = VSync
  PageId : FName = Video
  Label : FText = NSLOCTEXT("UIForgeSettingsExample", "VSync", "Vertical sync")
  Help : FText = NSLOCTEXT("UIForgeSettingsExample", "VSyncHelp", "Synchronize frame presentation with the display.")
  Control : EIFSettingControl = Toggle
  Binding : EIFSettingBinding = VSync
  Minimum : float = 0.000000
  Maximum : float = 1.000000
  Step : float = 1.000000
  DefaultValue : float = 0.000000
  DisplayMultiplier : float = 1.000000
  ValueSuffix : FText
  FractionalDigits : int32 = 2
  Options : TArray
  bPreview : bool = True
  bEnabled : bool = True
  UnavailableReason : FText
  ProviderClass : TSubclassOf<UIFSettingProvider> = None
/Game/Input/IA_PreviewInteract.IA_PreviewInteract — InputAction
  ActionDescription : FText = INVTEXT("Select the next scout")
  bTriggerWhenPaused : bool = False
  bConsumeInput : bool = True
  bConsumesActionAndAxisMappings : bool = False
  bReserveAllMappings : bool = False
  TriggerEventsThatConsumeLegacyKeys : int32 = 0
  ValueType : EInputActionValueType = Boolean
  AccumulationBehavior : EInputActionAccumulationBehavior = TakeHighestAbsoluteValue
  Triggers : TArray
  Modifiers : TArray
  PlayerMappableKeySettings : TObjectPtr<UPlayerMappableKeySettings> = /Script/EnhancedInput.PlayerMappableKeySettings'/Game/Input/IA_PreviewInteract.IA_PreviewInteract:PlayerMappab
/Game/Input/IMC_Preview.IMC_Preview — InputMappingContext
  DefaultKeyMappings : FInputMappingContextMappingData = (Mappings=((Action="/Script/EnhancedInput.InputAction'/Game/Input/IA_PreviewInteract.IA_PreviewInteract'",Key=
  MappingProfileOverrides : TMap = ()
  InputModeFilterOptions : EMappingContextInputModeFilterOptions = UseProjectDefaultQuery
  InputModeQueryOverride : FGameplayTagQuery = (TokenStreamVersion=0,TagDictionary=,QueryTokenStream=,UserDescription="",AutoDescription="")
  RegistrationTrackingMode : EMappingContextRegistrationTrackingMode = Untracked
  ContextDescription : FText
/Game/Maps/ForgeOutpost.ForgeOutpost — World
/Game/Maps/ForgePilgrimage.ForgePilgrimage — World
/Game/Maps/ForgeWorkshop.ForgeWorkshop — World
/Game/UI/DA_ForgeInterfaceAssets.DA_ForgeInterfaceAssets — PrimaryAssetLabel
  Rules : FPrimaryAssetRules = (Priority=1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook)
  bLabelAssetsInMyDirectory : uint8 = False
  bIsRuntimeLabel : uint8 = True
  bIncludeRedirectors : uint8 = True
  ExplicitAssets : TArray
  ExplicitBlueprints : TArray = ("/Game/UI/Blueprint/BP_ForgeWorldReadout.BP_ForgeWorldReadout_C","/Game/UI/Blueprint/BP_WatchpostSource.BP_Wa
  AssetCollection : FCollectionReference = (CollectionName="")
/Game/UIForgeTutorial/Walkthrough.Walkthrough — World
/InterfaceForge/UIForge/Audio/DA_IFAudioRouting.DA_IFAudioRouting — IFAudioRouting
  Mix : TObjectPtr<USoundMix> = /Script/Engine.SoundMix'/InterfaceForge/UIForge/Audio/SM_IFPreferences.SM_IFPreferences'
  UIClass : TObjectPtr<USoundClass> = /Script/Engine.SoundClass'/InterfaceForge/UIForge/Audio/SC_IFUI.SC_IFUI'
  GameClass : TObjectPtr<USoundClass> = /Script/Engine.SoundClass'/InterfaceForge/UIForge/Audio/SC_IFGamePreview.SC_IFGamePreview'
/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm — SoundWave
  CompressionQuality : int32 = 80
  SampleRateQuality : ESoundwaveSampleRateSettings = Max
  SoundGroup : TEnumAsByte<ESoundGroup> = SOUNDGROUP_Default
  bLooping : uint8 = False
  SoundAssetCompressionType : ESoundAssetCompressionType = ProjectDefined
  OverrideSoundToUseForAnalysis : TObjectPtr<USoundWave> = None
  TreatFileAsLoopingForAnalysis : uint8 = False
  bEnableBakedFFTAnalysis : uint8 = False
  bEnableAmplitudeEnvelopeAnalysis : uint8 = False
  FFTSize : ESoundWaveFFTSize = Medium_512
  FFTAnalysisFrameSize : int32 = 1024
  FFTAnalysisAttackTime : int32 = 10
  FFTAnalysisReleaseTime : int32 = 3000
  EnvelopeFollowerFrameSize : int32 = 1024
  EnvelopeFollowerAttackTime : int32 = 10
  EnvelopeFollowerReleaseTime : int32 = 100
  ModulationSettings : FSoundModulationDefaultRoutingSettings = (VolumeRouting=Inherit,PitchRouting=Inherit,HighpassRouting=Inherit,LowpassRouting=Inherit,VolumeModulationDes
  FrequenciesToAnalyze : TArray = (100.000000,500.000000,1000.000000,5000.000000)
  bMature : uint8 = False
  bManualWordWrap : uint8 = False
  bSingleLine : uint8 = False
  bIsAmbisonics : uint8 = False
  LoadingBehavior : ESoundWaveLoadingBehavior = Inherited
  SizeOfFirstAudioChunkInSeconds : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  SubtitlePriority : float = 10000.000000
  Volume : float = 1.000000
  Pitch : float = 1.000000
  NumChannels : int32 = 1
  LUFS : float = 0.000000
  SamplePeakDB : float = 0.000000
  SampleRate : int32 = 44100
  ImportedSampleRate : int32 = 44100
  CuePoints : TArray
  CuePointOrigin : ESoundWaveCuePointOrigin = MarkerTransformation
  Subtitles : TArray
  Comment : FString
  TimecodeInfo : FSoundWaveTimecodeInfo = (NumSamplesSinceMidnight=4294967295,NumSamplesPerSecond=0,Description="",OriginatorTime="",OriginatorDate="",O
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm:AssetImportData'
  Curves : TObjectPtr<UCurveTable> = None
  bEnableCloudStreaming : uint8 = False
  PlatformSettings : TMap = ()
  Transformations : TArray
  SoundClassObject : TObjectPtr<USoundClass> = /Script/Engine.SoundClass'/InterfaceForge/UIForge/Audio/SC_IFUI.SC_IFUI'
  EditorData : FSoundBaseEditorData = ()
  bDebug : uint8 = False
  bOverrideConcurrency : uint8 = False
  bEnableBusSends : uint8 = True
  bEnableBaseSubmix : uint8 = True
  bEnableSubmixSends : uint8 = True
  bBypassVolumeScaleForPriority : uint8 = False
  VirtualizationMode : EVirtualizationMode = Restart
  ConcurrencySet : TSet = ()
  ConcurrencyOverrides : FSoundConcurrencySettings = (MaxCount=16,bLimitToOwner=False,bVolumeScaleCanRelease=False,bEnableMaxCountPlatformScaling=False,ResolutionR
  Duration : float = 0.120000
  MaxDistance : float = 2097152.000000
  TotalSamples : float = 5292.000000
  Priority : float = 1.000000
  AttenuationSettings : TObjectPtr<USoundAttenuation> = None
  SoundSubmixObject : TObjectPtr<USoundSubmixBase> = None
  SoundSubmixSends : TArray
  SourceEffectChain : TObjectPtr<USoundEffectSourcePresetChain> = None
  BusSends : TArray
  PreEffectBusSends : TArray
  PostAttenuationBusSends : TArray
  AssetUserData : TArray
  AudioPropertiesSheet : TObjectPtr<UAudioPropertiesSheetAssetBase> = None
/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus — SoundWave
  CompressionQuality : int32 = 80
  SampleRateQuality : ESoundwaveSampleRateSettings = Max
  SoundGroup : TEnumAsByte<ESoundGroup> = SOUNDGROUP_Default
  bLooping : uint8 = False
  SoundAssetCompressionType : ESoundAssetCompressionType = ProjectDefined
  OverrideSoundToUseForAnalysis : TObjectPtr<USoundWave> = None
  TreatFileAsLoopingForAnalysis : uint8 = False
  bEnableBakedFFTAnalysis : uint8 = False
  bEnableAmplitudeEnvelopeAnalysis : uint8 = False
  FFTSize : ESoundWaveFFTSize = Medium_512
  FFTAnalysisFrameSize : int32 = 1024
  FFTAnalysisAttackTime : int32 = 10
  FFTAnalysisReleaseTime : int32 = 3000
  EnvelopeFollowerFrameSize : int32 = 1024
  EnvelopeFollowerAttackTime : int32 = 10
  EnvelopeFollowerReleaseTime : int32 = 100
  ModulationSettings : FSoundModulationDefaultRoutingSettings = (VolumeRouting=Inherit,PitchRouting=Inherit,HighpassRouting=Inherit,LowpassRouting=Inherit,VolumeModulationDes
  FrequenciesToAnalyze : TArray = (100.000000,500.000000,1000.000000,5000.000000)
  bMature : uint8 = False
  bManualWordWrap : uint8 = False
  bSingleLine : uint8 = False
  bIsAmbisonics : uint8 = False
  LoadingBehavior : ESoundWaveLoadingBehavior = Inherited
  SizeOfFirstAudioChunkInSeconds : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  SubtitlePriority : float = 10000.000000
  Volume : float = 1.000000
  Pitch : float = 1.000000
  NumChannels : int32 = 1
  LUFS : float = 0.000000
  SamplePeakDB : float = 0.000000
  SampleRate : int32 = 44100
  ImportedSampleRate : int32 = 44100
  CuePoints : TArray
  CuePointOrigin : ESoundWaveCuePointOrigin = MarkerTransformation
  Subtitles : TArray
  Comment : FString
  TimecodeInfo : FSoundWaveTimecodeInfo = (NumSamplesSinceMidnight=4294967295,NumSamplesPerSecond=0,Description="",OriginatorTime="",OriginatorDate="",O
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus:AssetImportData'
  Curves : TObjectPtr<UCurveTable> = None
  bEnableCloudStreaming : uint8 = False
  PlatformSettings : TMap = ()
  Transformations : TArray
  SoundClassObject : TObjectPtr<USoundClass> = /Script/Engine.SoundClass'/InterfaceForge/UIForge/Audio/SC_IFUI.SC_IFUI'
  EditorData : FSoundBaseEditorData = ()
  bDebug : uint8 = False
  bOverrideConcurrency : uint8 = False
  bEnableBusSends : uint8 = True
  bEnableBaseSubmix : uint8 = True
  bEnableSubmixSends : uint8 = True
  bBypassVolumeScaleForPriority : uint8 = False
  VirtualizationMode : EVirtualizationMode = Restart
  ConcurrencySet : TSet = ()
  ConcurrencyOverrides : FSoundConcurrencySettings = (MaxCount=16,bLimitToOwner=False,bVolumeScaleCanRelease=False,bEnableMaxCountPlatformScaling=False,ResolutionR
  Duration : float = 0.055011
  MaxDistance : float = 2097152.000000
  TotalSamples : float = 2426.000000
  Priority : float = 1.000000
  AttenuationSettings : TObjectPtr<USoundAttenuation> = None
  SoundSubmixObject : TObjectPtr<USoundSubmixBase> = None
  SoundSubmixSends : TArray
  SourceEffectChain : TObjectPtr<USoundEffectSourcePresetChain> = None
  BusSends : TArray
  PreEffectBusSends : TArray
  PostAttenuationBusSends : TArray
  AssetUserData : TArray
  AudioPropertiesSheet : TObjectPtr<UAudioPropertiesSheetAssetBase> = None
/InterfaceForge/UIForge/Audio/IF_GamePreview.IF_GamePreview — SoundWave
  CompressionQuality : int32 = 80
  SampleRateQuality : ESoundwaveSampleRateSettings = Max
  SoundGroup : TEnumAsByte<ESoundGroup> = SOUNDGROUP_Default
  bLooping : uint8 = False
  SoundAssetCompressionType : ESoundAssetCompressionType = ProjectDefined
  OverrideSoundToUseForAnalysis : TObjectPtr<USoundWave> = None
  TreatFileAsLoopingForAnalysis : uint8 = False
  bEnableBakedFFTAnalysis : uint8 = False
  bEnableAmplitudeEnvelopeAnalysis : uint8 = False
  FFTSize : ESoundWaveFFTSize = Medium_512
  FFTAnalysisFrameSize : int32 = 1024
  FFTAnalysisAttackTime : int32 = 10
  FFTAnalysisReleaseTime : int32 = 3000
  EnvelopeFollowerFrameSize : int32 = 1024
  EnvelopeFollowerAttackTime : int32 = 10
  EnvelopeFollowerReleaseTime : int32 = 100
  ModulationSettings : FSoundModulationDefaultRoutingSettings = (VolumeRouting=Inherit,PitchRouting=Inherit,HighpassRouting=Inherit,LowpassRouting=Inherit,VolumeModulationDes
  FrequenciesToAnalyze : TArray = (100.000000,500.000000,1000.000000,5000.000000)
  bMature : uint8 = False
  bManualWordWrap : uint8 = False
  bSingleLine : uint8 = False
  bIsAmbisonics : uint8 = False
  LoadingBehavior : ESoundWaveLoadingBehavior = Inherited
  SizeOfFirstAudioChunkInSeconds : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  SubtitlePriority : float = 10000.000000
  Volume : float = 1.000000
  Pitch : float = 1.000000
  NumChannels : int32 = 1
  LUFS : float = 0.000000
  SamplePeakDB : float = 0.000000
  SampleRate : int32 = 44100
  ImportedSampleRate : int32 = 44100
  CuePoints : TArray
  CuePointOrigin : ESoundWaveCuePointOrigin = MarkerTransformation
  Subtitles : TArray
  Comment : FString
  TimecodeInfo : FSoundWaveTimecodeInfo = (NumSamplesSinceMidnight=4294967295,NumSamplesPerSecond=0,Description="",OriginatorTime="",OriginatorDate="",O
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/Engine.AssetImportData'/InterfaceForge/UIForge/Audio/IF_GamePreview.IF_GamePreview:AssetImportData'
  Curves : TObjectPtr<UCurveTable> = None
  bEnableCloudStreaming : uint8 = False
  PlatformSettings : TMap = ()
  Transformations : TArray
  SoundClassObject : TObjectPtr<USoundClass> = /Script/Engine.SoundClass'/InterfaceForge/UIForge/Audio/SC_IFGamePreview.SC_IFGamePreview'
  EditorData : FSoundBaseEditorData = ()
  bDebug : uint8 = False
  bOverrideConcurrency : uint8 = False
  bEnableBusSends : uint8 = True
  bEnableBaseSubmix : uint8 = True
  bEnableSubmixSends : uint8 = True
  bBypassVolumeScaleForPriority : uint8 = False
  VirtualizationMode : EVirtualizationMode = Restart
  ConcurrencySet : TSet = ()
  ConcurrencyOverrides : FSoundConcurrencySettings = (MaxCount=16,bLimitToOwner=False,bVolumeScaleCanRelease=False,bEnableMaxCountPlatformScaling=False,ResolutionR
  Duration : float = 0.400000
  MaxDistance : float = 2097152.000000
  TotalSamples : float = 17640.000000
  Priority : float = 1.000000
  AttenuationSettings : TObjectPtr<USoundAttenuation> = None
  SoundSubmixObject : TObjectPtr<USoundSubmixBase> = None
  SoundSubmixSends : TArray
  SourceEffectChain : TObjectPtr<USoundEffectSourcePresetChain> = None
  BusSends : TArray
  PreEffectBusSends : TArray
  PostAttenuationBusSends : TArray
  AssetUserData : TArray
  AudioPropertiesSheet : TObjectPtr<UAudioPropertiesSheetAssetBase> = None
/InterfaceForge/UIForge/Audio/SC_IFGamePreview.SC_IFGamePreview — SoundClass
  Properties : FSoundClassProperties = (Volume=1.000000,Pitch=1.000000,LowPassFilterFrequency=20000.000000,AttenuationDistanceScale=1.000000,LFEBleed
  ChildClasses : TArray
  PassiveSoundMixModifiers : TArray
  AssetUserData : TArray
/InterfaceForge/UIForge/Audio/SC_IFUI.SC_IFUI — SoundClass
  Properties : FSoundClassProperties = (Volume=1.000000,Pitch=1.000000,LowPassFilterFrequency=20000.000000,AttenuationDistanceScale=1.000000,LFEBleed
  ChildClasses : TArray
  PassiveSoundMixModifiers : TArray
  AssetUserData : TArray
/InterfaceForge/UIForge/Audio/SM_IFPreferences.SM_IFPreferences — SoundMix
  bApplyEQ : uint8 = False
  EQPriority : float = 0.000000
  EQSettings : FAudioEQEffect = (FrequencyCenter0=600.000000,Gain0=1.000000,Bandwidth0=1.000000,FrequencyCenter1=1000.000000,Gain1=1.000000,Ba
  SoundClassEffects : TArray
  InitialDelay : float = 0.000000
  FadeInTime : float = 0.200000
  Duration : float = -1.000000
  FadeOutTime : float = 0.200000
/InterfaceForge/UIForge/Input/MI_IFControllerEast.MI_IFControllerEast — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/InterfaceForge/UIForge/Input/M_IFControllerFace.M_IFControllerFace'
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray = ((ParameterInfo=(Name="ActivePosition"),ParameterValue=1.000000,ExpressionGUID=E94AB3554CA11ABE43CC7FAFF603EC1
  VectorParameterValues : TArray
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/InterfaceForge/UIForge/Input/MI_IFControllerEast.MI_IFControlle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/InterfaceForge/UIForge/Input/MI_IFControllerNorth.MI_IFControllerNorth — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/InterfaceForge/UIForge/Input/M_IFControllerFace.M_IFControllerFace'
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray = ((ParameterInfo=(Name="ActivePosition"),ExpressionGUID=E94AB3554CA11ABE43CC7FAFF603EC1A))
  VectorParameterValues : TArray
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/InterfaceForge/UIForge/Input/MI_IFControllerNorth.MI_IFControll
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/InterfaceForge/UIForge/Input/MI_IFControllerSouth.MI_IFControllerSouth — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/InterfaceForge/UIForge/Input/M_IFControllerFace.M_IFControllerFace'
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray = ((ParameterInfo=(Name="ActivePosition"),ParameterValue=2.000000,ExpressionGUID=E94AB3554CA11ABE43CC7FAFF603EC1
  VectorParameterValues : TArray
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/InterfaceForge/UIForge/Input/MI_IFControllerSouth.MI_IFControll
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/InterfaceForge/UIForge/Input/MI_IFControllerWest.MI_IFControllerWest — MaterialInstanceConstant
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  Parent : TObjectPtr<UMaterialInterface> = /Script/Engine.Material'/InterfaceForge/UIForge/Input/M_IFControllerFace.M_IFControllerFace'
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  bOverrideSubsurfaceProfile : uint8 = False
  bOverrideSpecularProfile : uint8 = False
  bOverrideToonProfile : uint8 = False
  bOverrideBlendableLocation : uint8 = False
  bOverrideBlendablePriority : uint8 = False
  bOverridePhysMaterial : uint8 = False
  BlendableLocationOverride : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendablePriorityOverride : int32 = 0
  ScalarParameterValues : TArray = ((ParameterInfo=(Name="ActivePosition"),ParameterValue=3.000000,ExpressionGUID=E94AB3554CA11ABE43CC7FAFF603EC1
  VectorParameterValues : TArray
  DoubleVectorParameterValues : TArray
  TextureParameterValues : TArray
  TextureCollectionParameterValues : TArray
  ParameterCollectionParameterValues : TArray
  RuntimeVirtualTextureParameterValues : TArray
  SparseVolumeTextureParameterValues : TArray
  FontParameterValues : TArray
  UserSceneTextureOverrides : TArray
  BasePropertyOverrides : FMaterialInstanceBasePropertyOverrides = (bOverride_OpacityMaskClipValue=False,bOverride_BlendMode=False,bOverride_ShadingModel=False,bOverride_Dithere
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialInstanceEditorOnlyData'/InterfaceForge/UIForge/Input/MI_IFControllerWest.MI_IFControlle
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/InterfaceForge/UIForge/Input/M_IFControllerFace.M_IFControllerFace — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_UI
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Translucent
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = False
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = False
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/InterfaceForge/UIForge/Input/M_IFControllerFace.M_IFControllerFace:M_IF
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/InterfaceForge/UIForge/Materials/M_IFCenterTint.M_IFCenterTint — Material
  PhysMaterial : TObjectPtr<UPhysicalMaterial> = None
  PhysMaterialMask : TObjectPtr<UPhysicalMaterialMask> = None
  PhysicalMaterialMap : TObjectPtr<UPhysicalMaterial> = None
  MaterialDomain : TEnumAsByte<EMaterialDomain> = MD_UI
  BlendMode : TEnumAsByte<EBlendMode> = BLEND_Translucent
  MaterialDecalResponse : TEnumAsByte<EMaterialDecalResponse> = MDR_ColorNormalRoughness
  NaniteOverrideMaterial : FMaterialOverrideNanite = (bEnableOverride=True,OverrideMaterialEditor=None,OverrideMaterial=None,OverrideMaterialRef=None)
  DisplacementScaling : FDisplacementScaling = (Magnitude=4.000000,Center=0.500000)
  DisplacementFadeRange : FDisplacementFadeRange = (StartSizePixels=4.000000,EndSizePixels=1.000000)
  ShadingModel : TEnumAsByte<EMaterialShadingModel> = MSM_DefaultLit
  bCastDynamicShadowAsMasked : uint8 = False
  UsedShadingModels : FString = Default Lit
  OpacityMaskClipValue : float = 0.333300
  bEnableResponsiveAA : uint8 = False
  bScreenSpaceReflections : uint8 = False
  bContactShadows : uint8 = False
  TwoSided : uint8 = False
  bIsThinSurface : uint8 = False
  DitheredLODTransition : uint8 = False
  DitherOpacityMask : uint8 = False
  bAllowNegativeEmissiveColor : uint8 = False
  bHasPixelAnimation : uint8 = False
  bEnableTessellation : uint8 = False
  bEnableDisplacementFade : uint8 = False
  TranslucencyPass : TEnumAsByte<EMaterialTranslucencyPass> = MTP_AfterDOF
  TranslucencyLightingMode : TEnumAsByte<ETranslucencyLightingMode> = TLM_VolumetricNonDirectional
  bEnableMobileSeparateTranslucency : uint8 = False
  NumCustomizedUVs : int32 = 0
  TranslucencyDirectionalLightingIntensity : float = 1.000000
  TranslucentShadowDensityScale : float = 0.500000
  TranslucentSelfShadowDensityScale : float = 2.000000
  TranslucentSelfShadowSecondDensityScale : float = 10.000000
  TranslucentSelfShadowSecondOpacity : float = 0.000000
  TranslucentBackscatteringExponent : float = 30.000000
  TranslucentMultipleScatteringExtinction : FLinearColor = (R=1.000000,G=0.833000,B=0.588000,A=1.000000)
  TranslucentShadowStartOffset : float = 100.000000
  bDisableDepthTest : uint8 = False
  bWriteOnlyAlpha : uint8 = False
  bGenerateSphericalParticleNormals : uint8 = False
  bTangentSpaceNormal : uint8 = True
  bUseEmissiveForDynamicAreaLighting : uint8 = False
  bSubstrateRoughnessTracking : uint8 = True
  bUsedWithSkeletalMesh : uint8 = False
  bUsedWithMeshDeformer : uint8 = False
  bUsedWithEditorCompositing : uint8 = False
  bUsedWithParticleSprites : uint8 = False
  bUsedWithBeamTrails : uint8 = False
  bUsedWithMeshParticles : uint8 = False
  bUsedWithNiagaraSprites : uint8 = False
  bUsedWithNiagaraRibbons : uint8 = False
  bUsedWithNiagaraMeshParticles : uint8 = False
  bUsedWithGeometryCache : uint8 = False
  bUsedWithStaticLighting : uint8 = False
  bUsedWithMorphTargets : uint8 = False
  bUsedWithSplineMeshes : uint8 = False
  bUsedWithInstancedStaticMeshes : uint8 = False
  bUsedWithGeometryCollections : uint8 = False
  bUsedWithClothing : uint8 = False
  bUsedWithWater : uint8 = False
  bUsedWithHairStrands : uint8 = False
  bUsedWithLidarPointCloud : uint8 = False
  bUsedWithVirtualHeightfieldMesh : uint8 = False
  bUsedWithNanite : uint8 = False
  bUsedWithVoxels : uint8 = False
  bUsedWithCurves : uint8 = False
  bUsedWithVolumetricCloud : uint8 = False
  bUsedWithHeterogeneousVolumes : uint8 = False
  bUsedWithInstancedSkinnedMesh : uint8 = False
  bUsedWithStaticMesh : uint8 = True
  bForceCompatibleWithLightFunctionAtlas : uint8 = False
  bAutomaticallySetUsageInEditor : uint8 = True
  bFullyRough : uint8 = False
  FloatPrecisionMode : TEnumAsByte<EMaterialFloatPrecisionMode> = MFPM_Default
  bUseLightmapDirectionality : uint8 = True
  bUseAlphaToCoverage : uint8 = False
  bForwardRenderUsePreintegratedGFForSimpleIBL : uint8 = False
  bUseHQForwardReflections : uint8 = False
  bForwardBlendsSkyLightCubemaps : uint8 = False
  bUsePlanarForwardReflections : uint8 = False
  bNormalCurvatureToRoughness : uint8 = False
  AllowTranslucentCustomDepthWrites : uint8 = False
  bAllowFrontLayerTranslucency : uint8 = True
  bCompatibleWithLumenCardSharing : uint8 = False
  Wireframe : uint8 = False
  bAllowTranslucentLocalLightShadow : uint8 = False
  TranslucentLocalLightShadowQuality : float = 0.000000
  TranslucentDirectionalLightShadowQuality : float = 0.000000
  ShadingRate : TEnumAsByte<EMaterialShadingRate> = MSR_1x1
  bAllowVariableRateShading : uint8 = True
  bUseMaterialAttributes : uint8 = False
  bEnableExecWire : uint8 = False
  bEnableNewHLSLGenerator : uint8 = False
  bCastRayTracedShadows : uint8 = True
  bUseTranslucencyVertexFog : uint8 = True
  bApplyCloudFogging : uint8 = False
  bIsSky : uint8 = False
  bComputeFogPerPixel : uint8 = False
  bOutputTranslucentVelocity : uint8 = False
  bIsTranslucencyVelocityFromDepth : uint8 = False
  bRelaxRuntimeVirtualTextureRestrictions : uint8 = False
  BlendableLocation : TEnumAsByte<EBlendableLocation> = BL_SceneColorAfterTonemapping
  BlendableOutputAlpha : uint8 = False
  UserSceneTexture : FName = None
  UserTextureDivisor : FIntPoint = (X=0,Y=0)
  ResolutionRelativeToInput : FName = None
  bDisablePreExposureScale : uint8 = False
  bUsedWithNeuralNetworks : uint8 = False
  bEnableStencilTest : uint8 = False
  StencilCompare : TEnumAsByte<EMaterialStencilCompare> = MSC_Less
  StencilRefValue : uint8 = 0
  NeuralProfileId : int8 = -1
  RefractionMethod : TEnumAsByte<ERefractionMode> = RM_None
  RefractionCoverageMode : TEnumAsByte<ERefractionCoverageMode> = RCM_CoverageAccountedFor
  PixelDepthOffsetMode : TEnumAsByte<EPixelDepthOffsetMode> = PDOM_AlongCameraVector
  BlendablePriority : int32 = 0
  bIsBlendable : uint8 = True
  PreshaderGap : uint16 = 0
  RefractionDepthBias : float = 0.000000
  MaxWorldPositionOffsetDisplacement : float = 0.000000
  bAlwaysEvaluateWorldPositionOffset : bool = False
  EditorOnlyData : TObjectPtr<UMaterialInterfaceEditorOnlyData> = /Script/Engine.MaterialEditorOnlyData'/InterfaceForge/UIForge/Materials/M_IFCenterTint.M_IFCenterTint:M_IFCent
  SubsurfaceProfile : TObjectPtr<USubsurfaceProfile> = None
  NeuralProfile : TObjectPtr<UNeuralProfile> = None
  LightmassSettings : FLightmassMaterialInterfaceSettings = (EmissiveBoost=1.000000,DiffuseBoost=1.000000,ExportResolutionScale=1.000000,bCastShadowAsMasked=False,bOverri
  AssetUserData : TArray
  PreviewMesh : FSoftObjectPath = None
  ThumbnailInfo : TObjectPtr<UThumbnailInfo> = None
  AssetImportData : TObjectPtr<UAssetImportData> = None
/InterfaceForge/UIForge/Themes/Art/T_IFButtonActive.T_IFButtonActive — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFButtonActive.T_IFB
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/Art/T_IFButtonBevel.T_IFButtonBevel — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFButtonBevel.T_IFBu
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/Art/T_IFButtonPrimary.T_IFButtonPrimary — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFButtonPrimary.T_IF
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/Art/T_IFButtonPrimaryActive.T_IFButtonPrimaryActive — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFButtonPrimaryActiv
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/Art/T_IFCombatPanel.T_IFCombatPanel — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFCombatPanel.T_IFCo
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/Art/T_IFHeaderBand.T_IFHeaderBand — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFHeaderBand.T_IFHea
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/Art/T_IFResourceFill.T_IFResourceFill — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFResourceFill.T_IFR
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/Art/T_IFResourceTrack.T_IFResourceTrack — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFResourceTrack.T_IF
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/Art/T_IFWindowNeutral.T_IFWindowNeutral — Texture2D
  AddressX : TEnumAsByte<TextureAddress> = TA_Wrap
  AddressY : TEnumAsByte<TextureAddress> = TA_Wrap
  AssetImportData : TObjectPtr<UAssetImportData> = /Script/InterchangeEngine.InterchangeAssetImportData'/InterfaceForge/UIForge/Themes/Art/T_IFWindowNeutral.T_IF
  AdjustBrightness : float = 1.000000
  AdjustBrightnessCurve : float = 1.000000
  AdjustVibrance : float = 0.000000
  AdjustSaturation : float = 1.000000
  AdjustRGBCurve : float = 1.000000
  AdjustHue : float = 0.000000
  AdjustMinAlpha : float = 0.000000
  AdjustMaxAlpha : float = 1.000000
  CompressionNoAlpha : uint8 = False
  CompressFinal : uint8 = False
  DeferCompression : uint8 = False
  LossyCompressionAmount : TEnumAsByte<ETextureLossyCompressionAmount> = TLCA_Default
  OodleTextureSdkVersion : FName = 2.9.16
  MaxTextureSize : int32 = 0
  CompressionQuality : TEnumAsByte<ETextureCompressionQuality> = TCQ_Default
  CompressionCacheId : FGuid = 00000000000000000000000000000000
  bDoScaleMipsForAlphaCoverage : bool = False
  AlphaCoverageThresholds : FVector4 = (X=0.000000,Y=0.000000,Z=0.000000,W=0.750000)
  bUseNewMipFilter : bool = True
  bPreserveBorder : uint8 = False
  bFlipGreenChannel : uint8 = False
  PowerOfTwoMode : TEnumAsByte<ETexturePowerOfTwoSetting::Type> = None
  PaddingColor : FColor = (B=0,G=0,R=0,A=255)
  bPadWithBorderColor : bool = False
  ResizeDuringBuildX : int32 = 0
  ResizeDuringBuildY : int32 = 0
  bChromaKeyTexture : bool = False
  ChromaKeyThreshold : float = 0.003922
  ChromaKeyColor : FColor = (B=255,G=0,R=255,A=255)
  MipGenSettings : TEnumAsByte<TextureMipGenSettings> = TMGS_NoMipmaps
  CompositeTexture : TObjectPtr<UTexture> = None
  CompositeTextureMode : TEnumAsByte<ECompositeTextureMode> = CTM_Disabled
  CompositePower : float = 1.000000
  LODBias : int32 = 0
  CompressionSettings : TEnumAsByte<TextureCompressionSettings> = TC_EditorIcon
  Filter : TEnumAsByte<TextureFilter> = TF_Default
  MipLoadOptions : ETextureMipLoadOptions = Default
  VirtualTextureStreamingPriority : EVTProducerPriority = Normal
  VirtualTexturePrefetchMips : uint8 = 0
  CookPlatformTilingSettings : TEnumAsByte<TextureCookPlatformTilingSettings> = TCPTS_FromTextureGroup
  bOodlePreserveExtremes : bool = False
  LODGroup : TEnumAsByte<TextureGroup> = TEXTUREGROUP_UI
  Downscale : FPerPlatformFloat = (Default=0.000000,PerPlatform=())
  DownscaleOptions : ETextureDownscaleOptions = Default
  Availability : ETextureAvailability = GPU
  SRGB : uint8 = True
  bNormalizeNormals : uint8 = True
  bUseLegacyGamma : uint8 = False
  SourceColorSettings : FTextureSourceColorSettings = (EncodingOverride=TSE_None,ColorSpace=TCS_None,RedChromaticityCoordinate=(X=0.000000,Y=0.000000),GreenChromati
  VirtualTextureStreaming : uint8 = False
  bUseVirtualTextureStreamingPriority : uint8 = False
  AssetUserData : TArray
  NumCinematicMipLevels : int32 = 0
  NeverStream : uint8 = True
  bGlobalForceMipLevelsToBeResident : uint8 = False
/InterfaceForge/UIForge/Themes/DA_ForgeEmber.DA_ForgeEmber — IFTheme
  Surface : FLinearColor = (R=0.022000,G=0.032000,B=0.046000,A=0.980000)
  Text : FLinearColor = (R=0.900000,G=0.880000,B=0.820000,A=1.000000)
  Accent : FLinearColor = (R=0.780000,G=0.580000,B=0.310000,A=1.000000)
  Danger : FLinearColor = (R=0.950000,G=0.250000,B=0.220000,A=1.000000)
  MutedText : FLinearColor = (R=0.590000,G=0.560000,B=0.490000,A=1.000000)
  Outline : FLinearColor = (R=0.270000,G=0.230000,B=0.170000,A=1.000000)
  Icons : TMap = ()
  SurfaceStyles : TMap = (("Window", (TintColor=(SpecifiedColor=(R=0.810000,G=0.610000,B=0.350000,A=1.000000)),DrawAs=Box,Margin=(Left=
  ButtonStyles : TMap = (("Primary", (Normal=(TintColor=(SpecifiedColor=(R=0.820000,G=0.500000,B=0.210000,A=1.000000)),DrawAs=Box,Marg
  DefaultSurfaceStyle : FName = Panel
  DialogSurfaceStyle : FName = Window
  DialogHeaderSurfaceStyle : FName = Header
  CompactKeyLabels : TMap = ((Gamepad_LeftShoulder, NSLOCTEXT("InterfaceForge", "LeftShoulderShort", "LB")),(Gamepad_RightShoulder, NSLOCT
  FocusSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus'
  ConfirmSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm'
  BodyFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  HeadingFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  Spacing : float = 12.000000
  ScrollBarThickness : float = 6.000000
  TransitionSeconds : float = 0.160000
  ButtonCornerRadius : float = 2.000000
  ButtonPadding : FMargin = (Left=12.000000,Top=8.000000,Right=12.000000,Bottom=8.000000)
/InterfaceForge/UIForge/Themes/DA_ForgeMineral.DA_ForgeMineral — IFTheme
  Surface : FLinearColor = (R=0.012000,G=0.020000,B=0.032000,A=1.000000)
  Text : FLinearColor = (R=0.900000,G=0.930000,B=0.970000,A=1.000000)
  Accent : FLinearColor = (R=0.220000,G=0.820000,B=0.650000,A=1.000000)
  Danger : FLinearColor = (R=0.950000,G=0.250000,B=0.220000,A=1.000000)
  MutedText : FLinearColor = (R=0.440000,G=0.580000,B=0.670000,A=1.000000)
  Outline : FLinearColor = (R=0.190000,G=0.290000,B=0.330000,A=1.000000)
  Icons : TMap = ()
  SurfaceStyles : TMap = ()
  ButtonStyles : TMap = ()
  DefaultSurfaceStyle : FName = None
  DialogSurfaceStyle : FName = None
  DialogHeaderSurfaceStyle : FName = None
  CompactKeyLabels : TMap = ((Gamepad_LeftShoulder, NSLOCTEXT("InterfaceForge", "LeftShoulderShort", "LB")),(Gamepad_RightShoulder, NSLOCT
  FocusSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus'
  ConfirmSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm'
  BodyFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  HeadingFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  Spacing : float = 12.000000
  ScrollBarThickness : float = 6.000000
  TransitionSeconds : float = 0.160000
  ButtonCornerRadius : float = 2.000000
  ButtonPadding : FMargin = (Left=16.000000,Top=12.000000,Right=16.000000,Bottom=12.000000)
/InterfaceForge/UIForge/Themes/DA_ForgeMoonsteel.DA_ForgeMoonsteel — IFTheme
  Surface : FLinearColor = (R=0.022000,G=0.032000,B=0.046000,A=0.980000)
  Text : FLinearColor = (R=0.880000,G=0.910000,B=0.920000,A=1.000000)
  Accent : FLinearColor = (R=0.400000,G=0.760000,B=0.870000,A=1.000000)
  Danger : FLinearColor = (R=0.950000,G=0.250000,B=0.220000,A=1.000000)
  MutedText : FLinearColor = (R=0.520000,G=0.580000,B=0.620000,A=1.000000)
  Outline : FLinearColor = (R=0.170000,G=0.250000,B=0.300000,A=1.000000)
  Icons : TMap = ()
  SurfaceStyles : TMap = (("Window", (TintColor=(SpecifiedColor=(R=0.420000,G=0.720000,B=0.840000,A=1.000000)),DrawAs=Box,Margin=(Left=
  ButtonStyles : TMap = (("Primary", (Normal=(TintColor=(SpecifiedColor=(R=0.280000,G=0.610000,B=0.760000,A=1.000000)),DrawAs=Box,Marg
  DefaultSurfaceStyle : FName = Panel
  DialogSurfaceStyle : FName = Window
  DialogHeaderSurfaceStyle : FName = Header
  CompactKeyLabels : TMap = ((Gamepad_LeftShoulder, NSLOCTEXT("InterfaceForge", "LeftShoulderShort", "LB")),(Gamepad_RightShoulder, NSLOCT
  FocusSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Focus.IF_Focus'
  ConfirmSound : TObjectPtr<USoundBase> = /Script/Engine.SoundWave'/InterfaceForge/UIForge/Audio/IF_Confirm.IF_Confirm'
  BodyFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  HeadingFont : FSlateFontInfo = (FontObject=None,FontMaterial=None,OutlineSettings=(OutlineSize=0,bMiteredCorners=False,bSeparateFillAlpha=Fal
  Spacing : float = 12.000000
  ScrollBarThickness : float = 6.000000
  TransitionSeconds : float = 0.160000
  ButtonCornerRadius : float = 2.000000
  ButtonPadding : FMargin = (Left=12.000000,Top=8.000000,Right=12.000000,Bottom=8.000000)

Boundaries ​

The optional MassForge example and adapter source are included in the file/code map. Its two widget assets require their own UE5.8/MassForge host; their separate capture/export is recorded in the visual catalog. Deferred inventory under Review is historical only. Generated caches and recovered historical variants are not active UI features.

UIForge v0.1.0 · Blueprint and C++ development documentation.

Enlarged documentation image

Enlarged documentation image