Skip to content
Beta: this is a preview of the new SplitScreen.Me. Data may be reset before launch.

Nioh 3 · handler “Nioh 3”

Version 1 (current)

Release notes

First release

Released
Size
7.7 MB
Downloads
830
Check
Verified
SHA-256
77b48002645c13dac6d7ecff981c791c544f8eca9ea97e9c1b8a31255f814295
Download v1 (.nc)All versions

Files 15

PathSize
handler.js5.6 KB
Nioh3/coldloader.dll202 KB
Nioh3/coldloader.ini225 B
Nioh3/dinput8.dll106 KB
Nioh3/dlls.cfg29 B
Nioh3/steamclient64.dll17.0 MB
Nioh3/steamstub.dll296 KB
Nioh3/steam_appid.txt7 B
Nioh3/steam_settings/configs.app.ini573 B
Nioh3/steam_settings/configs.main.ini498 B
Nioh3/steam_settings/configs.overlay.ini3.9 KB
Nioh3/steam_settings/configs.user.ini1.6 KB
Nioh3/steam_settings/depots.txt30 B
Nioh3/steam_settings/steam_appid.txt7 B
Nioh3/steam_settings/steam_interfaces.txt843 B

handler.js

Plain text
Hub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Fri Apr 03 2026 23:44:58 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "BMfqDSf8fLwK9iYBa";
Hub.Maintainer.Name = "PoundlandBacon";
Hub.Maintainer.Id = "AdiAjSyfZPMvu3a4M";

Game.GameName = "Nioh 3";
Game.GUID = "Nioh3";
Game.ExecutableName = "nioh3.exe";
Game.KillMutex = ["Nioh3_Mutex"];
Game.SteamID = "3681010";
Game.UseGoldberg = false;
Game.MaxPlayers = 3;
Game.MaxPlayersOneMonitor = 3;

Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt"];

Game.UseNucleusEnvironment = true;
Game.UserProfileConfigPath = "AppData\\Local\\KoeiTecmo\\NIOH3";

// Game.PauseBetweenProcessGrab = 1;
Game.PauseBetweenStarts = 30;
Game.HandlerInterval = 100;

Game.SetWindowHook = true;
Game.HideTaskbar = false;
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "Nioh 3";
// Game.ResetWindows = true;
// Game.RefreshWindowAfterStart = true;
Game.SetForegroundWindowElsewhere = true;
Game.ToggleUnfocusOnInputsLock = true;

Game.SupportsKeyboard = false;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = false;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;

// Deprecated options
Game.HookSetCursorPos = false;
Game.HookGetCursorPos = false;
Game.HookGetKeyState = false;
Game.HookGetAsyncKeyState = false;
Game.HookGetKeyboardState = false;
Game.HookFilterRawInput = false;
Game.HookFilterMouseMessages = false;
Game.HookUseLegacyInput = false;
Game.HookDontUpdateLegacyInMouseMsg = false;
Game.HookMouseVisibility = false;
Game.SendNormalMouseInput = false;
Game.SendNormalKeyboardInput = false;
Game.SendScrollWheel = false;
Game.ForwardRawKeyboardInput = false;
Game.ForwardRawMouseInput = false;
Game.DrawFakeMouseCursor = false;

//ProtoInput

Game.SupportsMultipleKeyboardsAndMice = false;
// Game.ProtoInput.SetWindowPosHook = true;
// Game.ProtoInput.SetWindowStyleHook = true;

Game.ProtoInput.InjectStartup = false;
Game.ProtoInput.InjectRuntime_RemoteLoadMethod = false;
Game.ProtoInput.InjectRuntime_EasyHookMethod = true;
Game.ProtoInput.InjectRuntime_EasyHookStealthMethod = false;

Game.LockInputAtStart = false;
Game.LockInputSuspendsExplorer = true;
Game.ProtoInput.FreezeExternalInputWhenInputNotLocked = true;
Game.LockInputToggleKey = 0x23;

