If you're seeing “91” pop up in Roblox Studio’s asset compression warnings like “Asset compression failed with error 91” or “Error 91: invalid asset data” you’re not dealing with a script bug or network hiccup. It’s a specific, fixable issue tied to how Roblox handles compressed assets during upload, especially for meshes, textures, and audio files. This isn’t about general optimization it’s about why that exact error number appears, what triggers it, and how to resolve it without guesswork.

What does “Roblox how to 91 asset compression techniques” actually mean?

The phrase refers to practical steps for resolving Roblox error 91, which occurs when Studio fails to compress an asset before uploading it to Roblox. Compression here means Roblox’s internal process of converting raw files (like .fbx, .png, or .wav) into its optimized format. Error 91 specifically signals that the input file is either malformed, unsupported, or exceeds internal size or structure limits not that your internet is slow or your script has a typo. It’s a file-level issue, not a code-level one.

When do developers run into error 91?

You’ll hit error 91 most often when:

  • Uploading a mesh with non-manifold geometry, missing UVs, or unsupported bone weights
  • Importing a texture larger than 4096×4096 pixels or saved in a non-standard color profile (e.g., CMYK)
  • Trying to upload an audio file with a sample rate higher than 48 kHz or in a container Roblox doesn’t support (like FLAC or MP4 audio)
  • Using third-party tools that export files with embedded metadata or custom chunks Roblox’s compressor can’t parse

It’s common during rapid iteration say, dragging a new character model from Blender straight into Studio without checking export settings first.

How do you fix error 91 step by step?

Start with the asset type you’re uploading:

  • For meshes: Re-export from your 3D tool using FBX 2018/2019 binary, triangulate faces, apply transforms, and disable “embed media” or “bake animations.” In Blender, use “Apply Scale” and “Clear Custom Split Normals” before exporting.
  • For textures: Resize to power-of-two dimensions (e.g., 1024×1024, 2048×2048), save as PNG or JPEG with sRGB color space, and strip EXIF/IPTC metadata using a tool like ExifTool.
  • For audio: Convert to mono or stereo WAV at 44.1 kHz or 48 kHz, 16-bit depth, and ensure no loop markers or embedded cues are present.

After re-exporting, try uploading again. If error 91 persists, test with a minimal version of the same asset e.g., a blank plane mesh or 64×64 white texture to isolate whether the issue is structural or content-based.

What’s the difference between error 91 and other Roblox upload errors?

Error 91 is distinct from errors like 500 (server timeout), 403 (permissions), or 104 (network reset). Those usually point to connection or account issues. Error 91 always points back to the file itself and only appears after Studio finishes reading the file but before it finishes compressing it. That timing tells you the problem isn’t upstream (your internet) or downstream (Roblox servers), but local to how the file was prepared.

Common mistakes people make trying to fix error 91

Some developers rename files, change folder names, or toggle “Compress Textures” in Studio settings but those don’t affect error 91. Others assume it’s related to script performance tuning or memory usage reduction, but error 91 happens before any script runs. Another frequent misstep: retrying the same broken file multiple times hoping it “just works.” It won’t unless the file changes.

Can plugins or Roblox Studio versions cause error 91?

Rarely. Error 91 is consistent across Studio versions because it’s handled by Roblox’s backend compression service not the client. However, newer Studio versions sometimes surface the error more clearly (e.g., “Failed to compress mesh: error 91”) versus older ones that just say “Upload failed.” If you recently updated Studio and started seeing error 91 where you didn’t before, check whether your export workflow changed not the app itself.

Next step: verify and simplify

Before uploading anything else, test with one clean asset: export a basic cube from Blender as FBX (no materials, no armature), import it into Studio, and publish. If that works, your pipeline is sound you just need to adjust the problematic file’s export settings. If it fails, double-check your Roblox account permissions and firewall settings, since rare cases involve corporate networks blocking Roblox’s compression endpoints. For ongoing work, keep a checklist handy especially if you’re collaborating with artists or using automated build tools. You can also refer to our full asset compression reference page for export presets per DCC tool.