LaunchBoxContributors
On this page

GameMetadata14.1

Class in Unbroken.LaunchBox.Plugins.Components.GameData

C#
public sealed class GameMetadata
Describes one game. Every property is optional enrichment; LaunchBox owns merge and title policy.

Constructors

GameMetadata

C#
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

C#
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

C#
public IReadOnlyCollection<GameAlternateName> AlternateNames { get; init; }
Gets or initializes alternate titles with optional regions.

CommunityRating

C#
public double? CommunityRating { get; init; }
Gets or initializes the community star rating.

CommunityRatingCount

C#
public int? CommunityRatingCount { get; init; }
Gets or initializes the number of community votes.

ControllerSupport

C#
public IReadOnlyCollection<GameDataControllerSupport> ControllerSupport { get; init; }
Gets or initializes detailed controller-support observations.

Description

C#
public string? Description { get; init; }
Gets or initializes the description.

Developers

C#
public IReadOnlyCollection<string> Developers { get; init; }
Gets or initializes developer names.

ExternalIds

C#
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

C#
public string GameId { get; }
Gets the source-local game ID.

Genres

C#
public IReadOnlyCollection<string> Genres { get; init; }
Gets or initializes genre names.

MaxPlayers

C#
public int? MaxPlayers { get; init; }
Gets or initializes the maximum player count.

Platform

C#
public string? Platform { get; init; }
Gets or initializes the source platform name.

PlatformId

C#
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

C#
public string? PlayMode { get; init; }
Gets or initializes the play mode text.

Publishers

C#
public IReadOnlyCollection<string> Publishers { get; init; }
Gets or initializes publisher names.

Rating

C#
public string? Rating { get; init; }
Gets or initializes the content rating.

ReleaseDate

C#
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

C#
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

C#
public string? ReleaseType { get; init; }
Gets or initializes the release type, such as Released or Early Access.

Series

C#
public string? Series { get; init; }
Gets or initializes the series.

SortTitle

C#
public string? SortTitle { get; init; }
Gets or initializes the title used for sorting, independently of the displayed title.

StorePageUri

C#
public Uri? StorePageUri { get; init; }
Gets or initializes an absolute store page URI for this game, when supplied by the source.

SupportsGamepad

C#
public bool? SupportsGamepad { get; init; }
Gets or initializes broad gamepad support when detailed observations are unavailable.

Title

C#
public string? Title { get; init; }
Gets or initializes the source title.

VideoUrl

C#
public string? VideoUrl { get; init; }
Gets or initializes a video page URL.

WikipediaUrl

C#
public string? WikipediaUrl { get; init; }
Gets or initializes a Wikipedia page URL.