The Rain World Collection Index is a comprehensive interactive archive created to help players explore and keep track of Rain World's lore. It provides a centralized place to browse all Pearls, Broadcasts, Dialogue and Projections from the Vanilla base game, Downpour DLC, The Watcher DLC and popular community mods. Let me show you how it came to be!
During my initial playthrough of Rain World and its DLCs in early 2024, I realized at some point just how much lore the game has to offer by finding more and more data pearls or by meeting the iterators with different slugcats. So, I started an Obsidian vault, slowly filling it with screenshots and dialogue snippets to connect Pearls, Echoes, and Broadcasts across the different campaigns without relying on external sources that contained spoilers. I tagged the entries in a way that I could quickly find related text, highlighted key snippets, and wrote down theories upon theories for each entry to piece the world together.

I had a lot of fun theorizing on how the world was connected. This work was highly manual however, as for every dialogue, I had to either manually type out the contents or use OCR to extract the text from the in-game collection tab. For the last few pearls, I also had to look up their locations, which is surprisingly hard to do without accidentally seeing the content of the pearls attached to them right away. After finishing the game and being satisfied with myself for having figured out almost every aspect of the world myself (partially thanks to the more explicit context that Downpour added), I couldn't get the thought out of my head of making a more streamlined and spoiler-friendly way of tracking pearls and all other dialogue.
It took me a while, but eventually the idea grew on me so much that I had to do it. The goal was to build a spoiler-protected web application that visually mimics the in-game collection menu with ALL in-game lore, while linking transcriptions directly to their respective interactive map locations.
Since a project at work at the time required me to learn React for web development, I took this as an opportunity to learn the basics here. It took a while, but I eventually got into the functional aspects of building a component-based frontend. Structuring the game's data, however, was an entirely different topic. The basic pearls were simple enough, with their different transcriptions being well-documented. Other content, like Spearmaster's 11 story broadcasts—where pre-collapse map locations are dynamically replaced by post-collapse locations after meeting Five Pebbles—took a while to figure out, as there was no documentation on the wiki or elsewhere for this specific trigger logic. It was edge cases like these that required rewriting my data structures again and again. Leveraging React's state management, I eventually made it so a single transcription entry could reference multiple map coordinates dynamically via a dropdown menu. I also had to implement a custom decision-tree parser to visually represent the branching, randomized dialogue structures of the conversations with the iterators.
Over time, I added more and more features based on community feedback, like full-text search, filters for region, speaker, and type, and an export functionality to download high-resolution .png quote cards of the entries.
Playing The Watcher DLC, I knew what work would await me after completing it: Since the DLC was out for just a week, there were barely any documented dialogues, as everyone was still playing the game for themselves. So, I had to resort to experimenting with the game for myself using the developer tools. After being unable to figure out some of the conditions that trigger certain dialogue or finding the source identifiers for the conversations, I had to apply some reverse-engineering techniques.
This required decompiling the game's C# assemblies (Assembly-CSharp.dll) using dnSpy to trace the exact trigger logic.
Since I was already documenting the game's internal code, I built a "Source View" feature into the web app.
This feature allows users to toggle a panel to inspect the exact internal identifiers, raw text strings, and decompiled trigger conditions alongside the formatted transcripts.
When The Watcher DLC received yet another major update, I was completely ready for it: The developers created an ARG which allowed free access to the update three days before the official release. This meant I had a small 72-hour window to have the Collection Index ready with the new information before the update was published to the wider player base, which I also managed to do. However, they definitely knew how to throw in a few curveballs to make my life harder: A new animated Pearl Reader for projections and audio files was introduced, meaning the project's rendering scope had to expand to multimedia. To capture clean footage of these projections for the index, I used the in-game dev tools to teleport into a dark chamber in Five Pebbles, manually disabling anti-gravity and background particles to isolate the visuals.
Slowly, I figured out that there were three types of projections:
Defined image projections, audio files (some with transcriptions), and some with randomly picked generic animations.
Because the game engine selects these random projections from a predefined pool, I forced the game to display a desired one by temporarily deleting all other .txt files in the game's source directory, ensuring the engine had only one valid file to pick.
The Collection Index quickly spread around the community, being referenced a couple of times per week in the Rain World Discord Server lore channels and other spaces. Since the page anonymously tracks page visits, I was able to determine that the site received over 22,500 unique visits from its release until today (2026-03-04), averaging roughly 100 unique visitors per day.
Where to go from here? I recently started to introduce the transcriptions and dialogues from the game's extensive modding scene as a separate dataset, allowing the exploration of community lore via the Index as well. Manual extraction from dozens of constantly updating mods was unfeasible, so I built an automated workflow that authenticates via the Steam CLI to download unpackaged workshop directories and extract all lore-related files. Because Rain World has the option to encrypt its text assets, I reverse-engineered the decryption algorithm and hashing salt via dnSpy, reimplementing it in a Python script.

Something really cool is that AndrewFM, the project lead for the More Slugcats Expansion which became Downpour, actually starred my repository. This felt like such an honor to me.
Other than that, here are some of the places the Collection Index was discussed or referenced in case you are interested:
- Resources and References
- My Announcements
- Discord
- i always use this for pearls+broadcasts+general dialogue
- contains every pearl, broadcast, and dialogue in the game
- This site was super helpful for me
- Thats the pearl archive
- Oh my God, where is this menu???
- like a database of the text and images and audio? also has other dialogue
- i prefer the collection index anyways bc the gifs on the pearl page go too fast, and the collection index has them seperated
- and also u can filter it to just be pearls too
- ChatGPT Incident: utm_source=chatgpt.com, someone used chatgpt to find the link to the rw collection index
- You can find all of the pearl readings here (among just about any other line of dialogue)
- Image is directly referenced
- epic, thank you
- Oh wow they got that stuff set up fast
- use collection
- this is cool, thanks!
- it has a search function for all.
- this is a very cool resource
- Lol, you can check out the handy dandy Lore files if you want to see
- I'll stop now, go check out the server yourself.