Skip to content

Pattern — Simple Blueprint Program

The lightest program pattern: one program Blueprint and one widget Blueprint. No settings or data classes required. The bundled Calculator is the reference implementation.

flowchart LR
  subgraph assets["Assets to create"]
    Prog["BP_Prog_MyApp<br/><i>UOperatingSystemBaseProgram</i>"]
    Widget["WBP_MyApp<br/><i>UOperatingSystemProgramWidget</i>"]
    Icon["WBP_ProgramIcon<br/><i>UOperatingSystemProgramIconWidget</i>"]
  end
  subgraph wiring["Wiring"]
    Prog -->|"Widget Class"| Widget
    Prog -->|"Icon Widget Class"| Icon
    Collection["UOperatingSystemProgramsCollection"] -->|"Must Have Programs"| Prog
  end
PropertyValue on BP_Prog_Calculator
NameCalculator
Identifiercalculator
Widget ClassWBP_Calculator
Icon Widget ClassWBP_ProgramIcon

Plugin paths:

  • Program: Shared/Blueprints/Programs/Calculator/BP_Prog_Calculator
  • Widget: Shared/Blueprints/Widgets/Programs/Calculator/WBP_Calculator
sequenceDiagram
  participant Widget as WBP_MyApp
  participant Prog as BP_Prog_MyApp
  participant OS as UOperatingSystem
  Widget->>Prog: Get Owning Program
  Prog->>OS: Get Operating System
  Widget->>Widget: Bind buttons / update UI

Add BP_Prog_MyApp to a duplicated DA_NonUnix_ProgramsCollection (or your OS Must Have Programs array).