Skip to content

Class UTryllModelManifest

ClassList > UTryllModelManifest

More...

  • #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 Set (const FString & ModelName, const FString & ModelType, ETryllModelRegistration Registration, const TArray< FString > * Languages=nullptr, const ETryllInferenceEngine * Engine=nullptr, const ETryllMemoryPlacement * Placement=nullptr)

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

TArray<FTryllModelManifestEntry> UTryllModelManifest::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

inline ETryllModelRegistration UTryllModelManifest::Get (
    const FString & ModelName
) const

Registration for a model, or None if unlisted.


function GetCategoryName

inline virtual FName UTryllModelManifest::GetCategoryName () override const

function LanguagesOf

inline TArray< FString > UTryllModelManifest::LanguagesOf (
    const FString & ModelName
) const

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

inline TArray< FString > UTryllModelManifest::ModelsOfType (
    const FString & ModelType
) const

Names of registered models of a given type, for type-filtered pickers.


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
) 

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.



The documentation for this class was generated from the following file C:/_tryll/_monorepo3/tryll/clients/unreal/Source/TryllClient/Public/TryllModelManifest.h