Skills Plugins MCP Prompt Model 博客 我的中心

unreal-engine-cpp-pro

Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.

DeepseekModel 官方收录技能 质量 良好 · 64 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=bouclem-skills-skills-games-unreal-001-unreal-engine-cpp-pro-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name unreal-engine-cpp-pro description Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices. risk safe source self date_added 2026-02-27 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 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. 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. 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.
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。