Game Asset Hosting

Game Asset Hosting From Your Build Pipeline

Host game sprites, audio, and binary assets on a global CDN. Upload via REST API from your build pipeline.

Web and downloadable games live or die on asset delivery: the first scene shouldn't stall while a sprite atlas trickles in, and a patch shouldn't force players to re-download the whole bundle. files.link is the CDN origin your build pipeline targets — not a game portal, but a plain REST endpoint you call from a post-build step. The flow fits CI naturally: after your Unity, Godot, or Phaser build emits its assets, a script runs the three-call upload (POST /v1/files/{folderId} returns {success, urls:[{url,id,...}]}; PUT each asset to its presigned URL; POST /v1/files/confirm-upload with {ids:[...]}), captures the returned CDN URLs, and writes them into your asset manifest or remote-config JSON.

At runtime the game pulls from the nearest edge instead of your origin. Concrete pipelines map cleanly. Unity Addressables: build your content catalog and bundles, upload the .bundle files and catalog_*.json, then set the Addressables RemoteLoadPath to the files.link CDN URLs so the engine streams content from the edge. Phaser/PixiJS: upload your texture atlases (the packed PNG plus the JSON frame data), audio sprites, and tilemaps, and point your preload() loader at the CDN URLs.

Godot: upload exported .pck/.zip packs or individual resources and load them with ProjectSettings/load_resource_pack against the hosted URL. Because files.link serves the exact bytes you upload with correct content-types, binary formats — WebGL .wasm and .data, compressed .br/.gz bundles, .ogg/.mp3 audio, .glb models — all download cleanly via curl on the first try, which matters when you're debugging a loader in CI.

Versioning is up to you and works either way: ship immutable filenames per build (atlas-7f3a.png) so CDN caches never serve stale content and old clients keep working, or overwrite in place and let cache TTLs expire. Public assets get permanent URLs; premium DLC or unreleased content can sit in private files behind signed URLs so a leaked manifest path doesn't hand out paid content.

Billing is prepaid credits debited by storage and delivery — crucially there are no per-play or per-download fees, so a game that suddenly gets a hundred thousand sessions costs bandwidth, not a punitive per-user surcharge, and you can cap storage in the dashboard. You can also host the playable build itself: upload the WebGL/HTML5 output (individually or as a ZIP) and reference it from your index.html, or hand the link to a portal that accepts external hosting.

Benefits With No Complexity

Global CDN delivery

Your files are served from 450+ edge locations worldwide.

Edge-cached worldwide

Files are cached close to your users for fast delivery.

Signed-URL security

Private files stay protected with time-limited access.

What You Get

Unlimited files

Upload as many files as you need.

Unlimited storage

There is no storage limit.

Public + Private storage

Private files are fully secured.

CDN ready links

Upload directly to 450+ edge locations worldwide.

Prepaid credits

No subscription. Pay only for the storage and bandwidth you use.

More coming soon

We have plenty of features coming!

How files.link Works

1. Upload

Create a project and upload your first file.

2. Copy

Copy the CDN link.

3. Use Anywhere

Paste and enjoy the blazing speed.

Why Developers Choose files.link

A Better Way to Store & Deliver Files

itch.io hostingAWS S3files.link
REST API for build-pipeline uploads
Global CDN delivery included
Public + private (signed-URL) assets
Correct content-types for binary bundles
Prepaid credits (no per-play/download fee)

Calculate Your Needs

Storage

0GB

Egress

0GB

CDN Bandwidth

0GB
Total: $0.000/month

Host Game Assets

  • Global CDN delivery
  • Edge-cached worldwide
  • Signed-URL security
  • Unlimited files
  • Unlimited storage
  • Public + Private storage
  • No subscription — prepaid credits keep spend predictable
Start Hosting Game Assets

Frequently Asked Questions

How do I wire this into Unity Addressables?
Build your catalog and .bundle files, upload them and catalog_*.json via the three-call REST flow, capture the CDN URLs, and set the Addressables RemoteLoadPath to point at them. The engine then streams content from the nearest edge instead of your origin.
Does Phaser or Godot work too?
Yes. For Phaser/PixiJS, upload texture atlases (PNG plus JSON frames), audio sprites, and tilemaps, and point preload() at the CDN URLs. For Godot, upload exported .pck/.zip packs and load them with load_resource_pack against the hosted URL.
How should I handle asset versioning?
Either ship immutable per-build filenames (atlas-7f3a.png) so CDN caches never serve stale assets and old clients keep working, or overwrite in place and let cache TTLs expire. Immutable naming is safer for live games with mixed client versions.
How do I protect premium DLC assets?
Keep free content on permanent public URLs and put paid or unreleased assets in private files served via short-lived signed URLs, so a leaked manifest path can't be used to download premium content directly.
Will a traffic spike cost me per player?
No. Prepaid credits debit by storage and delivery only — there are no per-play or per-download fees. A surge in sessions costs bandwidth, not a per-user surcharge, and you can set a max-storage cap in the dashboard.
General Questions
Is there a subscription?
No. files.link uses prepaid credits, so storage, bandwidth, and API usage are deducted from your balance as you go. The app explains the payment step before uploads are enabled — no monthly subscription and no per-user fees.
What is files.link?
files.link is a developer-first file platform that makes it simple to store, secure, and deliver files globally. It provides signed URLs, public/private access, and an API-first design so you can integrate file delivery into any app without the usual complexity.
How does billing work?
files.link uses prepaid credits. As you use storage, bandwidth, and API requests, credits are deducted daily. When your balance runs low, we automatically recharge it using your saved card. If an auto-recharge doesn't go through, your files and links stay put — you simply update your payment method or top up manually to keep going. No monthly subscriptions — just simple usage-based pricing.
How secure is my data?
All files are encrypted at rest and in transit. You can use signed URLs for private files, control access with permissions, and rely on enterprise-grade infrastructure for data protection.

Related

files.link
Copyright © 2026
All rights reserved
ContactGuidesGlossaryStatusLegal