4.2 KiB
4.2 KiB
Blueprint Spec Template
Use this template for every system file in docs/blueprints/. Replace all {{placeholders}} with system-specific values.
{{System Number}} — {{System Name}} ({{AssetType}}_{{Name}})
Purpose
{{1-2 sentences describing what this system does and why it exists.}}
Dependencies
- Requires: {{other systems this directly depends on}}
- Required By: {{which systems depend on this}}
- Engine/Plugin Requirements: {{e.g. GameplayTags, GASP, DeveloperSettings}}
Class Info
| Property | Value |
|---|---|
| Parent Class | {{ParentClassName}} |
| Class Type | {{Blueprint, BlueprintComponent, Widget, etc.}} |
| Asset Path | Content/Framework/{{Category}}/{{FileName}} |
| Implements Interfaces | {{I_Interfaces}} |
1. Enums
Enum Name: {{E_EnumName}}
(DisplayName = "{{Display Name}}")
Values:
{{Value1}} = 0 // Description
{{Value2}} = 1 // Description
{{Value3}} = 2 // Description
List each enum the system defines or uses.
2. Structs
{{S_StructName}}
| Field | Type | Description |
|---|---|---|
{{Field1}} |
{{Type}} |
{{Description}} |
{{Field2}} |
{{Type}} |
{{Description}} |
List each struct the system defines. Include all fields with types and descriptions.
3. Variables
Configuration (Instance Editable, Expose On Spawn)
| Variable | Type | Default | Category | Description |
|---|---|---|---|---|
{{VarName}} |
{{Type}} |
{{Default}} |
{{Category}} |
{{Description}} |
Internal (Private / Protected, No Expose)
| Variable | Type | Default | Category | Description |
|---|---|---|---|---|
{{VarName}} |
{{Type}} |
{{Default}} |
{{Category}} |
{{Description}} |
Replicated (if multiplayer)
| Variable | Type | Condition | Description |
|---|---|---|---|
{{VarName}} |
{{Type}} |
{{RepCond}} |
{{Description}} |
4. Functions
Public Functions
{{FunctionName}} → {{ReturnType}}
- Description: {{What this function does}}
- Parameters:
Param Type Description {{ParamName}}{{Type}}{{Description}} - Blueprint Authority: {{Client / Server / Multicast / Any}}
- Flow: {{brief description of logic flow}}
Protected / Private Functions
{{FunctionName}} → {{ReturnType}}
- Description: {{What this function does}}
- Parameters:
Param Type Description {{ParamName}}{{Type}}{{Description}} - Flow: {{brief description of logic flow}}
5. Event Dispatchers
| Dispatcher | Parameters | Bind Access | Description |
|---|---|---|---|
On{{EventName}} |
{{Type1}}, {{Type2}} |
{{Public/Private}} |
{{When this fires}} |
On{{OtherEvent}} |
{{Type1}} |
{{Public/Private}} |
{{When this fires}} |
6. Overridden Events / Custom Events
Event: {{EventName}}
- Description: {{What triggers this event and what it does}}
- Flow:
- {{Step 1}}
- {{Step 2}}
- {{Step 3}}
7. Blueprint Graph Logic Flow
flowchart TD
A[BeginPlay / Initialize] --> B{Check Condition}
B -->|True| C[Do Action]
B -->|False| D[Alternate Path]
C --> E[Fire Dispatcher]
D --> F[Log Warning]
Describe the main execution flow using a Mermaid flowchart.
8. Communication Matrix
| Who Talks | How | What Is Sent |
|---|---|---|
{{Source}} |
{{I_Interface / Dispatcher / Direct}} |
{{Data}} |
{{Source}} |
{{I_Interface / Dispatcher / Direct}} |
{{Data}} |
List every other system this one talks to and the mechanism used.
9. Validation / Testing Checklist
- {{Check 1}}
- {{Check 2}}
- {{Check 3}}
- Edge case: {{Edge case description}}
10. Reuse Notes
- {{Any notes about reusing this component in other contexts}}
- {{Things to watch out for during implementation}}
Template version 1.0 — Reference file for all docs/blueprints/ specifications.