# Unreal Engine Integration

GPM provides comprehensive Unreal Engine plugin management with enterprise-grade security and professional studio workflows. While Unreal Engine support is currently in development, GPM will deliver the most advanced plugin management system available for Unreal projects.

## Unreal Engine Plugin Management

### Planned Unreal Engine Support

GPM is developing comprehensive Unreal Engine integration that will include:

* **Native Plugin Management**: Seamless integration with Unreal's plugin system
* **Project Configuration**: Automatic `.uproject` file management
* **Dependency Resolution**: Advanced plugin dependency management
* **Version Control**: Git-friendly plugin version management

### Unreal Engine Project Detection

GPM will automatically detect Unreal Engine projects by scanning for:

* \***.uproject files**: Unreal Engine project files
* **Content/**: Unreal Engine content directory
* **Config/**: Unreal Engine configuration directory
* **Plugins/**: Unreal Engine plugins directory

```bash
# Detect Unreal Engine project (planned)
gpm detect

# Expected output for Unreal Engine project
Game Engine Detection
─────────────────────────────────────────
Scanned Directory: /path/to/unreal/project
─────────────────────────────────────────
✓ Unreal Engine project detected (High confidence)
  • Project.uproject file found
  • Content/ directory found
  • Config/ directory found

─────────────────────────────────────────
Unreal Engine project detected successfully
```

## Planned Plugin Management

### Adding Plugins

GPM will provide seamless Unreal Engine plugin management:

```bash
# Add Unreal Engine plugin (planned)
gpm add com.company.unreal-plugin

# Add specific version (planned)
gpm add com.company.unreal-plugin@1.0.0

# Add multiple plugins (planned)
gpm add com.company.ui com.company.analytics
```

### .uproject Integration

GPM will automatically update your `.uproject` file:

```json
{
  "FileVersion": 3,
  "EngineAssociation": "5.3",
  "Category": "",
  "Description": "",
  "Modules": [
    {
      "Name": "MyProject",
      "Type": "Runtime",
      "LoadingPhase": "Default"
    }
  ],
  "Plugins": [
    {
      "Name": "com.company.unreal-plugin",
      "Enabled": true,
      "MarketplaceURL": "",
      "SupportedTargetPlatforms": [
        "Win64",
        "Mac",
        "Linux"
      ]
    },
    {
      "Name": "com.company.ui",
      "Enabled": true,
      "MarketplaceURL": "",
      "SupportedTargetPlatforms": [
        "Win64",
        "Mac",
        "Linux"
      ]
    }
  ]
}
```

### Plugin Directory Management

GPM will organize plugins in the `Plugins/` directory:

```
Plugins/
├── com.company.unreal-plugin/
│   ├── com.company.unreal-plugin.uplugin
│   ├── Source/
│   │   └── com.company.unreal-plugin/
│   │       ├── com.company.unreal-plugin.cpp
│   │       └── com.company.unreal-plugin.h
│   └── README.md
├── com.company.ui/
│   ├── com.company.ui.uplugin
│   ├── Content/
│   │   └── UI/
│   └── Source/
│       └── com.company.ui/
└── com.company.analytics/
    ├── com.company.analytics.uplugin
    ├── Content/
    └── Source/
        └── com.company.analytics/
```

## Planned Unreal Engine Features

### Plugin Installation

GPM will handle Unreal Engine plugin installation with advanced features:

```bash
# Install from .uproject (planned)
gpm install

# Install specific plugin (planned)
gpm install com.company.unreal-plugin

# Install with version specification (planned)
gpm install com.company.unreal-plugin@1.0.0
```

### Plugin Updates

```bash
# Update all plugins (planned)
gpm update

# Update specific plugin (planned)
gpm update com.company.unreal-plugin

# Dry run to see what would be updated (planned)
gpm update --dry-run
```

### Plugin Removal

```bash
# Remove plugin (planned)
gpm uninstall com.company.unreal-plugin

# Remove with .uproject update (planned)
gpm uninstall com.company.unreal-plugin --save
```

## Planned Unreal Engine Workflow

### Development Workflow

```bash
# 1. Navigate to Unreal Engine project
cd /path/to/unreal/project

# 2. Detect project (automatic)
gpm detect

# 3. Add essential plugins (planned)
gpm add com.company.ui
gpm add com.company.analytics
gpm add com.company.networking

# 4. List installed plugins (planned)
gpm list

# 5. Update plugins regularly (planned)
gpm update
```

### Team Collaboration

```bash
# 1. Install from existing .uproject (planned)
gpm install

# 2. Add new plugins (planned)
gpm add com.company.new-plugin

# 3. Update .uproject (planned)
gpm update

# 4. Commit changes (planned)
git add Project.uproject
git commit -m "Add new plugin dependencies"
```

### CI/CD Integration

```bash
# 1. Install plugins in CI (planned)
gpm install

# 2. Verify plugin installation (planned)
gpm list --json

# 3. Build Unreal Engine project (planned)
UnrealBuildTool.exe MyProject Development Win64 -Project="C:\Path\To\Project\Project.uproject"
```

## Planned Plugin Publishing

### Publishing Unreal Engine Plugins

```bash
# Initialize new Unreal Engine plugin (planned)
gpm init --name com.company.unreal-plugin

# Pack plugin (planned)
gpm pack

# Publish to registry (planned)
gpm publish --access=scoped
```

### Plugin Structure

GPM will create Unreal Engine-compatible plugin structures:

```
unreal-plugin/
├── com.company.unreal-plugin.uplugin  # Unreal plugin configuration
├── README.md                          # Plugin documentation
├── LICENSE                            # Plugin license
├── Source/                            # C++ source code
│   └── com.company.unreal-plugin/
│       ├── com.company.unreal-plugin.cpp
│       ├── com.company.unreal-plugin.h
│       └── com.company.unreal-plugin.Build.cs
├── Content/                           # Unreal content
│   └── Blueprints/
└── Config/                            # Plugin configuration
    └── DefaultEngine.ini
```

## Planned Advanced Features

### Dependency Management

GPM will provide advanced dependency management for Unreal Engine plugins:

* **Automatic Resolution**: Resolves complex plugin dependency chains
* **Conflict Detection**: Identifies and resolves version conflicts
* **Circular Dependency Prevention**: Prevents circular dependency issues
* **Optional Dependencies**: Handles optional plugin requirements

### Version Management

```bash
# Check plugin versions (planned)
gpm info com.company.unreal-plugin

# Compare versions (planned)
gpm info com.company.unreal-plugin --version 1.0.0
gpm info com.company.unreal-plugin --version 1.1.0

# Update to latest version (planned)
gpm update com.company.unreal-plugin
```

### Registry Management

```bash
# Use global registry (planned)
gpm config set registry https://registry.gpm.sh

# Use company registry (planned)
gpm config set registry https://company.gpm.sh

# Override for single command (planned)
gpm add com.company.unreal-plugin --registry https://custom.gpm.sh
```

## Planned Unreal Engine Best Practices

### Plugin Naming

Use reverse-DNS naming for Unreal Engine plugins:

```bash
# Good: Reverse-DNS naming
com.company.unreal-plugin
com.company.ui
com.thirdparty.analytics

# Avoid: Non-standard naming
@company/unreal-plugin
unreal-plugin-package
MyCompany.UnrealPlugin
```

### .uproject Management

```bash
# Always use --save for production plugins (planned)
gpm add com.company.ui --save

# Use --save-dev for development plugins (planned)
gpm add com.company.test-utils --save-dev

# Check .uproject before committing (planned)
gpm list
git add Project.uproject
git commit -m "Add plugin dependencies"
```

### Version Control

```bash
# Commit .uproject changes (planned)
git add Project.uproject
git commit -m "Update plugin dependencies"

# Use semantic versioning (planned)
gpm version patch  # 1.0.0 → 1.0.1
gpm version minor  # 1.0.0 → 1.1.0
gpm version major  # 1.0.0 → 2.0.0
```

## Planned Troubleshooting

### Common Unreal Engine Issues

#### Plugin Not Found

```bash
# Error: Plugin not found (planned)
gpm add com.nonexistent.plugin

# Solution: Search for similar plugins (planned)
gpm search unreal
```

#### .uproject Validation Failed

```bash
# Error: .uproject validation failed (planned)
gpm add com.company.unreal-plugin

# Solution: Check .uproject syntax (planned)
cat Project.uproject | jq .
```

#### Registry Configuration Issues

```bash
# Error: Registry not configured (planned)
gpm add com.company.unreal-plugin

# Solution: Configure registry (planned)
gpm config set registry https://registry.gpm.sh
```

### Debug Commands

```bash
# Get detailed error information (planned)
gpm add com.company.unreal-plugin --verbose

# Check project detection (planned)
gpm detect --json

# Verify configuration (planned)
gpm config
```

## Unreal Engine Version Compatibility

### Planned Unreal Engine Versions

GPM will support Unreal Engine versions 5.0+:

* **Unreal Engine 5.0**: Basic support with core features
* **Unreal Engine 5.1+**: Full support with all features
* **Unreal Engine 5.2+**: Recommended for best experience
* **Unreal Engine 5.3+**: Latest features and optimizations

### Version-Specific Features

```bash
# Check Unreal Engine version compatibility (planned)
gpm info com.company.unreal-plugin

# Specify minimum Unreal Engine version (planned)
gpm init --name com.company.plugin --unreal 5.1
```

## Planned Performance Optimization

### Plugin Loading

GPM will optimize plugin loading for Unreal Engine:

* **Incremental Updates**: Only updates changed plugins
* **Dependency Caching**: Caches resolved dependencies
* **Parallel Downloads**: Downloads plugins in parallel
* **Compression**: Uses efficient compression for plugin transfers

### Memory Management

```bash
# List plugins with memory usage (planned)
gpm list --verbose

# Clean up unused plugins (planned)
gpm uninstall unused-plugin

# Update to latest versions (planned)
gpm update
```

## Integration with Unreal Engine Tools

### Unreal Engine Editor Integration

GPM will integrate seamlessly with Unreal Engine Editor:

* **Plugin Manager**: GPM plugins appear in Unreal's Plugin Manager
* **Dependency Resolution**: Automatic dependency resolution in Unreal
* **Version Management**: Version control integration with Unreal
* **Asset Management**: Proper asset organization and management

### Unreal Engine Build System

```bash
# Configure for Unreal Engine build (planned)
gpm config set registry https://company.gpm.sh
gpm install

# Build with GPM plugins (planned)
UnrealBuildTool.exe MyProject Development Win64 -Project="C:\Path\To\Project\Project.uproject"
```

## Professional Resources

### Learn from Unreal Engine Experts

* **Unreal Engine**: [Plugin management guides](https://unrealengine.com) - Official Unreal documentation
* **Unreal Forums**: [Plugin discussions](https://forums.unrealengine.com) - Community support
* **Unreal Learn**: [Plugin tutorials](https://dev.epicgames.com) - Educational content

### Community Support

* **Discord**: [Unreal + GPM discussions](https://discord.gg/gpm) - Real-time support
* **GitHub Discussions**: [Unreal integration feedback](https://github.com/gpm-sh/gpm-cli/discussions) - Technical discussions
* **Reddit**: [r/unrealengine workflows](https://reddit.com/r/unrealengine) - Community insights

## Current Status

Unreal Engine integration is currently in development. Key features planned for release:

* **Q3 2024**: Basic plugin management
* **Q4 2024**: Advanced dependency resolution
* **Q1 2025**: Full Unreal Engine 5.3+ support
* **Q2 2025**: Enterprise features and CI/CD integration

## See Also

* [Engine Support Overview](/multi-engine-support/engines.md) - Multi-engine support
* [Unity Integration](/multi-engine-support/engines/unity.md) - Unity-specific workflows
* [Godot Integration](/multi-engine-support/engines/godot.md) - Godot-specific workflows
* [Package Management](/cli-reference/cli/package-management.md) - Advanced package operations
* [Publishing](/cli-reference/cli/publishing.md) - Package publishing workflows


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gpm.sh/multi-engine-support/engines/unreal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
