PitPath

What we learned shipping Liverytool

Custom liveries give sim racing leagues a real sense of identity. They turn generic car models into recognizable team entries, highlight sponsor partnerships, and make broadcast streams fun to watch.

They are also an operational headache for league organizers. Before we built Liverytool for Low Fuel Motorsport, managing community liveries was an entirely manual chore: drivers uploaded loose ZIP files, administrators downloaded them, copied folders into local game directories, launched the simulator to verify that decals met community guidelines, and hoped textures did not cause game crashes on race night.

When a platform scales to tens of thousands of active drivers, manual verification breaks down. We needed a system that could take uploaded texture packages, validate them automatically, generate accurate 3D previews in the cloud, and sync them to drivers' PCs without friction.

Compositing layers in the browser

In modern simulators like Assetto Corsa Competizione, a car livery is rarely a single graphic wrapped around a 3D model. It is a composite of distinct pieces: compressed DDS decal files, base color definitions, and surface material maps for gloss and metallic roughness.

To let stewards inspect submissions in their browser and show drivers a dependable preview, we could not rely on static image uploads. We needed a web pipeline that could composite those distinct layers and produce an accurate turntable view.

Instead of spinning up heavy native game binaries on servers, we used headless browser workers running WebGL. When a driver uploads an archive, an isolated worker unpacks the layers, composites the textures onto a standardized 3D model, and outputs a clean preview within a few seconds. Stewards can inspect the car from any angle, and drivers get immediate confirmation that their design mapped correctly.

Good livery tooling turns hours of manual texture checks into an automatic preview generated in seconds.

Protecting driver storage

Generating 3D previews solved the verification bottleneck, but distribution created its own problem. If twenty drivers in a split each upload a 50 MB texture pack, forcing everyone to download every livery in the league would fill hard drives with tens of gigabytes of files they might never see.

We designed Liverytool's desktop client around race schedules:

  • Grid-scoped sync: The app checks which session the driver is registered for and downloads only the liveries for cars on that immediate grid.
  • Automatic cleanup: Once the race concludes and the session closes, opponent files are cleared from the local disk, leaving only the driver's own paint jobs intact.

Chores turned into background tasks

Managing custom liveries used to mean unzipping folders, checking file paths, and debugging missing decals before qualifying. Automating the pipeline alongside the wider Low Fuel Motorsport platform rebuild proved that good sim racing infrastructure should handle those steps quietly in the background.

Drivers see their team colors on the starting grid, league admins keep their sanity, and nobody has to spend race evening organizing folders.

If you are curious about the other tools we build for virtual motorsport, explore our shipped projects.