Troubleshooting & FAQ

Beginner Last updated Jul 9, 2026

On this page

Troubleshooting

SymptomCause / fix
Objective never countsThe target/location GameplayTag isn’t registered in the project; see Objectives & progression. This is the #1 issue.
Dialogue plays but no lip-syncMetaHuman plugin not enabled, or no DX12, so the face stage degrades to a neutral face by design. Fix the requirement and re-run Build.
A custom camera doesn’t cutThe line’s shot: must name a declared staging.cameras id. If the camera class fails to load, the scene falls back to a wide shot with a warning.
OmniVoice won’t startUse the Voice tab’s Setup & Launch button (it handles console/venv environment pitfalls); check _qw_omnivoice.log next to the server.
RUN is greyed outThe pre-flight checklist has red items; each has a Fix → shortcut to the right tab.
Voices/faces in the wrong language in PIEExpected: per-culture asset swap is cooked-only, while text localization works everywhere. See Localization.
Quest changed but assets staleThe Library marks it “changed”; just RUN again. Generation is idempotent and prunes orphaned voice/face assets of removed lines.
Two participants end up on one spotTwo marks (or a mid-dialogue move) put two people on the same mark at the same moment. The validator and the staging canvas both flag the conflicting line.

FAQ

Do I need MetaHumans?

No. Dialogue, quests, staging, cameras, the journal and saving work with any skeletal-mesh character. The MetaHuman pipeline only powers baked lip-sync and the layered facial animation; without it the build degrades gracefully to a neutral face.

Do I need to write C++?

No. Setup is one click, objectives are credited with one BlueprintCallable node, and the inventory/stats seams are Blueprint-implementable. C++ is required only for a custom save backend (IQuestwrightSaveProvider).

Does it work in multiplayer / co-op?

Yes: standalone, listen server and dedicated server. Progress is per-player, replication is owner-only, all mutations are server-authoritative, and co-op saving works without code. See Saving & multiplayer.

Can quests be generated procedurally at runtime?

Not at runtime. A quest is authored content compiled into assets by the Studio (or the compile commandlet in CI). What you can automate is authoring: .quest.yaml is plain text, so scripts or an AI assistant can generate quest files that you then build normally.

Can I import dialogue from external tools (articy, Twine, spreadsheets)?

There is no built-in importer, but the target format is an open, documented text file; the authoring reference specifies every field. Converting from any structured source is a small script, and pasting the reference plus your source text into an AI assistant also works well.

Can I restyle or replace the UI?

Yes. All widgets (dialogue, choices, journal, tracker, toasts, barks) are C++-built with Blueprint-subclassable classes, and the OnQuestStateChanged / OnObjectivesChanged / OnJournalDirty delegates let you drive an entirely custom UI instead.

Does it depend on other paid plugins or online services?

No. The plugin is engine-native and standalone. Voice synthesis and machine translation are optional and use your own services/keys; with your own WAV files it runs fully offline.

Which engine versions are supported?

Unreal Engine 5.6 – 5.8. The compatibility layer is compile-time checked, so a version mismatch fails loudly at build time rather than silently at runtime.

My game is stylized / not photoreal. Is the cinematic camera mandatory?

Shots are authored per line, so you control how much “cinema” a scene gets, from full custom camera marks down to plain conversations, and the UI widgets are yours to restyle for genre.

Still stuck?

Write to support@phoenixtools.dev with your engine version, the quest file if possible, and the relevant Output Log lines.