manifest definition

The manifest is a JSON document that describes the files that make up a content item. It is included as part of certain API responses.

The manifest may include multiple entities and packages (our wrapper around Unity asset bundles). There will always be at least one entity, but packages are optional. Entity files are universal, in that they work on any platform, but asset bundles are restricted to a single platform. Hence, each package will be represented as three separate files, and the client will be smart enough to download only the files it needs.

File Paths

For general file path information including how to resolve partial paths, see the File Paths Overview.

Within a user's protected path, files are organized into folders based on the type of file.

For entities: {entity ID}/{revision ID}.entity

And for packages: {package ID}/{platform}.package

Example

{
  "entities": [
    {
      "path": "protected/us-west-2:12345678-0000-0000-0000-123456789abc/5d262973-f8e9-4beb-a709-fc8071565062/2def9e51-30c8-4460-8af5-a940eef903f2.entity",
      "size": 139788,
      "entityId": "5d262973-f8e9-4beb-a709-fc8071565062",
      "revisionId": "2def9e51-30c8-4460-8af5-a940eef903f2"
    }, {
      "path": "protected/us-west-2:12345678-0000-0000-0000-123456789abc/1519353c-28cb-4211-9731-c7c7f41f0c82/9e1c50e7-5a23-4924-9c2c-e38f4be2bb1b.entity",
      "size": 12033,
      "entityId": "1519353c-28cb-4211-9731-c7c7f41f0c82",
      "revisionId": "9e1c50e7-5a23-4924-9c2c-e38f4be2bb1b"
    }
  ],
  "packages": [
    {
      "id": "f90d1311-a9e6-400f-bade-b30aa5e1f12f",
      "files": {
        "win64": {
          "path": "protected/us-west-2:12345678-0000-0000-0000-123456789abc/f90d1311-a9e6-400f-bade-b30aa5e1f12f/win64.package",
          "size": 1905316
        },
        "osx64": {
          "path": "protected/us-west-2:12345678-0000-0000-0000-123456789abc/f90d1311-a9e6-400f-bade-b30aa5e1f12f/osx64.package",
          "size": 1906791
        },
        "linux64": {
          "path": "protected/us-west-2:12345678-0000-0000-0000-123456789abc/f90d1311-a9e6-400f-bade-b30aa5e1f12f/linux64.package",
          "size": 1934102
        }
      }
    }, {
      "id": "3d5db494-8b78-45bb-9ba1-bf0f3da12551",
      "files": {
        "win64": {
          "path": "protected/us-west-2:12345678-0000-0000-0000-123456789abc/3d5db494-8b78-45bb-9ba1-bf0f3da12551/win64.package",
          "size": 204276
        },
        "osx64": {
          "path": "protected/us-west-2:12345678-0000-0000-0000-123456789abc/3d5db494-8b78-45bb-9ba1-bf0f3da12551/osx64.package",
          "size": 201678
        },
        "linux64": {
          "path": "protected/us-west-2:12345678-0000-0000-0000-123456789abc/3d5db494-8b78-45bb-9ba1-bf0f3da12551/linux64.package",
          "size": 232454
        }
      }
    }
  ]
}

Properties

NameDescriptionValue
entitiesthe entities that make up this content item; there must always be at least one entity, and the first one in the array is assumed to be the core entityarray of objects; see Entity
packagesthe asset bundles that make up this content item; this key may or may not be provided and, if provided, may or may not be emptyarray of objects; see Package

Entity

NameDescriptionValue
entityIdthe entity ID of this entity as a GUID with dashesstring
revisionIdthe revision ID of this entity as a GUID with dashesstring
paththe path to the actual entity file, as a relative path within the content S3 bucketstring
sizethe size of the entity file, in bytesnumber

Package

NameDescriptionValue
idthe ID of this package as a GUID with dashesstring
filesan object describing the platform-specific files that make up this package; the package will contain one key for every platform it supportsobject
keys are
one of:
  • win64
  • osx64
  • linux64

values are objects; see File

File

NameDescriptionValue
paththe path to the actual entity file, as a relative path within the content S3 bucketstring
sizethe size of the entity file, in bytesnumber