Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
sickn33 avatar

Unreal Engine Cpp Pro

  • 1.1k installs
  • 44k repo stars
  • Updated July 27, 2026
  • sickn33/antigravity-awesome-skills

unreal-engine-cpp-pro is a game-development skill that generates production-grade Unreal Engine C++ actor and component code following Epic best practices for developers shipping UE gameplay systems.

About

unreal-engine-cpp-pro is an antigravity-awesome-skills package that produces Unreal Engine C++ actors and components aligned with Epic conventions. Example patterns include DEFINE_LOG_CATEGORY_STATIC log categories, PrimaryActorTick disabled by default, CreateDefaultSubobject for UBoxComponent root setup, BeginPlay caching of UGameplayStatics::GetPlayerController references instead of per-tick lookups, and strict constructor initialization. Developers reach for unreal-engine-cpp-pro when scaffolding new AActor subclasses, UActorComponent modules, or refactoring tick-heavy prototypes into production-safe UE C++ that passes code review and performs predictably in packaged builds.

  • Generates correct Unreal Engine C++ class prefixes (A, U, F, etc.)
  • Enforces proper UPROPERTY, UCLASS, and UINTERFACE macros
  • Implements BeginPlay/EndPlay patterns with cached references instead of Tick
  • Includes forward declarations and static log categories to reduce compile times
  • Produces ready-to-compile header and source files for actors and components

Unreal Engine Cpp Pro by the numbers

  • 1,130 all-time installs (skills.sh)
  • +48 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #360 of 1,896 Design & UI/UX skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill unreal-engine-cpp-pro

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.1k
repo stars44k
Security audit3 / 3 scanners passed
Last updatedJuly 27, 2026
Repositorysickn33/antigravity-awesome-skills

How do you write production-grade Unreal Engine C++ actors?

Generate production-grade Unreal Engine C++ actor and component code that follows Epic's strict best practices.

Who is it for?

Unreal Engine C++ developers implementing actors and components who want Epic-aligned patterns out of the box.

Skip if: Blueprint-only UE projects or teams working in Unity, Godot, or non-C++ engine stacks.

When should I use this skill?

A task creates or refactors Unreal Engine C++ actors, components, or gameplay classes needing Epic best practices.

What you get

Epic-conformant .h/.cpp actor files, component hierarchies, and log-category definitions.

  • Actor .h/.cpp files
  • Component class implementations

Files

SKILL.mdMarkdownGitHub ↗

Unreal Engine C++ Pro

This skill provides expert-level guidelines for developing with Unreal Engine 5 using C++. It focuses on writing robust, performant, and standard-compliant code.

When to Use

Use this skill when:

  • Developing C++ code for Unreal Engine 5.x projects
  • Writing Actors, Components, or UObject-derived classes
  • Optimizing performance-critical code in Unreal Engine
  • Debugging memory leaks or garbage collection issues
  • Implementing Blueprint-exposed functionality
  • Following Epic Games' coding standards and conventions
  • Working with Unreal's reflection system (UCLASS, USTRUCT, UFUNCTION)
  • Managing asset loading and soft references

Do not use this skill when:

  • Working with Blueprint-only projects (no C++ code)
  • Developing for Unreal Engine versions prior to 5.x
  • Working on non-Unreal game engines
  • The task is unrelated to Unreal Engine development

Core Principles

1. UObject & Garbage Collection:

  • Always use UPROPERTY() for UObject* member variables to ensure they are tracked by the Garbage Collector (GC).
  • Use TStrongObjectPtr<> if you need to keep a root reference outside of a UObject graph, but prefer addToRoot() generally.
  • Understand the IsValid() check vs nullptr. IsValid() handles pending kill state safely.

2. Unreal Reflection System:

  • Use UCLASS(), USTRUCT(), UENUM(), UFUNCTION() to expose types to the reflection system and Blueprints.
  • Minimize BlueprintReadWrite when possible; prefer BlueprintReadOnly for state that shouldn't be trampled by logic in UI/Level BPs.

3. Performance First:

  • Tick: Disable Ticking (bCanEverTick = false) by default. Only enable it if absolutely necessary. Prefer timers (GetWorldTimerManager()) or event-driven logic.
  • Casting: Avoid Cast<T>() in hot loops. Cache references in BeginPlay.
  • Structs vs Classes: Use F structs for data-heavy, non-UObject types to reduce overhead.

Naming Conventions (Strict)

Follow Epic Games' coding standard:

  • Templates: Prefix with T (e.g., TArray, TMap).
  • UObject: Prefix with U (e.g., UCharacterMovementComponent).
  • AActor: Prefix with A (e.g., AMyGameMode).
  • SWidget: Prefix with S (Slate widgets).
  • Structs: Prefix with F (e.g., FVector).
  • Enums: Prefix with E (e.g., EWeaponState).
  • Interfaces: Prefix with I (e.g., IInteractable).
  • Booleans: Prefix with b (e.g., bIsDead).

Common Patterns

1. Robust Component Lookup

Avoid GetComponentByClass in Tick. Do it in PostInitializeComponents or BeginPlay.

void AMyCharacter::PostInitializeComponents() {
    Super::PostInitializeComponents();
    HealthComp = FindComponentByClass<UHealthComponent>();
    check(HealthComp); // Fail hard in dev if missing
}

2. Interface Implementation

Use interfaces to decouple systems (e.g., Interaction system).

// Interface call check
if (TargetActor->Implements<UInteractable>()) {
    IInteractable::Execute_OnInteract(TargetActor, this);
}

3. Async Loading (Soft References)

Avoid hard references (UPROPERTY(EditDefaultsOnly) TSubclassOf<AActor>) for massive assets which force load orders. Use TSoftClassPtr or TSoftObjectPtr.

UPROPERTY(EditAnywhere, BlueprintReadWrite)
TSoftClassPtr<AWeapon> WeaponClassToLoad;

void AMyCharacter::Equip() {
    if (WeaponClassToLoad.IsPending()) {
        WeaponClassToLoad.LoadSynchronous(); // Or use StreamableManager for async
    }
}

Debugging

  • Logging: Use UE_LOG with custom categories.
    DEFINE_LOG_CATEGORY_STATIC(LogMyGame, Log, All);
    UE_LOG(LogMyGame, Warning, TEXT("Health is low: %f"), CurrentHealth);
  • Screen Messages:
    if (GEngine) GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Died!"));
  • Visual Logger: extremely useful for AI debugging. Implement IVisualLoggerDebugSnapshotInterface.

Checklist before PR

  • [ ] Does this Actor need to Tick? Can it be a Timer?
  • [ ] Are all UObject* members wrapped in UPROPERTY?
  • [ ] Are hard references (TSubclassOf) causing load chains? Can they be Soft Ptrs?
  • [ ] Did you clean up verified delegates in EndPlay?

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Related skills

How it compares

Choose unreal-engine-cpp-pro over generic C++ snippets when output must follow Unreal Engine actor lifecycle and component conventions.

FAQ

What Unreal patterns does unreal-engine-cpp-pro enforce?

unreal-engine-cpp-pro enforces Epic-style actor constructors with disabled ticks, CreateDefaultSubobject component roots, BeginPlay reference caching, and DEFINE_LOG_CATEGORY_STATIC logging instead of per-tick lookups.

When should developers use unreal-engine-cpp-pro?

unreal-engine-cpp-pro fits tasks creating or refactoring Unreal Engine C++ actors and components where production-grade Epic conventions matter more than quick Blueprint prototypes.

Is Unreal Engine Cpp Pro safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.