Setup Guide
Goal: a talking NPC powered by a local model in a few minutes.
1. Enable the plugin
After installing from FAB, open Edit → Plugins, enable Elys Mind under Elys'Plugins, and restart if prompted.
2. Download a model
Open Tools → Elys Mind → Download LLM Models and pick one. Smaller = faster:
| Model | Size | Notes |
|---|---|---|
| Llama 3.2 1B / Gemma 3 1B | ~0.8 GB | Fast, simple dialogue |
| SmolLM2 1.7B / Qwen 2.5 1.5B | ~1.1 GB | Good balance, multilingual (Qwen) |
| Phi-4-mini / Llama 3.2 3B | ~2–2.5 GB | Recommended quality, 128K context |
Models download to Content/ElysMind/Models/ and the path is auto-configured.
3. Configure settings
In Project Settings → Plugins → Elys Mind (LLM):
- Enable LLM: on
- LLM Backend:
llama.cpp (Local) - LLM Model Path: set by the downloader (or browse to a
.gguf) - Max Context Length / Max Response Tokens: tune for memory vs. length
- Enable GPU Acceleration: on if you have a supported GPU
4. Add the component
Add an Elys LLM Component to an NPC. Set a system prompt, bind On Generation Complete, call Send Message.
UERP_LLMComponent* LLM = CreateDefaultSubobject<UERP_LLMComponent>(TEXT("LLM"));
LLM->SystemPrompt = TEXT("You are a helpful guide. Answer in one or two sentences.");
// BeginPlay:
LLM->OnGenerationComplete.AddDynamic(this, &ANPC::HandleReply);
LLM->SendMessage(TEXT("Where is the market?"));
5. Multiplayer note
Decide where generation happens: server for shared NPC dialogue (replicate the resulting text to clients), or client for local assistance. The component does not replicate automatically — drive it with your own RPCs.
Next: connect speech in and out — see Chaining.