A Stream Deck XL with the NMS Deck layout: Back, health 84, shield 100, hull 620, Follow on, a Planet & System folder, units 4,215,880, nanites 3,120, quicksilver 1,250, folders for On Foot, Ship, Exocraft, Building, Galactic Map and Photo Mode, and game-control keys such as Visor F, Scan C, Pulse Space and Galaxy Map M, with Launch in the corner.
The NMS Deck layout on a Stream Deck XL. Every number here is made up.

What you need

  • No Man's Sky on Steam, on Windows.
  • Windows 10 or 11 with Stream Deck software 7.1 or newer. There are layouts for the Stream Deck, XL, + and Neo.
  • Python 3.9 to 3.13 from python.org. Not the Microsoft Store version, and not 3.14, which NMS.py does not support yet.
  • NMS.py, a free, open-source modding framework for No Man's Sky, and the NMS Deck bridge, a small NMS.py mod that comes with the plugin. The plugin installs both.

1. Install the plugin

Coming to the Elgato Marketplace. NMS Deck is in testing. Once it is on the Marketplace, install it from there and Stream Deck loads it automatically, with the bridge and the layouts for every Stream Deck inside it.

2. Python, NMS.py and the bridge

  1. Install Python 3.13 from python.org, ticking Add python.exe to PATH in the installer.
  2. Put any NMS Deck key on your deck, the NMS Deck key is the obvious one, click it, and expand Setup in its settings. It lists what it found: Python, NMS.py and the bridge.
  3. Press Install NMS.py. It runs pip install nmspy, which downloads NMS.py from PyPI; this can take a minute.
  4. Press Install the bridge. If NMS.py has no mods folder yet, the bridge gets one of its own (%APPDATA%\NMSDeck\mods), away from the game's GAMEDATA\MODS. If you already use NMS.py with other mods, the bridge joins them and your settings are left alone.

When a plugin update brings a newer bridge, Setup says so and the same button updates it.

Installing the bridge by hand

The button is the easy way, but the bridge is also here on its own, the same version that comes with the plugin:

Download the NMS Deck bridge 0.5.2 NMS.py mod · 9 KB zip

The bridge is open source (MIT), so you can read exactly what it does: github.com/AussieH/nms-deck-bridge.

  1. Install NMS.py: python -m pip install nmspy.
  2. Put nms_deck_bridge.py in the mods folder NMS.py is set to: mod_dir in %APPDATA%\pymhf\nmspy\pymhf.local.toml. Running pymhf run nmspy once asks for it if it is not set.

3. Start the game

NMS.py loads mods by starting the game itself, so start No Man's Sky with the plugin's Launch key rather than Steam's Play button. NMS.py asks Steam to run the game and brings the bridge in; its small window opens minimised and closes with the game. Load your save and the keys come alive within a second or two.

