Editor/AssetBrowserAddon/locations/CustomLocationDefinition.cs

A simple serializable data class used by the Editor Asset Browser addon. It defines a user-created custom location with ID, display name, icon, allowed asset types, include/exclude folder lists, and a flag to limit to project assets.

using System;
using System.Collections.Generic;

namespace Sandbox.AssetBrowserAddon;

/// <summary>
/// Serializable definition for user-authored Asset Browser locations.
/// </summary>
public class CustomLocationDefinition
{
    public string Id { get; set; } = Guid.NewGuid().ToString("N");
    public string Name { get; set; } = "Custom Location";
    public string Icon { get; set; } = "extension";
    public List<string> AssetTypes { get; set; } = new();
    public List<string> IncludeFolders { get; set; } = new();
    public List<string> ExcludeFolders { get; set; } = new();
    public bool ProjectAssetsOnly { get; set; } = false;
}