Setup Guide
Complete installation and configuration guide for ElysGenAIPlugin.
Prerequisites
Software Requirements
- Unreal Engine 5.6+ (compatible with 5.0+)
- Visual Studio 2022 (Windows) or Xcode (Mac)
- Git (for cloning/downloading)
Hardware Requirements
- CPU: Modern multi-core processor (Intel i5/AMD Ryzen 5 or better)
- RAM: 8GB minimum, 16GB recommended
- Storage: 5GB for plugin and bundled models
- Microphone: Required for STT features
Installation
Method 1: Download Release (Recommended)
- Download the latest release from GitHub Releases
- Extract to your project's
Pluginsfolder:YourProject/
└── Plugins/
└── ElysGenAIPlugin/ - Continue to Enable Plugin
Method 2: Clone from GitHub
cd YourProject/Plugins
git clone https://github.com/RogueParadigm/ElysGenAIPlugin.git
Enable Plugin
Option A: Enable in .uproject (Recommended)
- Open
YourProject.uprojectin a text editor - Add ElysGenAIPlugin to the
Pluginsarray:
{
"FileVersion": 3,
"EngineAssociation": "5.6",
"Plugins": [
{
"Name": "ElysGenAIPlugin",
"Enabled": true
}
]
}
Option B: Enable in Editor
- Open your project in Unreal Editor
- Go to Edit → Plugins
- Search for "ElysGenAI"
- Check the Enabled checkbox
- Restart the editor when prompted
Regenerate Project Files
After enabling the plugin:
- Close Unreal Editor if it's open
- Right-click your
.uprojectfile - Select Generate Visual Studio Project Files (Windows) or Generate Xcode Project (Mac)
- Wait for generation to complete
Compile Plugin
In Editor (Automatic)
- Open your project in Unreal Editor
- Editor will automatically compile the plugin
- Wait for "Compiling ElysGenAIPlugin..." to finish
From IDE (Manual)
Visual Studio (Windows)
- Open
YourProject.sln - Set build configuration to Development Editor
- Build solution (Ctrl+Shift+B)
Xcode (Mac)
- Open
YourProject.xcworkspace - Set scheme to YourProjectEditor
- Build (Cmd+B)
Verify Installation
Check Logs
Open Output Log in Unreal Editor and look for:
LogElysGenAI: ElysGenAIPlugin loaded successfully
LogElysGenAI: Found 4 modules: Core, Audio, STT, LLM
Test Component
- Open any Blueprint (e.g., PlayerController)
- Click Add Component
- Search for "Elys"
- You should see:
- ERP_STTComponent
- ERP_LLMComponent
If components appear, installation was successful!
Model Downloader
ElysGenAIPlugin includes a flexible model downloader for both editor and packaged games.
Editor Downloads (Development)
Use UERP_ModelDownloaderEditorSubsystem during development.
Method 1: Menu (Easiest)
- Open Unreal Editor
- Go to Tools → Elys GenAI → Download AI Models
- Follow the prompts
Method 2: Output Log Command
Open Window → Developer Tools → Output Log and paste:
auto* Subsystem = GEditor->GetEditorSubsystem<UERP_ModelDownloaderEditorSubsystem>();
Subsystem->DownloadWhisperModel(TEXT("base"));
Method 3: C++
#include "ERP_ModelDownloaderEditorSubsystem.h"
auto* Downloader = GEditor->GetEditorSubsystem<UERP_ModelDownloaderEditorSubsystem>();
if (Downloader)
{
Downloader->DownloadWhisperModel(TEXT("base"));
}
Runtime Downloads (Packaged Games)
Use UERP_ModelDownloaderSubsystem for player-facing downloads.
Blueprint Setup
- Get Game Instance → Get Subsystem (UERP_ModelDownloaderSubsystem)
- Call Download Whisper Model (ModelId: "base")
- Bind to OnDownloadProgress and OnDownloadComplete events
C++ Example
#include "ERP_ModelDownloaderSubsystem.h"
auto* Downloader = GetGameInstance()->GetSubsystem<UERP_ModelDownloaderSubsystem>();
if (Downloader)
{
auto* ModelDownloader = Downloader->GetModelDownloader();
ModelDownloader->OnDownloadProgress.AddDynamic(this, &UMyWidget::OnProgress);
ModelDownloader->OnDownloadComplete.AddDynamic(this, &UMyWidget::OnComplete);
Downloader->DownloadWhisperModel(TEXT("base"));
}
Available Models
| Model ID | Size | Use Case |
|---|---|---|
| tiny | ~75 MB | Testing, prototyping |
| base | ~142 MB | Recommended: Best balance |
| base.en | ~142 MB | English-only, recommended |
| small | ~466 MB | Better accuracy |
| medium | ~1.5 GB | High accuracy |
| large | ~3 GB | Best accuracy, requires powerful hardware |
Recommendation: Use base or base.en for most cases.
Model Storage
Editor: <ProjectDirectory>/Content/ElysGenAI/Models/Whisper/
Packaged: <GameInstallDirectory>/Content/ElysGenAI/Models/Whisper/
Automatic Configuration
When a model download completes in the editor, settings are automatically configured:
STTBackend→ "Whisper"STTModelPath→ Path to downloaded modelbEnableSTT→ true
Check Project Settings → Plugins → Elys GenAI Framework to verify.
Download LLM Models (Optional)
ElysGenAIPlugin includes a model manager for downloading language models (LLM) for local inference.
Available Models
Four pre-configured models are available for download:
| Model | Size | License | Best For |
|---|---|---|---|
| Phi-3-mini 4K | 2.3 GB | MIT | ✅ Production games |
| Llama 3.2 1B | 800 MB | Llama Community | Indie games, prototypes |
| Gemma 2 2B | 1.6 GB | Gemma Community | Indie games, research |
| TinyLlama 1.1B | 700 MB | Apache 2.0 | ✅ Testing, prototyping |
Recommendation: For commercial games, use Phi-3-mini (MIT license, unrestricted) or TinyLlama (Apache 2.0, unrestricted).
Method 1: Download via Model Manager UI (Easiest)
- Open Unreal Editor
- Go to Tools → Elys GenAI → Download AI Models
- Click on the "LLM Models" tab
- Select a model and click "Download"
- Download progress displays in the UI
- Takes 5-15 minutes depending on model size and internet speed
- When complete, click "Use This Model" to auto-configure settings
- The model is now ready for use in
UERP_LLMComponent
Method 2: Download via C++ (Programmatic)
#include "ERP_LLMModelDownloader.h"
// Create downloader instance
auto* LLMDownloader = NewObject<UERP_LLMModelDownloader>();
// Bind to completion event
LLMDownloader->OnDownloadComplete.AddDynamic(
this, &AMyClass::OnModelDownloadComplete);
// Start download (valid ModelIds: "phi-3-mini-4k", "llama-3.2-1b", "gemma-2-2b", "tinyllama-1.1b")
LLMDownloader->DownloadModel(TEXT("phi-3-mini-4k"));
// Handle completion
void AMyClass::OnModelDownloadComplete(
const FString& ModelId,
bool bSuccess,
const FString& FilePath,
const FString& ErrorMessage)
{
if (bSuccess)
{
UE_LOG(LogTemp, Log, TEXT("Model ready: %s"), *FilePath);
}
else
{
UE_LOG(LogTemp, Error, TEXT("Download failed: %s"), *ErrorMessage);
}
}
Model Storage Location
Editor: <ProjectDirectory>/Content/ElysGenAI/Models/LLM/
Packaged: <GameInstallDirectory>/Content/ElysGenAI/Models/LLM/
Automatic Configuration
When an LLM model download completes, settings are automatically configured:
LLMBackend→ "LlamaCpp"LLMModelPath→ Path to downloaded modelbEnableLLM→ true
Verify in Project Settings → Plugins → Elys GenAI Framework → LLM Settings.
Using Downloaded Models in Blueprint
- Add LLM Component to your actor
- Component auto-configures after model download
- Send Messages via
SendMessage()node - Handle Completion via
OnGenerationCompleteevent
Example Blueprint flow:
[Button Click]
↓
[LLM Component → Send Message("Hello")]
↓
[Wait for OnGenerationComplete]
↓
[Display Response]
Using Downloaded Models in C++
#include "ERP_LLMComponent.h"
UERP_LLMComponent* LLMComponent = ...;
// Configure system prompt (optional)
LLMComponent->SetSystemPrompt(TEXT("You are a helpful game NPC."));
LLMComponent->SetTemperature(0.7f);
LLMComponent->SetMaxTokens(256);
// Bind to completion event
LLMComponent->OnGenerationComplete.AddDynamic(
this, &AMyClass::OnLLMResponse);
// Send message
LLMComponent->SendMessage(TEXT("What is your name?"));
// Handle response
void AMyClass::OnLLMResponse(const FERP_LLMResult& Result)
{
UE_LOG(LogTemp, Log, TEXT("Response: %s"), *Result.GeneratedText);
}
Troubleshooting Model Downloads
Download is Slow
Cause: Network speed or HuggingFace CDN throttling
Solutions:
- Check internet connection (Whisper/LLM models are 700MB-2.3GB)
- Models download from HuggingFace CDN
- Try again during off-peak hours
- If persistent, check firewall/antivirus blocking
Download Fails with Network Error
Cause: Firewall, proxy, or network connectivity
Solutions:
- Check internet connection
- Verify firewall allows HTTPS (port 443)
- Try disabling proxy if configured
- Manually download from HuggingFace and place in
Content/ElysGenAI/Models/LLM/
Model Not Working After Download
Cause: Settings not configured or model path incorrect
Solutions:
- Click "Use This Model" button to auto-configure
- Verify settings in Project Settings → Elys GenAI Framework
- Delete partial download in
Content/ElysGenAI/Models/LLM/and re-download - Check Output Log for specific errors
Project Settings
Configure the plugin in Project Settings → Elys GenAI Framework.
Audio Settings
| Setting | Default | Description |
|---|---|---|
| Sample Rate | 16000 Hz | Audio capture sample rate |
| Channels | 1 (Mono) | Audio channels |
| Bit Depth | 16 | Audio bit depth |
| Buffer Duration | 100ms | Audio buffer size |
STT Settings
| Setting | Default | Description |
|---|---|---|
| STT Backend | Whisper | Speech-to-text backend |
| Model Path | (bundled) | Path to Whisper model |
| Language | en | Target language code |
| Enable VAD | true | Voice activity detection |
LLM Settings
| Setting | Default | Description |
|---|---|---|
| LLM Backend | LlamaCpp | Language model backend |
| Model Path | (bundled) | Path to Phi-3 model |
| Context Length | 4096 | Maximum context tokens |
| Temperature | 0.7 | Sampling temperature |
| Max Tokens | 512 | Maximum generation length |
Troubleshooting Installation
Plugin Not Appearing in Editor
Cause: Plugin not properly enabled or compiled
Solutions:
- Verify
.upluginfile exists inPlugins/ElysGenAIPlugin/ - Regenerate project files
- Delete
IntermediateandBinariesfolders, regenerate
Compilation Errors
Cause: Missing dependencies or Unreal Engine version mismatch
Solutions:
- Verify UE version compatibility (5.6+ required)
- Check Visual Studio 2022 is installed
- Clean build: Delete
Intermediate,Binaries,Saved/Cooked - Rebuild from IDE
Audio Capture Not Working
Cause: Microphone permissions not granted
Solutions:
- Windows: Privacy Settings → Microphone → Allow desktop apps
- Mac: System Preferences → Security & Privacy → Microphone → Grant access
- Verify microphone works in other applications
Model Download Fails
Cause: Internet connection or firewall
Solutions:
- Check internet connection
- Models are downloaded from Hugging Face CDN
- Check firewall settings
- Try manual download and place in models folder
Next Steps
Plugin installed and configured successfully!
Continue to:
- Core Concepts - Understand the plugin architecture
- Modules Guide - Learn about Audio, STT, and LLM modules
- Examples - See practical use cases
Getting Help
- Documentation: Check Troubleshooting
- GitHub Issues: Report bugs or request features
- Discord: Rogue Paradigm Community