NMS.py has a control panel of its own, which slows the game down. Where NMS Deck set NMS.py up, the panel is off, and the Launch key keeps it off after NMS.py updates (NMS.py's own defaults can otherwise switch it back on; the original file is kept as pymhf.toml.nmsdeck-backup). If you set NMS.py up yourself and want the panel, it is left alone.

4. The NMS Deck key and its layout

You do not import a profile. Put the NMS Deck key on your own profile and press it: the deck switches to a layout made for it, with Back in the corner to return where you were. The layouts live inside the plugin, so they do not clutter your profile list, and there is one for each kind of Stream Deck.

The layout follows the game. Get into your ship and it turns to the Ship page, get out and it turns to On Foot, and the same for an exocraft. It turns once each time, so you can still go to another page yourself. The Follow key on the main page switches this on and off. In a space station or a freighter hangar the game does not say whether you are sitting in your ship, so nothing turns there.

Every key is also in the NMS Deck category of the actions list, so you can build your own page instead and drag in only the keys you want. Leave their titles empty; the keys draw their own.

5. The keys

KeyShows
ReadoutOne reading: health, shield, hull, units, nanites, quicksilver or speed; a charge (life support, hazard protection, launch thruster, pulse engine, hyperdrive, deflector) as a percentage with a bar; the planet, weather, flora, fauna, resources or scrap; the system's economy, conflict, race or star; your ship's name and class; your galactic coordinates or portal address
GaugeA bar for health, shield, hull or a charge, on one key or stretched across a row of them, or on a Stream Deck + dial's strip of the touch screen
NMS DeckOpens the layout for your deck; its Back key returns you
FollowSwitches the layout following the game on and off
LaunchStarts No Man's Sky through NMS.py, with the bridge
Game controlsThe game's default keys for on foot, ship, exocraft, building, the galactic map and photo mode, each showing the key it sends

Speed is what the HUD shows, in the ship and in an exocraft. Charges are for whichever ship you are flying. The planet's words come from the game's own text, so they read the way they do in game. Wealth and conflict show the plain level (poor, high); the galaxy map picks a synonym for them, such as Destitute or Alarming.

6. The pages

The Ship page on a Stream Deck XL: bars three keys wide for hull 620, launch 90%, pulse 68% and hyperdrive 45%, stacked one above the other, the ship Aurora Driftwing, S class, the deflector at 100%, speed 1,180 u/s, and ship controls such as Pulse, Land Exit, Galaxy Map, Scan and the target keys.
The Ship page: its bars stacked top to bottom on an XL.
The On Foot page: bars for health, shield, life support and hazard protection, speed, and on-foot controls such as Scan, Visor, Torch, Jetpack, Melee and Reload.
On Foot: health, shield, life support and hazard protection.
The Planet & System page: the planet Veyastra Minor, a Paradise Planet, with Mild Rain, Bountiful flora, Frequent fauna, Numerous rich resources and Salvageable scrap; a Manufacturing economy, wealthy, Low conflict, Korvax, a Green star with 5 planets; the location in Euclid with galactic coordinates and a portal address; and Visor, Scan, Galaxy Map, System Map, Quick Menu, Inventory and Options.
Planet & System, from a made-up planet.

The main page has your stats and a folder for each part of play: On Foot, Ship, Exocraft, Building, Galactic Map, Photo Mode, and Planet & System. The planet keys show the planet you are on, and say in space when you are not on one.

7. Bars and the Stream Deck +

A Stream Deck + with the Ship page: the deflector, the ship's name and class, target and ship controls, and the touch strip showing hull 620, launch 90%, pulse 68% and hyperdrive 45% as bars over the four dials.
On a Stream Deck +, the ship's bars sit on the touch strip.

A Gauge key draws its own slice of one bar, so a row of them reads as one bar across the keys. To build one on your own profile, put a Gauge on each key of the row, all showing the same thing, set Keys wide to the row's length, and number them from the left. The first key carries the name, the last the number. On a Stream Deck + dial, a Gauge fills that dial's strip of the touch screen instead.

Health, shield and hull have no maximum in the game's data, so their bars fill against the most seen since Stream Deck started. The charges are exact.

8. What it can and cannot do

  • The bridge only reads. It changes nothing in the game or your save, and cheats nothing.
  • It writes one small file, %APPDATA%\NMSDeck\state.json, once a second, and a short probe.txt once a session listing what it could read. The plugin reads that file and nothing else from the game.
  • Nothing goes online, apart from Install NMS.py downloading NMS.py from PyPI when you press it. No account, no login, no ports. The plugin's log records states, never your currencies, location or names.
  • It reads what your own game knows, so it works in single player and in multiplayer sessions alike.

Troubleshooting

Six keys: game not running, launch with NMS Deck, at the menu, update the bridge, Launch saying set up first, and a weather key saying in space.
What the keys say when there is nothing live to show.
The key saysWhat it means
game not runningNo Man's Sky is closed; start it with the Launch key
launch with NMS DeckThe game is running but the bridge is not: it was started from Steam rather than through NMS.py, or the bridge is not installed. Quit and start it with the Launch key
at the menuThe game is on its title screen; load a save
update the bridge / update the pluginThe two versions do not match; Install the bridge in Setup puts in the one that came with the plugin, and the game needs a restart to load it
set up first (Launch)Python, NMS.py or the bridge is missing; Setup in the key's settings says which
in space (planet keys)You are not on a planet

It stopped working after a No Man's Sky update

NMS.py finds its way around the game by patterns, and a game update can move things until NMS.py catches up. The bridge finds most of what it reads by shape rather than fixed positions, so many updates do not affect it. When NMS.py is updated, Install NMS.py in Setup brings in the new version. Nothing is wrong with your deck or your save.

The page did not turn when I got into my ship

Check the Follow key says ON. In a space station or a freighter hangar the game reads the same whether you are walking or sitting in your ship, so the page turns once you fly out.

Frequently asked

Why start the game with the Launch key?

NMS.py loads its mods by starting the game itself. Started from Steam's Play button, the game runs without NMS.py, and the keys say launch with NMS Deck.

Does it show sentinels, or my freighter's expeditions?

Not yet. The sentinel level the discovery pages show is not where the planet's other details are, and expeditions are kept in a way the bridge cannot read live yet. Both are on the list.

Does it use my custom planet and ship names?

Your ship's name, yes. Planets show the game's original name for now: renamed discoveries are stored apart from the planet itself.

Is it made by Hello Games?

No. NMS Deck is an unofficial fan project, not affiliated with or endorsed by Hello Games. No Man's Sky is a trademark of Hello Games Ltd. NMS.py is a separate open-source project. Every glyph on the keys is original artwork; no game art is used.

Something is still wrong.

Email support@teatimeservers.ca with what the key says, what Setup lists, and the file %APPDATA%\NMSDeck\probe.txt, and we will take a look.