IPFS is a decentralized storage protocol, that allows you to upload, download and stream to memory any kind of files.
Important note: from December 2022 IPFS plugin will be provided for free with full support. Future updates and new features will be added for free as well - including the dynamic chunk loader via IPFS. Once feature-complete it will enter an Open Source license for a community to help us improve and expand the tool further! All purchases for the plugin up to this change will be fully refunded. Refunds will be processed automatically via the Epic Games Marketplace system.
The InterPlanetary File System (IPFS) is a protocol, hypermedia and file-sharing peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting IPFS hosts. IPFS allows users to host and receive content in a manner similar to BitTorrent. As opposed to a centrally located server, IPFS is built around a decentralized system.
What you can do with the plugin?
· Store and share user-created content by string (JSON), textures, and sound waves.
· Store savegame files – to store references, classes, and other game-related objects.
· Read properties from NFTs using the metadata standard.
· Stream textures directly into memory to use in materials.
· Distribute game updates and packages via IPFS.
· Distribute Gameplay Features via IPFS.
· Create a virtual art gallery.
For who is it?
For any project that needs to store data or user-created content that is considered large in size. After uploading to IPFS all you need to do is store the CID identifier locally. Content can be recreated on any machine having the CID reference.
Modular Gameplay Features distribution
IPFS allows you to store build gameplay features, and distribute them. As they can be loaded at runtime – this solution would allow downloading and initialising a feature without leaving the game at all.
Features can be patches, updates, content packs, cosmetics packs, maps and other types of content.
Highly suited to game modding content distribution.
Thank you to Patrick Vane. Please visit his Low Entry Extended Library and other amazing products on the Marketplace!
Currently Supported providers
· Localhost (IPFS for desktop)
If you are planning to hold a large number of objects and data – consider using NFT.Storage or WEB3.Storage accounts! They got a terrific free account size up to 1 TiB (1099 GB).
For free you can store on average: 6.5 million textures, 25’000 4k RGBA textures, 125 000 Savegames (for large-scale open-world games)
Current Limitations & Roadmap
· Currently maximum file size is 100MB. We are working on a number of improvements to change that.
· We are working on introducing chunking and auto archive (CAR containers) to support any size of data.
· Stream progress info, and chunking info.
· Folder support – for both upload and download.
· IPNS – addressable mutable content that allows for a single CID to point to a stack of file versions. Great for patching!
· Dynamic chunk loader. We will introduce a way to build, package and ship games in a distributed manner and automatically download and load into the engine dynamic packages at runtime without the need of restarting the game.
· Load file from the disc into a bytes array
· Save bytes array to a disc file
· Get file/folder metadata (Stat Data)
· IPFS gateway configs
· IPFS Download File
· IPFS Stream Data
· IPFS Stream Image
· IPFS Stream String
· Send HTTP Request
· TSIF_Plugin (runtime)
Number of Blueprints: 0
Number of C++ Classes: 29
Network Replicated: Partial (same data accessibility guaranteed from remote clients using the same CID)
Supported Development Platforms: Windows
Supported Target Build Platforms: Win64, Linux, Android