claw-code/.guardrails/examples/cpp/unreal-ui/README.md

132 lines
3.1 KiB
Markdown

# Unreal Engine CommonUI - 2026 Best Practices
## Overview
This module demonstrates production-ready Unreal Engine 5.4+ CommonUI plugin implementations with volumetric UI, GPU instancing, and systemic rulesets for physics/chemistry interactions.
## Architecture
### Stack
- **Unreal Engine 5.4+** - Latest UE5 features
- **CommonUI Plugin** - Unified UI framework
- **Volumetric Rendering** - Z-depth UI layers
- **GPU Instancing** - Batch UI element rendering
## 2026 Best Practices
### Core Design Patterns
#### CommonUI Framework
```cpp
// CommonUI widget creation
auto* hudWidget = CreateWidget<UCommonUserWidget>(GetWorld(), HUDClass);
hudWidget->Initialize();
```
#### Volumetric UI with Z-Depth
- Holographic inventory previews
- Parallax scrolling for UI layers
- Eye-tracking focus indicators
#### GPU Instancing
- Batched UI element rendering
- Shared material batches
- Efficient VR/AR UI rendering
### Game Core Loop Integration
- **Action Phase**: Combat HUD with reactive health bars
- **Reward Phase**: Loot reveal with volumetric glow
- **Upgrade Phase**: Skill tree with Z-depth nodes
### DDA 3.0 (Dynamic Difficulty Adjustment)
#### Enemy AI Heuristic Adjustment
- UI opacity adapts to player stress
- Visual complexity reduction for difficult tier
- Enhanced feedback for relaxed tier
### Accessibility (WCAG 3.0+)
#### Colorblindness Independence
```cpp
// Shape + icon redundancy
HealthBar->SetShapeIndicator(true); // Not just color
```
#### Eye-Tracking Support
- Dwell-based selection (150ms threshold)
- Pupil dilation stress detection
- Blink confirmation pattern
### Spatial Computing (XR)
#### Volumetric Rendering
- Z-depth parallax (0.3f factor)
- Holographic item previews
- Eye-tracking focus rings
#### GPU Instancing for XR
- Batched VR UI rendering
- Shared material for efficiency
- Low-latency UI updates
### Ethical Engagement
#### Rest-State Mechanics
```cpp
// Mandatory calm state after 45-minute sessions
if (SessionDuration > 45) {
EnterRestState();
}
```
#### Transparent Loot Tables
- Drop rates displayed inline
- Pity timer visualization
- No obfuscated RNG indicators
### Systemic Rulesets
#### Physics/Chemistry Interaction
- UI elements obey physics rules
- Chemical reaction metaphors for combos
- Emergent gameplay through interaction
## File Structure
```
unreal-ui/
README.md - This documentation
CommonUI.cpp - UE5 CommonUI example
volumetric-ui.cpp - Volumetric UI with Z-depth
gpu-instancing.cpp - GPU instancing for UI
systemic-ruleset.cpp - Physics/chemistry ruleset
```
## Usage
```cpp
// Initialize CommonUI system
auto* uiSystem = UEuralCommonUI::Get();
uiSystem->Initialize();
// Enable volumetric rendering
uiSystem->SetVolumetricDepth(0.5f);
// Enable GPU instancing
uiSystem->EnableGPUInstancing(true);
```
## Testing
Run Unreal UI tests:
```bash
UnrealEditor -run=test -test=examples/cpp/unreal-ui
```
## References
- [Unreal Engine CommonUI Plugin](https://docs.unrealengine.com/en-US/CommonUI/)
- [UE5 Volumetric Rendering](https://docs.unrealengine.com/en-US/volumetric/)
- [WCAG 3.0 Accessibility Guidelines](https://www.w3.org/TR/wcag-3.0/)