Skip to main content

Professional CLI toolkit for Unreal Engine developers - Complete with performance profiling, plugin management, CI/CD generation, and personal branding by gktrk363

Project description

🎮 UnrealMate

Professional CLI Toolkit for Unreal Engine Developers

PyPI Version Python License Downloads

Platform Unreal Engine Status


⚡ Crafted by gktrk363 ⚡

Streamline your Unreal Engine workflow with 30+ powerful CLI commands

🚀 Quick Start📖 Documentation🎯 Features💡 Examples


🌟 What is UnrealMate?

UnrealMate is a comprehensive command-line toolkit designed to supercharge your Unreal Engine development workflow. Whether you're managing Git repositories, analyzing blueprints, profiling performance, or organizing assets, UnrealMate provides intuitive commands that save you hours of manual work.

Why UnrealMate?

  • 30+ Specialized Commands - Purpose-built for Unreal Engine projects
  • 🎨 Beautiful CLI Interface - Cyan/magenta themed with rich formatting
  • Performance Tools - Profile, analyze, and optimize your projects
  • 🔌 Plugin Management - Install and manage plugins via CLI
  • 🏗️ CI/CD Generation - Auto-generate GitHub Actions, GitLab CI, Jenkins
  • ⚙️ Configurable - Customize behavior with .unrealmate.toml
  • 🚀 Production Ready - Stable, tested, and actively maintained

🎉 What's New in v1.0.1

Latest Release - Critical package distribution fix

  • Fixed: All submodules now included in PyPI package
  • Fixed: Installation from PyPI works perfectly
  • Improved: Banner display across all terminal widths

See CHANGELOG.md for complete release history.


📦 Installation

Via pip (Recommended)

pip install unrealmate

Verify Installation

unrealmate version

You should see the beautiful UnrealMate banner! 🎨

Requirements

  • Python: 3.10 or higher
  • OS: Windows, macOS, or Linux
  • Unreal Engine: 4.x or 5.x (optional, for project-specific commands)

✨ Features

🔧 Git Tools

Streamline your Git workflow for Unreal projects

  • Smart Initialization - .gitignore and .gitattributes for UE
  • LFS Setup - Auto-configure Git LFS for large assets
  • Repository Cleanup - Remove unnecessary files safely

📁 Asset Management

Organize and optimize your project assets

  • Asset Scanner - Find all assets with detailed info
  • Smart Organization - Auto-organize by type/category
  • Duplicate Detection - Find and remove duplicate assets

🎯 Blueprint Analysis

Understand and optimize your blueprints

  • Complexity Analysis - Measure blueprint complexity
  • Dependency Mapping - Visualize blueprint relationships
  • Performance Reports - Identify optimization opportunities

⚡ Performance Profiling

Analyze and optimize game performance

  • CPU/GPU Profiler - Parse profiling reports
  • Shader Analyzer - Detect shader complexity issues
  • Memory Auditor - Track asset memory usage

🔌 Plugin Management

Manage Unreal Engine plugins effortlessly

  • Install from Git - Clone and install plugins
  • Enable/Disable - Toggle plugins in .uproject
  • List Plugins - View all installed plugins
  • Safe Removal - Uninstall plugins cleanly

🏗️ CI/CD Generation

Automate your build pipelines

  • GitHub Actions - Generate workflow files
  • GitLab CI - Create .gitlab-ci.yml
  • Jenkins - Generate Jenkinsfile
  • Best Practices - Industry-standard templates

⚙️ Configuration System

Customize UnrealMate to your needs

  • TOML Configuration - .unrealmate.toml support
  • User Preferences - Save your settings
  • Easy Management - Get/set config values
  • Sensible Defaults - Works out of the box

🏥 Project Health

Keep your project in top shape

  • Doctor Command - Comprehensive health checks
  • Issue Detection - Find common problems
  • Recommendations - Get actionable advice
  • Auto-fix - Automatic problem resolution (coming soon)

🎯 Commands

UnrealMate provides 7 command groups with 30+ commands:

Core Commands

unrealmate version          # Show version with beautiful banner
unrealmate doctor           # Run project health checks

Git Commands

unrealmate git init         # Initialize Git with UE-specific config
unrealmate git lfs          # Setup Git LFS for large files
unrealmate git clean        # Clean repository safely

Asset Commands

unrealmate asset scan       # Scan all project assets
unrealmate asset organize   # Auto-organize assets by type
unrealmate asset duplicates # Find duplicate assets

Blueprint Commands

unrealmate blueprint analyze  # Analyze blueprint complexity
unrealmate blueprint report   # Generate detailed reports

Performance Commands ⚡ NEW!

unrealmate performance profile  # Analyze CPU/GPU/Memory
unrealmate performance shaders  # Detect shader issues
unrealmate performance memory   # Track memory usage

Plugin Commands 🔌 NEW!

