GameMetadata14.1
Class in Unbroken.LaunchBox.Plugins.Components.GameData
public sealed class GameMetadataDescribes one game. Every property is optional enrichment; LaunchBox owns merge and title policy.
Constructors
GameMetadataCreates metadata for one game.
GameMetadata
public GameMetadata(string gameId)Creates metadata for one game.
gameId- Source-local game ID.
Properties
AdditionalDataGets or initializes provider-specific scalar observations that have no corresponding typed metadata property.AlternateNamesGets or initializes alternate titles with optional regions.CommunityRatingGets or initializes the community star rating.CommunityRatingCountGets or initializes the number of community votes.ControllerSupportGets or initializes detailed controller-support observations.DescriptionGets or initializes the description.DevelopersGets or initializes developer names.ExternalIdsGets or initializes known identifiers in other namespaces for this game or its associated versions.GameIdGets the source-local game ID.GenresGets or initializes genre names.MaxPlayersGets or initializes the maximum player count.PlatformGets or initializes the source platform name.PlatformIdGets or initializes the source-local platform identity, corresponding to GameCatalogPlatform.PlatformId when known. Null means unknown; this does not assign a LaunchBox library platform.PlayModeGets or initializes the play mode text.PublishersGets or initializes publisher names.RatingGets or initializes the content rating.ReleaseDateGets or initializes the release date, or null when unknown.ReleaseDatePrecisionGets or initializes which calendar components of ReleaseDate are known. Defaults to Day for existing providers; ignored when ReleaseDate is null.ReleaseTypeGets or initializes the release type, such as Released or Early Access.SeriesGets or initializes the series.SortTitleGets or initializes the title used for sorting, independently of the displayed title.StorePageUriGets or initializes an absolute store page URI for this game, when supplied by the source.SupportsGamepadGets or initializes broad gamepad support when detailed observations are unavailable.TitleGets or initializes the source title.VideoUrlGets or initializes a video page URL.WikipediaUrlGets or initializes a Wikipedia page URL.
AdditionalData
public IReadOnlyDictionary<string, string> AdditionalData { get; init; }Gets or initializes provider-specific scalar observations that have no corresponding typed metadata property.
Remarks
Empty by default. Values are copied into a read-only snapshot with ordinal, case-sensitive keys. Keys use documented source-ID prefixes followed by a dot, such as retroachievements.forum-topic-id. Values retain their supplied text; absent keys mean unavailable data, while an empty string represents an observed empty value. These observations do not automatically become library custom fields or replace typed properties.AlternateNames
public IReadOnlyCollection<GameAlternateName> AlternateNames { get; init; }Gets or initializes alternate titles with optional regions.
CommunityRating
public double? CommunityRating { get; init; }Gets or initializes the community star rating.
CommunityRatingCount
public int? CommunityRatingCount { get; init; }Gets or initializes the number of community votes.
ControllerSupport
public IReadOnlyCollection<GameDataControllerSupport> ControllerSupport { get; init; }Gets or initializes detailed controller-support observations.
Description
public string? Description { get; init; }Gets or initializes the description.
Developers
public IReadOnlyCollection<string> Developers { get; init; }Gets or initializes developer names.
ExternalIds
public IReadOnlyCollection<GameExternalId> ExternalIds { get; init; }Gets or initializes known identifiers in other namespaces for this game or its associated versions.
Remarks
Empty by default. These are matching evidence, not ownership or permission to rewrite a library association. Multiple values in a namespace may be ambiguous; sources must not assume a unique match.GameId
public string GameId { get; }Gets the source-local game ID.
Genres
public IReadOnlyCollection<string> Genres { get; init; }Gets or initializes genre names.
MaxPlayers
public int? MaxPlayers { get; init; }Gets or initializes the maximum player count.
Platform
public string? Platform { get; init; }Gets or initializes the source platform name.
PlatformId
public string? PlatformId { get; init; }Gets or initializes the source-local platform identity, corresponding to GameCatalogPlatform.PlatformId when known. Null means unknown; this does not assign a LaunchBox library platform.
PlayMode
public string? PlayMode { get; init; }Gets or initializes the play mode text.
Publishers
public IReadOnlyCollection<string> Publishers { get; init; }Gets or initializes publisher names.
Rating
public string? Rating { get; init; }Gets or initializes the content rating.
ReleaseDate
public DateTimeOffset? ReleaseDate { get; init; }Gets or initializes the release date, or null when unknown.
Remarks
Interpret the calendar date together with ReleaseDatePrecision, without converting time zones. Year precision uses January 1; month precision uses day 1. Those placeholders do not identify an exact release day.ReleaseDatePrecision
public MetadataDatePrecision ReleaseDatePrecision { get; init; }Gets or initializes which calendar components of ReleaseDate are known. Defaults to Day for existing providers; ignored when ReleaseDate is null.
Remarks
Year precision identifies only the year; month precision identifies the year and month. Unknown precision is valid only when ReleaseDate is null. Metadata results and catalog pages reject populated dates with unknown or inconsistent precision.ReleaseType
public string? ReleaseType { get; init; }Gets or initializes the release type, such as Released or Early Access.
Series
public string? Series { get; init; }Gets or initializes the series.
SortTitle
public string? SortTitle { get; init; }Gets or initializes the title used for sorting, independently of the displayed title.
StorePageUri
public Uri? StorePageUri { get; init; }Gets or initializes an absolute store page URI for this game, when supplied by the source.
SupportsGamepad
public bool? SupportsGamepad { get; init; }Gets or initializes broad gamepad support when detailed observations are unavailable.
Title
public string? Title { get; init; }Gets or initializes the source title.
VideoUrl
public string? VideoUrl { get; init; }Gets or initializes a video page URL.
WikipediaUrl
public string? WikipediaUrl { get; init; }Gets or initializes a Wikipedia page URL.