Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

ue-mcp-native-cpp

/ue-mcp-native-cpp

Prowadzi pisanie natywnych klas C++ UCLASS w projekcie Unreal przez ue-mcp: tworzenie klasy, zapis pliku, kompilację na żywo i dodawanie zależności.

Repozytorium
ue-mcp ↗
Licencja
MIT
Ostatnia zmiana repozytorium
26.10.2026

Ocena i bezpieczeństwo

90/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Prowadzi pisanie natywnych klas C++ UCLASS w projekcie Unreal przez ue-mcp: tworzenie klasy, zapis pliku, kompilację na żywo i dodawanie zależności.

Oryginalny opis (EN)

Use when writing or modifying native C++ UCLASSes in an Unreal project via ue-mcp. Covers create_cpp_class → write_cpp_file → live_coding_compile loop, when to use build vs Live Coding, and the add_module_dependency workflow. Pulls in any time the user asks to write a new native class, add a UPROPERTY, or implement a UFUNCTION.

Jak działa

  1. The authoring loop
  2. Adding module dependencies
  3. Reading the engine source
  4. Pitfalls
  5. Testing the new class
Sekcje z nagłówków SKILL.md, w oryginale · 47 linii, 444 słów
Podgląd SKILL.md
---
name: ue-mcp-native-cpp
description: Use when writing or modifying native C++ UCLASSes in an Unreal project via ue-mcp. Covers create_cpp_class → write_cpp_file → live_coding_compile loop, when to use build vs Live Coding, and the add_module_dependency workflow. Pulls in any time the user asks to write a new native class, add a UPROPERTY, or implement a UFUNCTION.
---

# ue-mcp native C++ authoring

The `project` tool wraps `GameProjectUtils::AddCodeToProject` and `ILiveCodingModule` so agents can author native C++ end-to-end without Python or the editor UI.

## The authoring loop

1. **Pick a module.** `project(action="list_project_modules")` enumerates the project's native modules (name, host type, source path). Feed the module name into `create_cpp_class`.
2. **Create the class.** `project(action="create_cpp_class", className, parentClass?, moduleName?, classDomain?, subPath?)` writes `.h` and `.cpp` using the same engine template that `File → New C++ Class` uses. The class-name prefix (`A`, `U`, `F`) is derived from `parentClass` - pass the bare name (`"BotSpawner"`, not `"ABotSpawner"`).
3. **Inspect the generated files.** `project(action="read_cpp_header", headerPath=...)` and `project(action="read_cpp_source", sourcePath=...)`. Both paths are relative to `Source/` or absolute within it.
4. **Append declarations and bodies.** `project(action="write_cpp_file", path=..., content=...)` writes the full file contents (scoped to the `Source/` tree for safety). Read first, then write the amended content.
5. **Compile.**
   - **New UCLASS** → `project(action="build")`. Live Coding doesn't reliably register brand-new UCLASSes; you need a full build and an editor restart. `create_cpp_class` surfaces this via `needsEditorRestart` in its response.
   - **Existing UCLASS** (editing method bodies, adding UPROPERTYs, etc.) → `project(action="live_coding_compile", wait=true)`. Hot-patches method bodies without restart - the fast inner loop. Check `live_coding_status` first to confirm Live Coding is available and not already compiling.

## Adding module dependencies

When you need a new module in a project's `Build.cs`:

- `project(action="add_module_dependency", moduleName=<target Build.cs>, dependency=<module to add>, access="public"|"private")`
- Deduplicates automatically. Creates the `AddRange` block if missing.
- Rebuild afterwards (`project(action="build")`).

## Reading the engine source

When you need to know *how* UE does something, reach for engine source lookup:

- `project(action="read_engine_header", headerPath=...)` - parse a `.h` from `Engine/Source` (relative to `Engine/Source` or absolute).
- `project(action="find_engine_symbol", symbol=..., maxResults?)` - grep engine runtime headers for a symbol.
- `project(action="search_engine_cpp", query, tree?, subdirectory?, maxResults?)` - broader grep across `.h` / `.cpp` / `.inl` in `Runtime` / `Editor` / `Developer` / `Plugins` (or `all`).
- `project(action="list_engine_modules")` - enumerate modules in `Engine/Source/Runtime`.

## Pitfalls

- **UCLASSes need UnrealBuildTool + MSVC/Clang** on the host. Same requirement as the editor's own Build menu.
- **`write_cpp_file` refuses writes outside `Source/`** and rejects extensions other than `.h` / `.cpp` / `.inl` / `.cs`.
- **Live Coding ≠ full build.** If behavior doesn't reflect your code changes, check whether you added a new UCLASS, UFUNCTION reflection macro, or UPROPERTY annotation - those usually need a full build.
- **Don't edit Intermediate/ or Binaries/.** These are regenerated.

## Testing the new class

Once a class is compiled and registered, you can typically:

- `asset(action="read_properties", assetPath=...)` or `reflection(action="reflect_class", className=...)` to verify UE sees the UCLASS.
- `blueprint(action="create", parentClass="/Script/<Module>.<Class>")` to subclass it from a Blueprint.
- `level(action="place_actor", actorClass=...)` to drop an instance into the level.

Wersje

W bazie nie ma innych skilli o nazwie ue-mcp-native-cpp.

Migawka bazy z 28.10.2026 · wersja paczki 8a00762903b6 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100unreal-cpp-gameplay
    Pomaga pisać kod rozgrywki w C++ dla Unreal Engine 5: makra UCLASS, UPROPERTY i UFUNCTION, Gameplay Framework, komponenty Actorów oraz moduł Build.cs.
  • 100ue-cpp-foundations
    Wspiera C++ w Unreal Engine dotyczący refleksji i typów rdzeniowych: UCLASS, UPROPERTY, USTRUCT, inteligentne wskaźniki, kontenery, delegaty, FName, FString i subsystemy.
  • 100ue5-cpp-gameplay
    Implementuje w C++ aktory, komponenty i DataAssets w Unreal Engine 5.6 do 5.8, z UPROPERTY i GameplayTags.
  • 98ue5-gamedev
    Wspiera tworzenie gier w Unreal Engine 5: kod C++, Blueprinty, automatyzację edytora i budowanie projektu przez API i MCP.
  • 100ue-code-authoring
    Pisze i zmienia kod C++ w Unreal Engine: klasy, aktory, komponenty, GAS i testowalne zachowania gry.
  • 90ue-mcp-workflow
    Steruje edytorem Unreal Engine przez serwer ue-mcp: sprawdza status na początku, zarządza cyklem edytora i obsługuje komunikat „still initializing”.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.