unrealmate plugin list          # List all plugins
unrealmate plugin install       # Install from Git/local
unrealmate plugin enable        # Enable a plugin
unrealmate plugin disable       # Disable a plugin
unrealmate plugin remove        # Uninstall a plugin

Build Commands 🏗️ NEW!

unrealmate build ci-init        # Generate CI/CD configs
unrealmate build info           # Show project info

Config Commands ⚙️ NEW!

unrealmate config init          # Create config file
unrealmate config show          # Display current config
unrealmate config set           # Set a config value
unrealmate config get           # Get a config value

💡 Usage Examples

Quick Start

# Initialize a new Unreal project with Git
unrealmate git init
unrealmate git lfs

# Check project health
unrealmate doctor

# Scan and organize assets
unrealmate asset scan
unrealmate asset organize

Performance Optimization

# Profile your game
unrealmate performance profile --csv-file profiling_report.csv

# Analyze shaders
unrealmate performance shaders --shader-dir Content/Shaders

# Check memory usage
unrealmate performance memory --content-dir Content

Plugin Management

# List installed plugins
unrealmate plugin list

# Install a plugin from GitHub
unrealmate plugin install https://github.com/user/plugin.git

# Enable a plugin
unrealmate plugin enable MyPlugin

CI/CD Setup

# Generate GitHub Actions workflow
unrealmate build ci-init --platform github

# Generate GitLab CI config
unrealmate build ci-init --platform gitlab

Configuration

# Create config file
unrealmate config init

# Set preferences
unrealmate config set signature.compact_banner true
unrealmate config set signature.show_footer false

# View current config
unrealmate config show

📖 Documentation

Configuration File

UnrealMate uses .unrealmate.toml for configuration:

[signature]
compact_banner = false
show_footer = true

[logging]
level = "INFO"
file_logging = false

[paths]
unreal_engine_path = "C:/Program Files/Epic Games/UE_5.3"

Environment Variables

UNREALMATE_CONFIG_PATH    # Custom config file location
UNREALMATE_LOG_LEVEL      # Override log level

🛠️ Development

For Contributors

# Clone repository
git clone https://github.com/gktrk363/unrealmate.git
cd unrealmate

# Install in development mode
pip install -e .

# Run commands
unrealmate --help

Building from Source

# Install build tools
pip install build twine

# Build package
python -m build

# Install locally
pip install dist/unrealmate-*.whl

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Report Bugs - Open an issue with detailed information
  2. Suggest Features - Share your ideas for improvements
  3. Submit PRs - Fix bugs or add features
  4. Improve Docs - Help make documentation better
  5. Share - Tell others about UnrealMate!

See CONTRIBUTING.md for guidelines.


📝 License

UnrealMate is licensed under the MIT License.

See LICENSE file for details.


🙏 Acknowledgments

  • Unreal Engine by Epic Games
  • Typer for amazing CLI framework
  • Rich for beautiful terminal output
  • Community for feedback and support

Special thanks to all Unreal Engine developers who inspired this project!


📊 Project Stats

  • Version: 1.0.1 (Production/Stable)
  • Commands: 30+
  • Python Support: 3.10, 3.11, 3.12
  • Platforms: Windows, macOS, Linux
  • License: MIT
  • Status: Actively Maintained

🔗 Links


💬 Support

Need help? Have questions?

  • 📧 Email: Open an issue on GitHub
  • 💬 Discussions: Use GitHub Discussions
  • 🐛 Bug Reports: Open an issue with details
  • 💡 Feature Requests: Share your ideas

🌟 Star History

If you find UnrealMate useful, please consider giving it a ⭐ on GitHub!


Made with ❤️ for Unreal Engine Developers

⚡ Crafted by gktrk363 ⚡

Streamline your workflow. Build better games.

⬆ Back to Top

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unrealmate-1.0.2.tar.gz (38.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unrealmate-1.0.2-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file unrealmate-1.0.2.tar.gz.

File metadata

  • Download URL: unrealmate-1.0.2.tar.gz
  • Upload date:
  • Size: 38.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for unrealmate-1.0.2.tar.gz
Algorithm Hash digest
SHA256 a130bd7c075f1a62a1772ad381476c820286fc188924add27086c45ef564a0dc
MD5 f1e7ef9ac5a22aca58eeb69edd327630
BLAKE2b-256 f75828f3d881a92f1cc4f2e2326198f4502f44a36dcffc42b82a0e79f95385ac

See more details on using hashes here.

File details

Details for the file unrealmate-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: unrealmate-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 40.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for unrealmate-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c4d300e14ec6d1064c301a94bb9f3ac38400c7c4c9f86ede0f502ddffda5afa5
MD5 631f38708abba514009ba9be0da60a68
BLAKE2b-256 6842a3d3822292b43d42fcd3b8e5961df11e575f28bb66decf46e269517c22f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page