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
Bundled reference: BP_Prog_Calculator
Section titled “Bundled reference: BP_Prog_Calculator”| Property | Value on BP_Prog_Calculator |
|---|---|
| Name | Calculator |
| Identifier | calculator |
| Widget Class | WBP_Calculator |
| Icon Widget Class | WBP_ProgramIcon |
Plugin paths:
- Program:
Shared/Blueprints/Programs/Calculator/BP_Prog_Calculator - Widget:
Shared/Blueprints/Widgets/Programs/Calculator/WBP_Calculator
Screenshot callouts
Section titled “Screenshot callouts”Widget graph flow
Section titled “Widget graph flow”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
Register with your OS
Section titled “Register with your OS”Add BP_Prog_MyApp to a duplicated DA_NonUnix_ProgramsCollection (or your OS Must Have Programs array).