This is the specifications for the archive file which is handled by the Game Extractor plugin Archive_ASSETS_21.

Endian Order:Little Endian
Compression:none
Encryption:None


This format is used by the following Games:
Astrodogs *.assets ress resource
Coffee Noir: Business Detective Game *.assets ress resource unity3d
A Musical Story *.assets ress resource
Bibots *.assets ress resource
The Darkest Tales: Into the Nightmare *.assets ress resource
Daggerfall Unity *.assets dfmod
Alba: A Wildlife Adventure *.assets ress resource
The Drone Racing League *.bytes
Old School Musical *.assets ress resource
The Captain *.assets ress resource
Hundred Days: Winemaking Simulator *.assets ress
Ring of Pain *.assets ress bundle
Tannenberg *.assets ress
Terraforming Mars *.assets ress resource
Demon's Tilt *.assets ress resource
Insurmountable *.assets ress resource
Windbound *.assets ress resource unity3d bundle
Greak Memories of Azur *.assets ress resource
Haven Park *.assets ress resource
Narita Boy *.assets ress resource
The Tale of Bistun *.assets ress resource
Murders on the Yangtze River *.bundle
Card Shark *.assets ress resource unity3d
Catie in MeowmeowLand *.assets ress resource
Dagon by H. P. Lovecraft *.assets ress resource
Looking for Aliens *.assets ress resource unity3d
Peglin *.assets ress resource
Reverie Knights Tactics *.assets ress resource
Terraformers: First Steps on Mars *.assets ress resource
Trifox *.assets ress resource
Zombie Rollerz *.assets ress resource
Zoria: Age of Shattering *.assets ress resource
Symphonia *.assets ress resource
Dream Time *.assets ress resource
Bridge Constructor: The Walking Dead *.assets ress resource
Idle Champions of the Forgotten Realms *.assets ress resource
Pine *.assets ress resource
Primordials: Battle of Gods *.assets ress resource
Stranded Deep *.assets ress resource
The Long Dark *.assets ress resource
Verdun *.assets ress resource
Guild of Darksteel *.assets ress resource
Happy Game *.assets ress resource
Hell Architect *.assets ress resource
Kraken Academy *.assets ress resource unity3d
Project Warlock 2 *.assets ress resource
Wolfstride *.assets ress bundle
Onde *.assets ress resource
Speed Brawl *.assets ress resource
Airhead *.assets ress resource
Inscryption *.assets ress resource
Tabletop Simulator *.assets ress resource
Vampire The Masquerade: Coteries of New York *.assets ress resource
Gods Will Fall *.assets ress resource
Death and Taxes *.assets ress resource
Dry Drowning *.assets ress resource unity3d
Heart of the Forest *.assets ress
Hellpoint *.assets ress resource
Kathy Rain *.assets ress resource
Khan vs Kahn *.assets ress resource
Red Wings: Aces of the Sky *.assets ress resource
Ring Of Pain *.assets ress
Showdown Bandit *.assets ress resource
Song of Farca *.assets ress resource unity3d
Spiritfarer *.assets ress resource
Stasis Bone Totem *.assets ress resource
The Longest Road on Earth *.unity3d
The Signifier *.assets ress resource
The Wall *.assets ress resource
Totally Accurate Battle Simulator *.assets ress resource
Ultrakill *.assets ress resource
Vesper *.assets ress resource


This is the format specification information:
 
// ARCHIVE HEADER
  4 - Unknown ((bytes)9,105,130,228)
  4 - Unknown ((bytes)247,127,0,0)
  4 - Version Number (22) (BIG ENDIAN)
  4 - Unknown (82)
  8 - Data Directory Offset [+14 + VersionStringLength] (BIG ENDIAN)
  8 - Size of Assets file (BIG ENDIAN)
  8 - Data Directory Offset (BIG ENDIAN)
  4 - null
  4 - Unknown (82)
  X - Version String (2020.1.0b15)
  1 - null Version String Terminator
  4 - Unknown
  1 - null
  4 - Number of Bases
  
// BASES DIRECTORY
  // for each Base...
    4 - ID Number
    if (IDNumber = 114){
      35 - Base Name (encrypted)
      }
    else if (IDNumber is positive){
      19 - Base Name (encrypted)
      }
  
4 - Number of Files
0-3 - null to a multiple of 4 bytes

// FILES DIRECTORY
  // for each file (24 bytes per entry)
    4 - ID Number (incremental from 1)
    4 - null
    8 - File Offset (relative to the start of the Data Directory) - points to the FilenameLength field
    4 - File Size
    4 - File Type Code
  
4 - Number of Small Offsets

// SMALL OFFSETS DIRECTORY
  // for each small offset
    4 - Type? (1)
    4 - Unknown Relative Offset
    4 - null
    
4 - Number of Linked Resources

// LINKED RESOURCE DIRECTORY
  // for each linked resource
    21 - Unknown
    X - Linked Resource Name
    1 - null Name Terminator
    
4 - null
0-3 - null Padding to 4 bytes
    
// DATA DIRECTORY
  // for each file
    4 - Filename Length
    X - Filename
    0-3 - null Padding to 4 bytes
    X - File Data
    
    


// "DIR" FORMAT
4 - Number of Referenced Files

// for each referenced file...
  4 - null
  4 - File ID of Referenced File
  4 - null

4 - null
4 - Folder Name Length
X - Folder Name
0-3 - null Padding to 4 bytes
4 - Unknown (65536)


// If the fileType == *.snd and the fileSize <= 76, then the *.snd file is a pointer to an external archive (eg *.resS or *.resource)...

// "SND" FORMAT
// --> Same as Fallout Shelter


// If the fileType == *.tex and the fileSize <= 96, then the *.tex file is a pointer to an external archive (eg *.resS or *.resource)...

// "TEX" FORMAT
4 - Unknown (4)
4 - null
4 - Width/Height? (1024)
4 - Width/Height? (1024/512)
4 - File Size
4 - null
4 - Image Format Code
4 - Mipmap Count
4 - Unknown (1)
4 - null
4 - Unknown (1)
4 - Unknown (2)
4 - Unknown (2/1)
4 - Unknown (1/0)
4 - null
4 - Unknown (1)
4 - Unknown (1)
4 - null
4 - Unknown (6)
4 - Unknown (1)
if (in external file){
  4 - null
  8 - File Offset (in external file)
  4 - File Size
  4 - External Archive Filename Length
  X - External Archive Filename
  0-3 - null Padding to 4 bytes
  }
else (in this file){
  4 - File Size
  X - File Data
  }


Game Extractor is able to read files of this type, as well as files from thousands of other games. To give it a try, download Game Extractor (Basic Version) for free, and see what it can do.

For further information on this format, refer to the source code on our GitHub repository.