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 | 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¶
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 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