Game.ProtoInput.RenameHandlesHook = false;
Game.ProtoInput.RenameHandles = [];
Game.ProtoInput.RenameNamedPipes = [];

Game.ProtoInput.RegisterRawInputHook = true;
Game.ProtoInput.GetRawInputDataHook = true;
Game.ProtoInput.MessageFilterHook = true;
Game.ProtoInput.GetCursorPosHook = true;
Game.ProtoInput.SetCursorPosHook = true;
Game.ProtoInput.GetKeyStateHook = true;
Game.ProtoInput.GetAsyncKeyStateHook = true;
Game.ProtoInput.GetKeyboardStateHook = true;
Game.ProtoInput.CursorVisibilityHook = false;
Game.ProtoInput.EnableToggleFakeCursorVisibilityShortcut = true;
Game.ProtoInput.ClipCursorHook = true;
Game.ProtoInput.FocusHooks = true;
Game.ProtoInput.DrawFakeCursor = true;
Game.ProtoInput.ClipCursorHookCreatesFakeClip = false;
Game.ProtoInput.DontShowCursorWhenImageUpdated = false;
Game.ProtoInput.SetWindowPosHook = false;
Game.ProtoInput.SetWindowStyleHook = false;
Game.ProtoInput.FindWindowHook = true;

Game.ProtoInput.RawInputFilter = true;
Game.ProtoInput.MouseMoveFilter = false;
Game.ProtoInput.MouseActivateFilter = true;
Game.ProtoInput.WindowActivateFilter = true;
Game.ProtoInput.WindowActvateAppFilter = true;
Game.ProtoInput.MouseWheelFilter = true;
Game.ProtoInput.MouseButtonFilter = true;
Game.ProtoInput.KeyboardButtonFilter = true;

Game.ProtoInput.SendMouseWheelMessages = true;
Game.ProtoInput.SendMouseButtonMessages = true;
Game.ProtoInput.SendMouseMovementMessages = true;
Game.ProtoInput.SendKeyboardButtonMessages = true;
Game.ProtoInput.XinputHook = true;
Game.ProtoInput.UseOpenXinput = true;
Game.ProtoInput.UseDinputRedirection = false;
Game.ProtoInput.DinputDeviceHook = false;
Game.ProtoInput.DinputHookAlsoHooksGetDeviceState = false;

Game.ProtoInput.EnableFocusMessageLoop = true;
Game.ProtoInput.FocusLoopIntervalMilliseconds = 5000;
Game.ProtoInput.FocusLoop_WM_ACTIVATE = true;
Game.ProtoInput.FocusLoop_WM_ACTIVATEAPP = true;
//Game.ProtoInput.FocusLoop_WM_NCACTIVATE = true;
//Game.ProtoInput.FocusLoop_WM_SETFOCUS = true;
//Game.ProtoInput.FocusLoop_WM_MOUSEACTIVATE = true;
Game.ProtoInput.BlockedMessages = [0x0008]; // Blocks WM_KILLFOCUS

Game.Play = function() {
  var path = Context.EnvironmentPlayer + "\\AppData\\Local\\KoeiTecmo\\NIOH3\\config.xml";
  Context.ChangeXmlNodeInnerTextValue(path, "//DISP_MODE", "WINDOWED");
  Context.ChangeXmlNodeInnerTextValue(path, "//SCR_REZ", Context.Width + "x" + Context.Height);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_api64.dll");
  var savePkgOrigin = System.IO.Path.Combine(Context.OrigRootFolder, "steam_api64.dll");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  Context.CopyFolder(Context.NucleusFolder + "\\handlers\\Nioh3", Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\");

  var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_settings\\configs.user.ini";
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("user::general", "account_name", Context.Nickname),
    new Nucleus.IniSaveInfo("user::general", "account_steamid", Context.PlayerSteamID),
    new Nucleus.IniSaveInfo("user::general", "language", Context.SteamLang)
  ]);
};