Specify a webhook-driven task for OpenClaw
Describe event inputs, validation, deduplication, and intended actions before integration work.
Unreal Engine C++ programming skill for UCLASS macros, reflection system, garbage collection, and engine integration.
---
name: unreal-cpp
description: Unreal Engine C++ programming skill for UCLASS macros, reflection system, garbage collection, and engine integration.
allowed-tools: Read, Grep, Write, Bash, Edit, Glob, WebFetch
graph:
domains: [domain:gaming]
specializations: [specialization:game-development]
skillAreas: [skill-area:game-engines, skill-area:gameplay-programming]
roles: [role:game-developer]
---
# Unreal C++ Skill
C++ programming for Unreal Engine development.
## Overview
This skill provides capabilities for implementing Unreal Engine gameplay and systems using C++, including the reflection system, macros, and engine integration.
## Capabilities
### UCLASS System
- Implement UCLASS macros
- Handle UPROPERTY specifiers
- Create UFUNCTION methods
- Manage USTRUCT types
### Memory Management
- Use smart pointers
- Handle garbage collection
- Manage object lifecycles
- Implement weak references
### Engine Integration
- Create Actor classes
- Implement Components
- Handle Subsystems
- Create Plugins
### Blueprint Exposure
- Expose C++ to Blueprint
- Handle BlueprintCallable
- Implement BlueprintNativeEvent
- Create Blueprint Function Libraries
## Prerequisites
- Unreal Engine 5.0+
- Visual Studio 2022 / Rider
- C++ programming knowledge
## Usage Patterns
### Actor Class
```cpp
UCLASS()
class MYGAME_API AMyCharacter : public ACharacter
{
GENERATED_BODY()
public:
AMyCharacter();
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stats")
float Health = 100.f;
UFUNCTION(BlueprintCallable, Category = "Combat")
void TakeDamage(float Damage);
protected:
virtual void BeginPlay() override;
virtual void Tick(float DeltaTime) override;
};
```
### Component
```cpp
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class MYGAME_API UHealthComponent : public UActorComponent
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintAssignable)
FOnHealthChanged OnHealthChanged;
UFUNCTION(BlueprintCallable)
void ModifyHealth(float Delta);
private:
UPROPERTY(EditDefaultsOnly)
float MaxHealth = 100.f;
float CurrentHealth;
};
```
## Best Practices
1. Use UPROPERTY for GC visibility
2. Forward declare where possible
3. Use interfaces for decoupling
4. Profile with Unreal Insights
5. Follow Unreal coding standards
## References
- [Unreal C++ Documentation](https://docs.unrealengine.com/5.0/en-US/programming-with-cplusplus-in-unreal-engine/)
---
name: unreal-cpp
description: Unreal Engine C++ programming skill for UCLASS macros, reflection system, garbage collection, and engine integration.
allowed-tools: Read, Grep, Write, Bash, Edit, Glob, WebFetch
graph:
domains: [domain:gaming]
specializations: [specialization:game-development]
skillAreas: [skill-area:game-engines, skill-area:gameplay-programming]
roles: [role:game-developer]
---
# Unreal C++ Skill
C++ programming for Unreal Engine development.
## Overview
This skill provides capabilities for implementing Unreal Engine gameplay and systems using C++, including the reflection system, macros, and engine integration.
## Capabilities
### UCLASS System
- Implement UCLASS macros
- Handle UPROPERTY specifiers
- Create UFUNCTION methods
- Manage USTRUCT types
### Memory Management
- Use smart pointers
- Handle garbage collection
- Manage object lifecycles
- Implement weak references
### Engine Integration
- Create Actor classes
- Implement Components
- Handle Subsystems
- Create Plugins
### Blueprint Exposure
- Expose C++ to Blueprint
- Handle BlueprintCallable
- Implement BlueprintNativeEvent
- Create Blueprint Function Libraries
## Prerequisites
- Unreal Engine 5.0+
- Visual Studio 2022 / Rider
- C++ programming knowledge
## Usage Patterns
### Actor Class
```cpp
UCLASS()
class MYGAME_API AMyCharacter : public ACharacter
{
GENERATED_BODY()
public:
AMyCharacter();
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stats")
float Health = 100.f;
UFUNCTION(BlueprintCallable, Category = "Combat")
void TakeDamage(float Damage);
protected:
virtual void BeginPlay() override;
virtual void Tick(float DeltaTime) override;
};
```
### Component
```cpp
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class MYGAME_API UHealthComponent : public UActorComponent
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintAssignable)
FOnHealthChanged OnHealthChanged;
UFUNCTION(BlueprintCallable)
void ModifyHealth(float Delta);
private:
UPROPERTY(EditDefaultsOnly)
float MaxHealth = 100.f;
float CurrentHealth;
};
```
## Best Practices
1. Use UPROPERTY for GC visibility
2. Forward declare where possible
3. Use interfaces for decoupling
4. Profile with Unreal Insights
5. Follow Unreal coding standards
## References
- [Unreal C++ Documentation](https://docs.unrealengine.com/5.0/en-US/programming-with-cplusplus-in-unreal-engine/)
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.