Game Data Structure

digraph gamedata {
   "Game Data" -> "Collections";
   "Game Data" -> "ToolsVersion";
   "Game Data" -> "RevisionHash";
   "Game Data" -> "ChangeNumber";
       "Collections" -> "Project Settings";
       "Collections" -> "Schema";
       "Schema" -> "Properties";
       "Properties" -> "Schema Property";
       "Collections" -> "<Schema-Name>";
}

Game Data

  • ToolsVersion (string): Version of the application used to create this file.

  • RevisionHash (string): Current changeset hash value.

  • ChangeNumber (number): Current changeset ordinal number.

  • Collections (object): List of document collections identified by schema name.

    • ProjectSettings (array): Project-related settings for the current file.

    • Schema (array): Project-related schemas for the current file.

    • <Schema-Name> (array): Other document collections listed in alphabetical order.

Project Settings

  • Id (string): Unique identifier for the project settings (BSON ObjectId).

  • Name (string): Name of the project.

  • PrimaryLanguage (string): Primary language for localizable text in the project (language ID in BCP-47 format).

  • Languages (string): Alternative languages for localizable text in the project (semicolon-delimited list of language IDs in BCP-47 format).

  • Copyright (string): Copyright information for the project.

  • Version (string): Version of the current file, represented as four numbers separated by dots (Major.Minor.Build.Revision).

Schema

  • Id (string): Unique identifier for the schema (BSON ObjectId).

  • Name (string): Name of the schema (valid C identifier).

  • DisplayName (string): Display name of the schema for UI purposes.

  • Description (string): Schema description used in generated documentation.

  • Specification (string): Extension data for the schema in application/x-www-form-urlencoded format (RFC-1867).

  • IdGenerator (number): ID generation method for documents created by this schema:

    • 0 : None - ID must be provided manually by the user.

    • 1 : ObjectId - Generates a new BSON ObjectId.

    • 2 : Guid - Generates a new UUID.

    • 3 : Sequence - Uses an incrementing number unique to each schema.

    • 4 : GlobalSequence - Uses an incrementing number shared across all schemas.

  • Type (number): Schema type:

    • 0 : Normal - Documents can be created in Collections or embedded in another document.

    • 1 : Component - Documents are always embedded in another document and never appear in Collections.

    • 2 : Settings - Only one document of this schema can exist in Collections.

  • Properties (array): List of schema properties. Always includes the Id property.

Schema Property

  • Id (string): Unique identifier for the property (BSON ObjectId).

  • Name (string): Name of the property (valid C identifier).

  • DisplayName (string): Display name for UI and documentation purposes.

  • Description (string): Property description used in generated documentation.

  • DataType (number): Data type of values stored in documents:

    • 0: Text - Line of text.

    • 1: LocalizedText - Lines of localized text.

    • 5: Logical - Boolean value.

    • 8: Time - Time span.

    • 9: Date - Specific date.

    • 12 : Number - Decimal number.

    • 13 : Integer - Whole number.

    • 18 : PickList - Predefined value list.

    • 19 : MultiPickList - Multiple selections from predefined values.

    • 22 : Document - Embedded document.

    • 23 : DocumentCollection - Collection of embedded documents.

    • 28 : Reference - Reference to another document.

    • 29 : ReferenceCollection - References to multiple documents.

    • 35 : Formula - C#-like expression for calculations.

  • DefaultValue (vary|null): Default value for the property used when a new document is created.

  • Uniqueness (number): Uniqueness requirement for the property:

    • 0 : None - Value does not need to be unique.

    • 1 : Unique - Value must be unique across all documents of this type.

    • 2 : UniqueInCollection - Value must be unique within the containing collection.

  • Requirement (number): Value requirement for the property:

    • 0 : None - Value is optional and can be null.

    • 2 : NotNull - Value is required but can be an empty string/collection.

    • 3 : NotEmpty - Value is required and cannot be empty.

  • ReferenceType (object|null): Referenced schema for certain data types (Document, DocumentCollection, Reference, ReferenceCollection):

    • Id (string): Identifier of the referenced schema.

    • DisplayName (string): Optional display name of the referenced schema.

  • Size (number): Maximum or exact size of the data type. For variable-length types (e.g., text, collections), this defines the size; for others, it is zero.

  • Specification (string): Extension data for the property in application/x-www-form-urlencoded format (RFC-1867).