No Mans Sky - Language re-creation
Posted on May 8th 2026
In this tutorial, we're going recreate the No Mans Sky Language system. With this system you can't understand the language from another race, until you learn individual words to understand it. We also keep any localisation settings so you can make it work from any language.
We're using the brand new tool by JDA-2025 to display the blueprints. Its working great so far and the updates are pushing it further each time! Huge thanks to the team for letting me try it out!
Graph CapturerBlueprint Code
LOGIC BEHIND
The logic behind this design was to try and adapt it to support any language you can throw it at whilst maintaining the best chance at converting the alien languages to any real language. The tricky part was mapping words that some language use (descriptors, actions, directional prompts) with other languages that don't have them. A key example would be "My name is Dan" in English, but in some languages "Name Dan" is enough which isn't easy to map across.
We get around this by splitting the sentences into tags. Key parts that most if not all languages should have. E.g. you can't say your name is Dan without saying name and Dan in some aspect.
TAGS
Take the sentence "Hi, my name is Dan and I wrote this book".
You can split this into key words and language specific parts with little effort.
- Hi - [GREETING]
- Name - [RESPONSE_NAME]
- Dan - [NAME]
- Wrote - [ACTION_WROTE]
- Book - [ITEM_BOOK]
With these in mind, you can recreate the sentence enough in most languages: [GREETING] [RESPONSE_NAME] [NAME] [ACTION_WROTE] [ITEM_BOOK].
We take this logic, and check if the player has unlocked those key words in the language. E.g. GREETING. If they have, we just put the normal word in place (after Unreal has translated it). Meaning it can be in any order: [ACTION_WROTE] [ITEM_BOOK], [GREETING] [RESPONSE_NAME] [NAME] and it should still work.
Any tags not unlocked, we can simply place the Alien varient in.
FILLER WORDS
That just leaves the filler words my, is, and, I, this. You can technically turn those into tags too but some languages would struggle with it giving them less words to discover. So we treat those as "language grammer" or filler words.
In our system, (and as far as I'm aware in No Mans Sky too), we simply check how many of the tags exist and how many the player has unlocked. If they have unlocked more than 50% (or 75%) of the tags, we consider them "roughly fluent" in that language so we add the grammer parts. If not, we remove them.