Skip to main content

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:

ModelSizeNotes
Llama 3.2 1B / Gemma 3 1B~0.8 GBFast, simple dialogue
SmolLM2 1.7B / Qwen 2.5 1.5B~1.1 GBGood balance, multilingual (Qwen)
Phi-4-mini / Llama 3.2 3B~2–2.5 GBRecommended 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.