# Ue5 Cpp Gameplay

> UE5.6/UE5.7 gameplay C++ implementation for Actors, Components, DataAssets, and gameplay logic. Use when requests ask to write .h/.cpp pairs, expose UPROPERTY/UFUNCTION to Blueprint, use GameplayTags, or build reusable component-based systems.

- **Type:** Skill
- **Install:** `agentstack add skill-teixasalone-unrealengine5-skills-ue5-cpp-gameplay`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [teixasalone](https://agentstack.voostack.com/s/teixasalone)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [teixasalone](https://github.com/teixasalone)
- **Source:** https://github.com/teixasalone/UnrealEngine5-Skills/tree/main/skills/ue5-cpp-gameplay

## Install

```sh
agentstack add skill-teixasalone-unrealengine5-skills-ue5-cpp-gameplay
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Quick Start
- Confirm target class type (`AActor`, `UActorComponent`, `UObject`, `USaveGame`, etc.).
- Define required Blueprint-facing API before implementation.
- Output both header and source files together.

# UE5.7 API Anchors
- Reflection and UObject anchors:
  - `UCLASS`, `USTRUCT`, `UENUM`, `UINTERFACE`, `GENERATED_BODY()`
  - `UPROPERTY(...)`, `UFUNCTION(...)`
- Core gameplay type anchors:
  - `AActor`, `UActorComponent`, `UDataAsset`, `UGameInstanceSubsystem`
  - `TObjectPtr<>` in headers and `TSubclassOf<>` for class references
- Replication anchors:
  - `GetLifetimeReplicatedProps(...)`
  - `DOREPLIFETIME(...)` in `Net/UnrealNetwork.h`
  - `ReplicatedUsing=OnRep_*`, `UFUNCTION(Server/Client/NetMulticast, ...)`
- Gameplay tag anchors:
  - `FGameplayTag`, `FGameplayTagContainer`
  - explicit tag request/match checks with safe fallback behavior

# Implementation Stage Contract
- Every gameplay C++ task must define:
  - Public header API surface (Blueprint/API visibility)
  - Private runtime implementation path (`.cpp`)
  - Ownership/lifetime model (constructor, init, teardown)
  - Network authority rules (single-player only or replicated flow)
  - Validation method (compile assumptions, usage examples, edge-case behavior)
- If any item is missing, the implementation spec is incomplete.

# Workflow
## 1) Type and File Shape
- Create type declarations with Unreal macros and UE5 pointer conventions (`TObjectPtr` in headers).
- Produce paired `.h` and `.cpp` with forward declarations in header and concrete includes in source.
- Keep class responsibility narrow and reusable.

## 2) Public API Design
- Define Blueprint API (`BlueprintCallable`, `BlueprintPure`, categories, metadata) before implementation.
- Expose minimal callable surface; keep helper methods non-UFUNCTION unless needed.
- Declare clear input/output contracts and failure behavior.

## 3) Runtime Implementation
- Implement logic in `.cpp` with null checks, authority guards, and explicit branch behavior.
- Keep tick usage opt-in; prefer event-driven updates.
- Handle initialization order (`BeginPlay`, `InitializeComponent`, or subsystem init) explicitly.

## 4) Replication and RPC (When Needed)
- Add replicated properties and `OnRep_*` handlers only for true client-visible state.
- Register properties in `GetLifetimeReplicatedProps(...)` with `DOREPLIFETIME(...)`.
- Use server-authoritative RPC entry points for client requests.

## 5) GameplayTags and Data-Driven Hooks
- Use `FGameplayTag`/`FGameplayTagContainer` with explicit tag names.
- Validate required tags at runtime and provide fallback for missing tags.
- Prefer DataAsset-driven config for tunables over hard-coded constants.

## 6) Validation Output
- Ensure output includes both files and required includes.
- Confirm Blueprint exposure, replication behavior, and error-handling paths are documented.
- Provide usage snippet or invocation flow when behavior is non-trivial.

# Constraints
- Always provide matching `.h` and `.cpp` when creating a class.
- Use non-deprecated APIs compatible with UE5.6/UE5.7.
- Keep includes minimal; use forward declarations in headers.
- Avoid hardcoded asset paths unless explicitly requested.
- Prefer `TObjectPtr<>` in UPROPERTY object references in headers.
- Keep server-authoritative checks explicit for any network-affecting gameplay action.

# Failure Handling
- Symptom: class compiles but is missing from Blueprint.
  - Locate: missing `BlueprintType`/`Blueprintable`/`BlueprintCallable` metadata.
  - Fix: add required reflection specifiers and regenerate project files/build.
- Symptom: unresolved symbol or include cycles.
  - Locate: header include graph and forward declaration misuse.
  - Fix: move heavy includes to `.cpp`, keep forward declarations in headers.
- Symptom: replicated property does not update on clients.
  - Locate: `GetLifetimeReplicatedProps(...)` and actor/component replication flags.
  - Fix: register with `DOREPLIFETIME(...)`, ensure owning actor replicates.
- Symptom: `OnRep_*` never fires.
  - Locate: property write path and net role.
  - Fix: mutate on server authority path and verify property actually changes.
- Symptom: RPC callable but ignored at runtime.
  - Locate: RPC specifier and call site authority.
  - Fix: enforce client->server request path and server-side validation.
- Symptom: GameplayTag logic silently fails.
  - Locate: invalid tag names or missing tag config.
  - Fix: validate tags on startup and guard with explicit fallback behavior.

# UE5.6 / UE5.7 Compatibility Notes
- Reflection, replication, and GameplayTag APIs above are stable across UE5.6 and UE5.7.
- Favor stable core APIs over editor-only helpers when runtime behavior is required.

# Escalation
- Escalate when user asks for plugin/module-level refactor beyond a single gameplay class.
- Escalate when solution needs custom engine source modifications.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [teixasalone](https://github.com/teixasalone)
- **Source:** [teixasalone/UnrealEngine5-Skills](https://github.com/teixasalone/UnrealEngine5-Skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-teixasalone-unrealengine5-skills-ue5-cpp-gameplay
- Seller: https://agentstack.voostack.com/s/teixasalone
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
