Class UTryllModelManifest¶
ClassList > UTryllModelManifest
#include <TryllModelManifest.h>
Inherits the following classes: UDeveloperSettings
Public Attributes¶
| Type | Name |
|---|---|
| TArray< FTryllModelManifestEntry > | Entries |
Public Functions¶
| Type | Name |
|---|---|
| TArray< FString > | DeclaredLanguages (const TArray< FString > & ModelTypes={}) const |
| ETryllModelRegistration | Get (const FString & ModelName) const |
| virtual FName | GetCategoryName () override const |
| TArray< FString > | LanguagesOf (const FString & ModelName) const |
| TArray< FString > | ModelsMissingLanguage (const FString & Language, const TArray< FString > & ModelTypes={}) const |
| TArray< FString > | ModelsOfType (const FString & ModelType) const |
| bool | SaveToConfig () |
| bool | Set (const FString & ModelName, const FString & ModelType, ETryllModelRegistration Registration, const TArray< FString > * Languages=nullptr, const ETryllInferenceEngine * Engine=nullptr, const ETryllMemoryPlacement * Placement=nullptr, const ETryllHotwordBias * Hotwords=nullptr) |
Public Static Functions¶
| Type | Name |
|---|---|
| const UTryllModelManifest * | GetActive () |
| UTryllModelManifest * | GetMutableActive () |
| void | SetActiveOverrideForTests (UTryllModelManifest * Override) |
Detailed Description¶
Project-wide manifest of which models ship in the build. Stores a thin name -> { type, registration, languages } list; the rest of the catalog stays server-owned and is read via ListModels. The Model Manager window writes it; component pickers and a future packaging step read it.
Persisted to <YourProject>/Config/DefaultGame.ini under [/Script/TryllClient.TryllModelManifest].
Public Attributes Documentation¶
variable Entries¶
Models the project has registered. Unlisted models are None.
Public Functions Documentation¶
function DeclaredLanguages¶
inline TArray< FString > UTryllModelManifest::DeclaredLanguages (
const TArray< FString > & ModelTypes={}
) const
Every language any registered model declares, sorted - the source for the settings language dropdown.
A union, deliberately, not an intersection: a project may register an English-only model for one character and a 31-language voice for everyone else, and intersecting would collapse the menu to English. Per-model mismatches are surfaced where they are actionable instead - on the model picker (inspector warning) and at agent creation (server error).
Empty ModelTypes means "all types".
function Get¶
Registration for a model, or None if unlisted.
function GetCategoryName¶
function LanguagesOf¶
Cached languages for a registered model; empty when unlisted or undeclared.
function ModelsMissingLanguage¶
inline TArray< FString > UTryllModelManifest::ModelsMissingLanguage (
const FString & Language,
const TArray< FString > & ModelTypes={}
) const
Registered models of the given types that do NOT declare Language, ignoring those that declared nothing. Drives the "N voice models cannot do German" summary in project settings.
function ModelsOfType¶
Names of registered models of a given type, for type-filtered pickers.
function SaveToConfig¶
Write DefaultGame.ini. No-op (false) for a test override, which has nowhere to go.
function Set¶
inline bool UTryllModelManifest::Set (
const FString & ModelName,
const FString & ModelType,
ETryllModelRegistration Registration,
const TArray< FString > * Languages=nullptr,
const ETryllInferenceEngine * Engine=nullptr,
const ETryllMemoryPlacement * Placement=nullptr,
const ETryllHotwordBias * Hotwords=nullptr
)
Set (or clear) a model's registration. Setting None removes the entry so the manifest only holds models the project actually selects. Does not persist; callers invoke TryUpdateDefaultConfigFile() to write DefaultGame.ini. Returns true when this call actually changed the manifest, so a caller knows whether to write DefaultGame.ini.
Reported from here rather than compared by the caller, and that is the point. Callers used to decide for themselves — the Model Manager's catalog refresh skipped the whole call whenever cached languages matched the server, which meant a stale cached engine was never corrected. Every manifest written before the engine field existed therefore kept the enum default and silently pre-warmed nothing. Only this method knows what it caches, so only this method can say whether a write mattered; adding a field later cannot reintroduce the same bug.
Public Static Functions Documentation¶
function GetActive¶
The manifest every reader and writer uses: the project CDO, or a test's in-memory override. Use these instead of GetDefault / GetMutableDefault so editor-window tests never read or write the host project's DefaultGame.ini.
function GetMutableActive¶
function SetActiveOverrideForTests¶
Test-only. The override must stay rooted until it is cleared with nullptr.
The documentation for this class was generated from the following file C:/_tryll/_monorepo3/tryll/clients/unreal/Source/TryllClient/Public/TryllModelManifest.h