This is a community effort to document the technical aspects of No Man's Sky's internal workings as well as acquaint aspiring modders with all of the possibilities of what you can do with the game!
Modding No Man's Sky is also an on-going research effort and, as such, many pages will change over time as Hello Games, creators of No Man's Sky, release new patches and as various mod and tool authors publish new ideas and techniques.
How you can help! Edit
Research work is paramount to the continued existence and improvement of mods; as many aspects of No Man's Sky remain hidden away behind untested properties and attributes that cannot be understood without trial and error. As such, experimentation is necessary to learn more about these unknown aspects and interactions of the game.
Listed within the current state of modding article is what can and can't be done, so far as we're presently aware. Within that article are links to places you can contribute findings and find tools that you may help develop further.
If you are willing to assist in advancing research of the game's internal mechanics, please update this wiki with findings as well. We are looking for adventurous individuals to experiment on some of the more obscure aspects of what modding has revealed so far. Hit us up in the NMS Modding Discord channel, and thanks so much for reading this far!
If you're completely unfamiliar with modding, check out the Getting Started topic!
If you've read through Getting Started and want to get right into something quick, you might try your hand at adding existing objects to the build menu. This can give you a first taste of what it's like to make a mod, and the interconnected nature of files within even a relatively simple mod.
Once you've read both of those entries, and in case you've not followed their links, you might check out Compiling Mods. This page covers the basics of putting together your mod after you've finished adjusting all the files related to your mod.
Reference Guides Edit
A list of all internal names for things in game can be found in the Reference Table.
For all the commands and object types supported by the model importer see this Reference Guide.
Tutorials and Tools Edit
- Importing your own custom models in-game!
- Test mods rapidly without having to frequently repack files via Unpacked Mode! Note: this is advised for more experienced modders.
- NMS Modding Station - A little helper for creating mods for No Man's Sky. This tool was created to ease up the process of putting a mod together. Its primary aim is to cut down on some of the steps that are currently being done by hand but can be accomplished programmatically, such as repacking modified MBINs.
- MBINCompiler - the quintessential tool for decompiling the encrypted serialized XML, i.e. MBIN files No Man's Sky formats all of its configurations in!
- No Man's Model Viewer - explore the original models and model arrangements (i.e. layouts) shipped with the game! Note: original source code is here, with notes on usage & keyboard shortcuts in the Wiki tab.
- NMS Blender Export Plugin - the only tool that makes importing custom models possible!
- PSARCTool - this handy tool will allow you to extract the PAK files No Man's Sky stores all of its assets and data in.
- NMSE (No Man's Sky Script Extender) - similar to script extenders in games like The Elder Scrolls: Skyrim, new functionality can be added through NMSE via external scripting
Advanced Topics Edit
For more advanced modders, individual files and descriptions will be listed below!
Game Assets and Objects (SCENEGRAPHS) Edit
- SCENE files - similar to a prefab and holds information about in-game objects all the way from models, behaviors to audio, particle effects and more.
- ENTITY files - the MBIN that defines interactions and behaviors of objects.
- GEOMETRY files - the format in which 3D models are stored in
- MATERIAL files - defines the texture maps and shader flags to be used
- DESCRIPTOR files - handles the nested hierarchies of procedural generation in-game
- ANIM (Animation) files - (no research on this yet)
- LSYSTEM files - a facet of procedural generation that introduces more control with custom rule sets on procedural objects in-game, such as how outposts with enterable interiors are generated (needs more research)
Engine Configurations and Tools (METADATA) Edit
- Spawning SCENE files
- Terrain generation parameters