using System; using Newtonsoft.Json; namespace Unity.Pipeline.Models { /// /// Canonical identity of an object an authoring command created or acted on, returned as the /// command result so an agent can reference it in a follow-up call (via ). /// Asset objects carry assetPath/guid(/fileId); loaded/scene objects carry instanceId/hierarchyPath. /// [Serializable] public class AuthoringResult { /// Canonical GlobalObjectId string for the object. [JsonProperty("globalId")] public string GlobalId { get; set; } /// Project-relative asset path, if the object is an asset. [JsonProperty("assetPath")] public string AssetPath { get; set; } /// Asset GUID, if the object is an asset. [JsonProperty("guid")] public string Guid { get; set; } /// Local file id within the asset, for sub-assets. [JsonProperty("fileId")] public long? FileId { get; set; } /// Instance id, if the object is loaded/in a scene. [JsonProperty("instanceId")] public ObjectId? InstanceId { get; set; } /// Scene hierarchy path, for scene objects. [JsonProperty("hierarchyPath")] public string HierarchyPath { get; set; } /// Object type name (e.g. "GameObject", "Material", "DefaultAsset"). [JsonProperty("type")] public string Type { get; set; } } }