Skip to content

bananaturtlesandwich/spaghetti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spaghetti - a function hooker for cooked unreal engine blueprints

usage

you can run spaghetti normally with/without using cli

spaghetti --help
Usage: spaghetti [OPTIONS] [hook] [original]

Arguments:
  [hook]      path to hook-containing blueprint
  [original]  path to original blueprint

Options:
  -v <VERSION>          engine version used to create the blueprints [default: 5.1]
  -o <output path>      path to save the hooked blueprint to [default: overwrites original]
  -h, --help            Print help

limitations

  • the same limitations of normal asset patching applies
  • this means only one modded asset can be loaded at a time
  • currently no support for hooking hooks (i need to check for existing orig_ functions)
  • if there was you could unpack, merge mod blueprints and repack for compatibility
  • i could add a command which merges hooks in mod paks if that's done to make that easier too

concept

  • i modded my first unity game and thought "Monomod HookGen is real nifty for hooking functions and whatnot"
  • on the same day i discovered kismet-analyzer's merge-functions command which merges function kismet
  • that made me think "i have decent experience dealing with assets having made stove and whatnot"
  • and then i thought "i could make it like hookgen where you can call the original function in your hook"
  • turns out you don't need to edit kismet
  • transplanting hooks using modified code from stove works
  • you can redirect the funcmap to your hook and register the original under a different name
  • wow you've got hookgen but for blueprint functions
  • mind blown

credits