Play Skyrim as a Minecraft player: Minecraft physics, inventory, blocks and combat inside Skyrim's world (SKSE plugin + Fabric mod).
C++
658
7 commits
updated Oct 1, 2026

Play Skyrim as a Minecraft player. You move with Minecraft's physics, carry Minecraft's inventory and HUD, and place and break blocks in Skyrim's world. You fight Skyrim's NPCs with Minecraft weapons, and they fight back.
Neither game is rewritten. Minecraft runs its own game logic, and Skyrim runs its world, NPCs, quests and saves. A Skyrim SKSE plugin and a Minecraft Fabric mod talk to each other through shared memory. Minecraft runs hidden in the background, and Skyrim draws everything.
Status: early and experimental. Expect rough edges, and back up your saves. This is a fan project. It isn't affiliated with Mojang, Microsoft, Bethesda or ZeniMax, and you need to own both games.
Skyrim
| Skyrim Special Edition, Anniversary Edition runtime (1.6.x / 1.7.x) | Developed and tested on 1.7.104. Not SE 1.5.97, not VR. |
| SKSE64 | For your game version |
| Address Library for SKSE Plugins | The "All in one (Anniversary Edition)" file |
Heavily recommended: Alternate Start - Live Another Life. Skyrim's opening (the cart ride and Helgen) is heavily scripted and may not work with SkyCraft, so you can get stuck. Alternate Start skips it and lets you choose where your new character begins. Otherwise, play from a save made after Helgen.
Minecraft
You only need a Microsoft account that owns Minecraft: Java Edition. SkyCraft comes with everything else: a portable Prism Launcher set up with Minecraft 26.3, Fabric, Fabric API and the SkyCraft Minecraft mod. Prism downloads Minecraft and Java itself.
Minecraft runs hidden next to Skyrim. Budget about 3 GB of extra RAM, about 1.5 GB of disk for Minecraft's own files, and a GPU that runs Minecraft 26.3.
SkyCraft-<version>.zip with Mod Organizer 2 or Vortex, like any SKSE plugin.%LOCALAPPDATA%\SkyCraft and a small Prism Launcher window asks you to sign in with your
Microsoft account. Alt-Tab to it, sign in, then go back to Skyrim. Prism downloads Minecraft,
Fabric and Java (a few minutes, first time only), and Skyrim's corner messages tell you when
Minecraft is ready.Updating: install the new SkyCraft zip over the old one. The next start updates the Minecraft side too and keeps your sign-in and your world.
Uninstalling: remove the mod, then delete %LOCALAPPDATA%\SkyCraft. That folder holds Prism, your
Microsoft sign-in (Prism's), Minecraft's files and your SkyCraft world.
Data/SKSE/Plugins/SkyCraft.ini can point SkyCraft at your own Prism, MultiMC or .bat file instead:
[Minecraft]
bStartWithSkyrim = 1 ; 0: start Minecraft yourself, any way you like
sLauncher = ; empty: the Minecraft that comes with SkyCraft
sArguments = --launch SkyCraft ; what your launcher needs to start the SkyCraft instance
Your instance needs Minecraft 26.3, Fabric Loader 0.19.5 or newer, Fabric API, Java 25 and
skycraft-fabric-<version>.jar (from the release), plus -Dskycraft.startHidden=true in its
JVM arguments if it should stay hidden from the start. SkyCraft never starts a second Minecraft if
one with the mod is already running. It starts Minecraft through Windows' shell, so under Mod
Organizer Minecraft stays outside MO2's virtual file system and doesn't keep MO2 locked.
Everyone needs their own Skyrim with SkyCraft. Only the Minecraft world is shared: blocks, items, mobs and each other. Up to 100 players. Each player keeps their own Skyrim world, NPCs and quests.
abc-def.e4mc.link
in chat. Click it to copy it, then send it to your friends./join abc-def.e4mc.link. Your Minecraft leaves its own
world and joins the host's./leave goes back to your own world. If the host closes their world, you're put back in
yours automatically.With Discord: your Discord status shows SkyCraft while you play. Once you've opened your world to LAN it has a Join button (and you can invite friends from a Discord chat). A friend with Skyrim and SkyCraft already running clicks it and joins you, no link needed.
Minecraft has priority. These keys still go to Skyrim:
| Key | Does |
|---|---|
| G | Skyrim activate: doors, NPCs (talk), containers, levers, furniture |
| Esc | Skyrim menu (or closes an open Minecraft screen) |
| J / M | Skyrim journal / map |
| H | Skyrim wait |
| F9 | Skyrim quickload (save from the Esc menu) |
| ~ | Skyrim console |
| O | Minecraft pause / options menu |
Every other key is Minecraft's: E inventory, F5 camera, T chat, / commands, Shift crouch/sneak, and so on.
If something goes wrong, Documents\My Games\Skyrim Special Edition\SKSE\SkyCraft.log says what.
For bug reports, set bDiagnostics = 1 in SkyCraft.ini for detailed logs.
Stuck on "SkyCraft: starting Minecraft..."? After a minute SkyCraft says which of these it is:
%LOCALAPPDATA%\SkyCraft\Prism\instances\SkyCraft\.minecraft\logs\latest.log.SkyCraft.log and that
latest.log.You need to own Minecraft: Java Edition.
Skyrim's opening (cart ride and Helgen) may leave you stuck. Use Alternate Start or a save made after Helgen.
Skyrim's inventory, magic, shouts and perks can't be opened while Minecraft drives the player.
Minecraft hits only reach NPCs, not Skyrim objects such as the web around Arvel in Bleak Falls Barrow. There's no in-game switch back to plain Skyrim yet. Closing Minecraft hands control back to Skyrim; Minecraft keeps what it last autosaved, every few minutes. Deal with the object, then restart Skyrim to bring Minecraft back.
Sign text isn't drawn yet.
All Skyrim interiors share one Minecraft world, so blocks placed in one interior can appear in another at the same coordinates.
Multiplayer syncs only the Minecraft world. Each player has their own Skyrim, and guests can't hit their own Skyrim NPCs yet.
Mods that also take over the camera (Improved Camera SE, SmoothCam, True Directional Movement) will conflict.
You need Visual Studio 2026 (C++), CMake 3.25+, Git, and JDK 25.
git clone --recursive <this repo> skycraft
cd skycraft
git clone https://github.com/microsoft/vcpkg .tools\vcpkg
.tools\vcpkg\bootstrap-vcpkg.bat
cd skse
cmake --preset default
cmake --build --preset release
cd ..\fabric
gradlew build
cd ..
powershell -ExecutionPolicy Bypass -File tools\package.ps1 -NoBuild
tools\package.ps1 builds both halves (drop -NoBuild) and writes the release files to dist\.
For development:
fabric\gradlew runClient starts a dev Minecraft that stays running when Skyrim closes.SKYCRAFT_DEPLOY_DIR (preset default: the MO2 mod folder mods\SkyCraft, if it exists),
each plugin build is copied straight into Mod Organizer.docs\DESIGN.md explains how the two halves fit together, and protocol\skycraft_protocol.h
is the shared-memory layout both sides follow.| Folder | |
|---|---|
skse/ | The Skyrim SKSE plugin (C++, CommonLibSSE-NG) |
fabric/ | The Minecraft Fabric mod (Java) |
protocol/ | The shared-memory protocol between them |
tools/ | Packaging, test stand-ins (fake_skyrim.py, fake_guest.py) and diagnostics |
C++
54.8%
Java
40.1%
Python
3.8%
Play Skyrim as a Minecraft player: Minecraft physics, inventory, blocks and combat inside Skyrim's world (SKSE plugin + Fabric mod).
C++
658
7 commits
updated Oct 1, 2026

Play Skyrim as a Minecraft player. You move with Minecraft's physics, carry Minecraft's inventory and HUD, and place and break blocks in Skyrim's world. You fight Skyrim's NPCs with Minecraft weapons, and they fight back.
Neither game is rewritten. Minecraft runs its own game logic, and Skyrim runs its world, NPCs, quests and saves. A Skyrim SKSE plugin and a Minecraft Fabric mod talk to each other through shared memory. Minecraft runs hidden in the background, and Skyrim draws everything.
Status: early and experimental. Expect rough edges, and back up your saves. This is a fan project. It isn't affiliated with Mojang, Microsoft, Bethesda or ZeniMax, and you need to own both games.
Skyrim
| Skyrim Special Edition, Anniversary Edition runtime (1.6.x / 1.7.x) | Developed and tested on 1.7.104. Not SE 1.5.97, not VR. |
| SKSE64 | For your game version |
| Address Library for SKSE Plugins | The "All in one (Anniversary Edition)" file |
Heavily recommended: Alternate Start - Live Another Life. Skyrim's opening (the cart ride and Helgen) is heavily scripted and may not work with SkyCraft, so you can get stuck. Alternate Start skips it and lets you choose where your new character begins. Otherwise, play from a save made after Helgen.
Minecraft
You only need a Microsoft account that owns Minecraft: Java Edition. SkyCraft comes with everything else: a portable Prism Launcher set up with Minecraft 26.3, Fabric, Fabric API and the SkyCraft Minecraft mod. Prism downloads Minecraft and Java itself.
Minecraft runs hidden next to Skyrim. Budget about 3 GB of extra RAM, about 1.5 GB of disk for Minecraft's own files, and a GPU that runs Minecraft 26.3.
SkyCraft-<version>.zip with Mod Organizer 2 or Vortex, like any SKSE plugin.%LOCALAPPDATA%\SkyCraft and a small Prism Launcher window asks you to sign in with your
Microsoft account. Alt-Tab to it, sign in, then go back to Skyrim. Prism downloads Minecraft,
Fabric and Java (a few minutes, first time only), and Skyrim's corner messages tell you when
Minecraft is ready.Updating: install the new SkyCraft zip over the old one. The next start updates the Minecraft side too and keeps your sign-in and your world.
Uninstalling: remove the mod, then delete %LOCALAPPDATA%\SkyCraft. That folder holds Prism, your
Microsoft sign-in (Prism's), Minecraft's files and your SkyCraft world.
Data/SKSE/Plugins/SkyCraft.ini can point SkyCraft at your own Prism, MultiMC or .bat file instead:
[Minecraft]
bStartWithSkyrim = 1 ; 0: start Minecraft yourself, any way you like
sLauncher = ; empty: the Minecraft that comes with SkyCraft
sArguments = --launch SkyCraft ; what your launcher needs to start the SkyCraft instance
Your instance needs Minecraft 26.3, Fabric Loader 0.19.5 or newer, Fabric API, Java 25 and
skycraft-fabric-<version>.jar (from the release), plus -Dskycraft.startHidden=true in its
JVM arguments if it should stay hidden from the start. SkyCraft never starts a second Minecraft if
one with the mod is already running. It starts Minecraft through Windows' shell, so under Mod
Organizer Minecraft stays outside MO2's virtual file system and doesn't keep MO2 locked.
Everyone needs their own Skyrim with SkyCraft. Only the Minecraft world is shared: blocks, items, mobs and each other. Up to 100 players. Each player keeps their own Skyrim world, NPCs and quests.
abc-def.e4mc.link
in chat. Click it to copy it, then send it to your friends./join abc-def.e4mc.link. Your Minecraft leaves its own
world and joins the host's./leave goes back to your own world. If the host closes their world, you're put back in
yours automatically.With Discord: your Discord status shows SkyCraft while you play. Once you've opened your world to LAN it has a Join button (and you can invite friends from a Discord chat). A friend with Skyrim and SkyCraft already running clicks it and joins you, no link needed.
Minecraft has priority. These keys still go to Skyrim:
| Key | Does |
|---|---|
| G | Skyrim activate: doors, NPCs (talk), containers, levers, furniture |
| Esc | Skyrim menu (or closes an open Minecraft screen) |
| J / M | Skyrim journal / map |
| H | Skyrim wait |
| F9 | Skyrim quickload (save from the Esc menu) |
| ~ | Skyrim console |
| O | Minecraft pause / options menu |
Every other key is Minecraft's: E inventory, F5 camera, T chat, / commands, Shift crouch/sneak, and so on.
If something goes wrong, Documents\My Games\Skyrim Special Edition\SKSE\SkyCraft.log says what.
For bug reports, set bDiagnostics = 1 in SkyCraft.ini for detailed logs.
Stuck on "SkyCraft: starting Minecraft..."? After a minute SkyCraft says which of these it is:
%LOCALAPPDATA%\SkyCraft\Prism\instances\SkyCraft\.minecraft\logs\latest.log.SkyCraft.log and that
latest.log.You need to own Minecraft: Java Edition.
Skyrim's opening (cart ride and Helgen) may leave you stuck. Use Alternate Start or a save made after Helgen.
Skyrim's inventory, magic, shouts and perks can't be opened while Minecraft drives the player.
Minecraft hits only reach NPCs, not Skyrim objects such as the web around Arvel in Bleak Falls Barrow. There's no in-game switch back to plain Skyrim yet. Closing Minecraft hands control back to Skyrim; Minecraft keeps what it last autosaved, every few minutes. Deal with the object, then restart Skyrim to bring Minecraft back.
Sign text isn't drawn yet.
All Skyrim interiors share one Minecraft world, so blocks placed in one interior can appear in another at the same coordinates.
Multiplayer syncs only the Minecraft world. Each player has their own Skyrim, and guests can't hit their own Skyrim NPCs yet.
Mods that also take over the camera (Improved Camera SE, SmoothCam, True Directional Movement) will conflict.
You need Visual Studio 2026 (C++), CMake 3.25+, Git, and JDK 25.
git clone --recursive <this repo> skycraft
cd skycraft
git clone https://github.com/microsoft/vcpkg .tools\vcpkg
.tools\vcpkg\bootstrap-vcpkg.bat
cd skse
cmake --preset default
cmake --build --preset release
cd ..\fabric
gradlew build
cd ..
powershell -ExecutionPolicy Bypass -File tools\package.ps1 -NoBuild
tools\package.ps1 builds both halves (drop -NoBuild) and writes the release files to dist\.
For development:
fabric\gradlew runClient starts a dev Minecraft that stays running when Skyrim closes.SKYCRAFT_DEPLOY_DIR (preset default: the MO2 mod folder mods\SkyCraft, if it exists),
each plugin build is copied straight into Mod Organizer.docs\DESIGN.md explains how the two halves fit together, and protocol\skycraft_protocol.h
is the shared-memory layout both sides follow.| Folder | |
|---|---|
skse/ | The Skyrim SKSE plugin (C++, CommonLibSSE-NG) |
fabric/ | The Minecraft Fabric mod (Java) |
protocol/ | The shared-memory protocol between them |
tools/ | Packaging, test stand-ins (fake_skyrim.py, fake_guest.py) and diagnostics |
C++
54.8%
Java
40.1%
Python
3.8%