Downloading workshop item from C#

var clothing = await Cloud.Load<Clothing>( "URL/IDENT" ); 

The URL can be the full url to a workshop item ex. https://sbox.game/derrikcreates/yes_i_am_the_real_garry or it can be just the end, derrikcreates/yes_i_am_the_real_garry

You are not limited to clothing, any workshop item can be loaded this way you just need to provide the right T type and url for that type

Searching the workshop from C#

https://sbox.game/api/Sandbox.Package/FindAsync

ShadowBrain (on discord)

    public async Task<Package> FindPackage( string modelName )
    {
        string searchterm = modelName;
        string sortOrder = "sort:popular";
 
        Log.Info( "searching for: " + $"{sortOrder} {searchterm} type:model" );
 
        var q = await Package.FindAsync( $"{sortOrder} {searchterm} type:model" );
 
        if ( q.Packages.Length > 0 )
        {
            return q.Packages.FirstOrDefault();
        }
        else
        {
            var split = modelName.Split( ' ' );
            if ( split.Count() == 1 )
            {
                return null;
            }
            else
            {
                foreach ( var item in split )
                {
                    Log.Info( "searching for: " + $"{sortOrder} {item} type:model" );
 
                    var q2 = await Package.FindAsync( $"{sortOrder} {item} type:model" );
 
                    if ( q2.Packages.Length > 0 )
                    {
                        return q2.Packages.FirstOrDefault();
                    }
                }
                return null;
            }
 
        }
    }
 
var searchTerm = "name"
var result = await Package.FindAsync( $"sort:popular {searchTerm} type:clothing", ItemsToRequest, Items.Count );

Sort Options sort=popular sort=quality sort=trending sort=created sort=updated sort=thumbsup sort=bestrated sort=hiddengem