ue5-project-setup
Scaffold and configure new Unreal Engine 5 projects with proper CLAUDE.md, .gitignore, Git LFS tracking, directory structure, and Epic coding conventions. Use this skill whenever someone mentions creating a new UE5 project, setting up a UE5 repo, initializing an Unreal project, configuring Git for Unreal, or writing a CLAUDE.md for a UE5 codebase. Also triggers for project organization, asset naming conventions, or module structure setup.
Best use case
ue5-project-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Scaffold and configure new Unreal Engine 5 projects with proper CLAUDE.md, .gitignore, Git LFS tracking, directory structure, and Epic coding conventions. Use this skill whenever someone mentions creating a new UE5 project, setting up a UE5 repo, initializing an Unreal project, configuring Git for Unreal, or writing a CLAUDE.md for a UE5 codebase. Also triggers for project organization, asset naming conventions, or module structure setup.
Teams using ue5-project-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ue5-project-setup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ue5-project-setup Compares
| Feature / Agent | ue5-project-setup | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Scaffold and configure new Unreal Engine 5 projects with proper CLAUDE.md, .gitignore, Git LFS tracking, directory structure, and Epic coding conventions. Use this skill whenever someone mentions creating a new UE5 project, setting up a UE5 repo, initializing an Unreal project, configuring Git for Unreal, or writing a CLAUDE.md for a UE5 codebase. Also triggers for project organization, asset naming conventions, or module structure setup.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# UE5 Project Setup Skill
Scaffolds a production-ready Unreal Engine 5 project with all the tooling, conventions, and configuration files needed for efficient AI-assisted development.
## What This Skill Creates
1. **CLAUDE.md** — Project context file for Claude Code integration
2. **.gitignore** — UE5-specific ignore rules
3. **.gitattributes** — Git LFS tracking for binary assets
4. **Directory structure guidance** — Module and plugin organization
5. **.claude/settings.json** — Exclude noisy directories from Claude context
6. **.mcp.json** — MCP server configuration for live editor control
7. **Config/DefaultEngine.ini entries** — Remote Control API auto-start
## Step 1: Gather Project Info
Ask the user:
- **Project name** (PascalCase, e.g., `MyActionRPG`)
- **Template base** (ThirdPerson, FirstPerson, TopDown, Blank)
- **Primary language** (C++ only, C++ with Blueprints, Blueprints only)
- **Target platforms** (Linux, Windows, both)
- **Key gameplay systems** (GAS, Enhanced Input, Multiplayer, AI, PCG)
## Step 2: Generate CLAUDE.md
Place at the project root. Keep under 150 lines. Use progressive disclosure — tell Claude how to find info rather than listing everything.
```markdown
# [ProjectName]
## Tech Stack
- Unreal Engine 5.7
- C++ with Blueprint extension
- [List key plugins: GAS, Enhanced Input, CommonUI, etc.]
## Project Structure
```
Source/
├── [ProjectName]/ # Primary game module
│ ├── Public/ # Headers
│ │ ├── Characters/
│ │ ├── Abilities/
│ │ ├── Components/
│ │ └── UI/
│ └── Private/ # Implementation
│ ├── Characters/
│ ├── Abilities/
│ ├── Components/
│ └── UI/
├── [ProjectName]Editor/ # Editor-only module (optional)
Plugins/
├── GameFeatures/ # Modular game features
Content/
├── Blueprints/
├── Maps/
├── Materials/
├── Meshes/
└── UI/
```
## Coding Conventions
- Follow Epic C++ Coding Standard
- Prefixes: A (Actor), U (UObject), F (struct), E (enum), I (interface)
- Boolean vars: `bIsAlive`, `bCanFire`
- Use `TObjectPtr<>` for UObject pointers
- Use `GENERATED_BODY()` in every UObject-derived class
- `#pragma once` for include guards
## Build Commands
```bash
# Editor build
[UE_ROOT]/Engine/Build/BatchFiles/Linux/Build.sh [ProjectName]Editor Linux Development -project=[path]
# Package
[UE_ROOT]/Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -project=[path] -platform=Linux -clientconfig=Shipping -cook -build -stage -pak
```
## Gameplay Architecture
[Describe your GameMode → GameState → PlayerController → Character hierarchy]
[Describe your ability system if using GAS]
## Key Classes
[List your 5-10 most important classes with one-line descriptions]
```
## Step 3: Generate .gitignore
Based on the community standard from `github.com/MOZGIII/ue5-gitignore`:
```gitignore
# UE5 Build artifacts
Binaries/
Intermediate/
Saved/
DerivedDataCache/
# IDE files
.vs/
.vscode/
.idea/
*.sln
*.xcworkspace
# OS files
.DS_Store
Thumbs.db
# Compiled assets (if using source assets)
*.uasset
*.umap
# Except for Content (track via LFS)
!Content/**/*.uasset
!Content/**/*.umap
# Build outputs
Build/
Packaged/
```
Adjust based on whether the user wants to track Content in Git or use a separate asset management approach.
## Step 4: Generate .gitattributes for Git LFS
```gitattributes
# UE5 binary assets — track with Git LFS
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
*.uexp filter=lfs diff=lfs merge=lfs -text
*.ubulk filter=lfs diff=lfs merge=lfs -text
# Media files
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
# Audio
*.wav filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
# Video
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
# 3D assets
*.fbx filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.gltf filter=lfs diff=lfs merge=lfs -text
*.glb filter=lfs diff=lfs merge=lfs -text
# Fonts
*.ttf filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
# Precompiled binaries
*.dll filter=lfs diff=lfs merge=lfs -text
*.so filter=lfs diff=lfs merge=lfs -text
*.dylib filter=lfs diff=lfs merge=lfs -text
*.exe filter=lfs diff=lfs merge=lfs -text
```
## Step 5: Generate .claude/settings.json
```json
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force*)"
]
},
"ignorePatterns": [
"Binaries/**",
"Intermediate/**",
"Saved/**",
"DerivedDataCache/**",
".vs/**",
"*.uasset",
"*.umap"
]
}
```
## Step 6: Generate .mcp.json for MCP Server Integration
If the user wants Claude Code to control the UE5 editor (spawn actors, create materials, compile blueprints), generate `.mcp.json` at the project root:
```json
{
"mcpServers": {
"ue5": {
"command": "node",
"args": ["/path/to/UnrealEngineAgent/mcp-server/dist/index.js"]
}
}
}
```
**Note**: MCP servers are configured in `.mcp.json`, NOT in `~/.claude/settings.json` (which doesn't support `mcpServers`).
### Remote Control API Setup
Add to the CLAUDE.md template if the user wants MCP integration:
```markdown
## Remote Control API
- Plugin: Remote Control API (must be enabled in Edit → Plugins)
- HTTP: http://localhost:6766
- WebSocket: ws://localhost:6767
- Test: `curl -s http://localhost:6766/remote/api/v1/objects | jq .`
```
Add to `Config/DefaultEngine.ini`:
```ini
[/Script/RemoteControlAPI.RemoteControlSettings]
bAutoStartRemoteControl=True
RemoteControlHttpServerPort=6766
RemoteControlWebSocketServerPort=6767
```
## Step 8: Initialize Git Repository
```bash
cd /path/to/project
git init
git lfs install
git add .gitignore .gitattributes CLAUDE.md .claude/ .mcp.json
git commit -m "Initial project setup with UE5 conventions"
```
## Asset Naming Conventions (Allar Style Guide)
| Asset Type | Prefix | Example |
|------------|--------|---------|
| Blueprint | BP_ | BP_PlayerCharacter |
| Material | M_ | M_RockBase |
| Material Instance | MI_ | MI_RockBase_Snow |
| Static Mesh | SM_ | SM_Rock_01 |
| Skeletal Mesh | SK_ | SK_PlayerCharacter |
| Texture | T_ | T_RockBase_D (diffuse) |
| Animation | A_ | A_Walk_Fwd |
| Animation Blueprint | ABP_ | ABP_PlayerCharacter |
| Widget Blueprint | WBP_ | WBP_MainMenu |
| Niagara System | NS_ | NS_FireEffect |
| Sound Cue | SC_ | SC_Footstep |
| Data Table | DT_ | DT_WeaponStats |
| Gameplay Ability | GA_ | GA_MeleeAttack |
| Gameplay Effect | GE_ | GE_DamageInstant |
## Output
After running this skill, the user will have:
- A properly structured project root with all config files
- Git LFS configured for binary assets
- CLAUDE.md tailored to their specific project architecture
- A foundation ready for UE5 C++ and Blueprint developmentRelated Skills
websocket-handler-setup
Websocket Handler Setup - Auto-activating skill for Backend Development. Triggers on: websocket handler setup, websocket handler setup Part of the Backend Development skill category.
vpc-network-setup
Vpc Network Setup - Auto-activating skill for GCP Skills. Triggers on: vpc network setup, vpc network setup Part of the GCP Skills skill category.
tensorflow-serving-setup
Tensorflow Serving Setup - Auto-activating skill for ML Deployment. Triggers on: tensorflow serving setup, tensorflow serving setup Part of the ML Deployment skill category.
sqs-queue-setup
Sqs Queue Setup - Auto-activating skill for AWS Skills. Triggers on: sqs queue setup, sqs queue setup Part of the AWS Skills skill category.
spy-setup-helper
Spy Setup Helper - Auto-activating skill for Test Automation. Triggers on: spy setup helper, spy setup helper Part of the Test Automation skill category.
spike-test-setup
Spike Test Setup - Auto-activating skill for Performance Testing. Triggers on: spike test setup, spike test setup Part of the Performance Testing skill category.
sla-monitor-setup
Sla Monitor Setup - Auto-activating skill for Enterprise Workflows. Triggers on: sla monitor setup, sla monitor setup Part of the Enterprise Workflows skill category.
server-sent-events-setup
Server Sent Events Setup - Auto-activating skill for API Integration. Triggers on: server sent events setup, server sent events setup Part of the API Integration skill category.
react-context-setup
React Context Setup - Auto-activating skill for Frontend Development. Triggers on: react context setup, react context setup Part of the Frontend Development skill category.
rds-instance-setup
Rds Instance Setup - Auto-activating skill for AWS Skills. Triggers on: rds instance setup, rds instance setup Part of the AWS Skills skill category.
rabbitmq-queue-setup
Rabbitmq Queue Setup - Auto-activating skill for Backend Development. Triggers on: rabbitmq queue setup, rabbitmq queue setup Part of the Backend Development skill category.
pre-commit-hook-setup
Pre Commit Hook Setup - Auto-activating skill for DevOps Basics. Triggers on: pre commit hook setup, pre commit hook setup Part of the DevOps Basics skill category.