Installable skillMIT

Unreal C++ Skill

Unreal Engine C++ programming skill for UCLASS macros, reflection system, garbage collection, and engine integration.

BY a5c-aiUPDATED Oct 27, 2026
INTENDED FOR✳Claude CodeInstall in a listed agent.

instructions.md

---
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/)
COMPATIBILITY & REFERENCES

Platform guidance

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.