How To: Make Custom Beds Work with See You Sleep
If you haven't heard of the mod See You Sleep, there's a fair chance your users (or potential users) have. See You Sleep is an immersion mod that allows you to see your character lie down and go to sleep when you activate a bed, instead of just seeing the menu. If your mod includes an interior with a bed the player can use, you may want to consider providing See You Sleep compatibility. I will teach you how to do that in this tutorial.
See You Sleep automatically covers stock beds. If the bed you've placed isn't a new base object added by your mod, then you don't need to do anything extra. However, if your bed is a new base object added to the game by your mod, you'll need to take a few extra steps to make it work like the stock beds with See You Sleep active.
- Wrye Bash installed & ready to go.
- See You Sleep installed & ready to go.
- TES4Edit installed & ready to go.
- Basic CS know-how.
If your bed uses a custom model, you'll also need:
- OBMM or BSA Converter installed & ready to go.
- Nifskope installed & ready to go.
Step 1: Create masters.
Open Wrye Bash and go to the Mods tab. Right-click on P1DseeYouSleep.esp, and select "Copy to esm" from the context menu. Repeat that step for your plugin, which I'll refer to as "YourMod.esp" or "YourMod.esm" from here on out for simplicity.
Note: I prefer this to "Esmify Self", as it appears to require less steps during cleanup. However, if you're familiar with the process, you can certainly go that route if you wish. Otherwise, please just stick with me.
Step 2: Load up the Construction Set.
Make sure you tick the boxes next to P1DseeYouSleep.esm and YourMod.esm. Do not set a file as active.
You will get some error messages when loading up P1DseeYouSleep.esm or .esp. Just click Yes to continue playing - these can be safely ignored.
Step 3: Assign the script to the bed.
Find your bed in the object list on the left, under Furniture. Double-click it. Set the script to P1DbedScript from the drop-down. Press OK. Repeat this step for any other custom beds in your mod. When you're done, save your new plugin.
Step 4: Clean the patch plugin.
Bizarre things get saved in plugins sometimes, so we're going to do a quick tidy-up. Launch TES4Edit. In the list of mods, right-click anywhere, and choose "Select None" Now tick the box next to only your patch plugin - its masters will get loaded with it automagically.
Once it's done loading, you'll see your patch plugin on the left at the end of the list of loaded content (which should include Oblivion.esm and your masters). Click the + sign next to it to expand it fully. You'll see how the records are organized tree-style, much like folders and files in Windows Explorer. You want to prune this tree of every single record it contains except your bed(s). When you are done, the "root folder" should only contain the File Header and the Furniture group. If you expand Furniture, you should only see your bed(s).
To accomplish this, right-click on any errant group or record, and select "Remove". TES4Edit will make you consider your decision for a few seconds with a dialogue box - click Yes.
Now close TES4Edit. It will ask if you want to save the changed patch plugin; allow it to do so. It will make a backup for you in your Data folder, which you might want to hang on to until you've playtested your patch.
Note: If you are more comfortable with TES4Gecko, the steps should be nearly the same for cleaning the plugin via the Display/Copy utility.
Step 5: Re-assign masters.
Now you need to set up the patch plugin to look for the beds and scripts in the actual plugins people are using, not the masters you've created. Go back to Wrye Bash and select your patch plugin on the mods tab. On the right side, you'll see where Bash lists the masters for that plugin. Right-click P1DseeYouSleep.esm and select "Change to...", then browse to P1DseeYouSleep.esp and click Open in the window that appears. When that's done, right-click on YourMod.esm from the masters list, select "Change to...", browse to YourMod.esp, and click Open. Now, under the list of masters, click Save.
Note: If you see any other masters other than these two (such as Cobl.esm, etc...), you should remove them in the CS. In the Data... window, just click on them and delete them. If the beds come from another master (such as a modders' resource .esm), you will have duplicated them with new IDs in your own mod before changing them anyway (I hope!), so the dependency isn't necessary.
Step 6: See Meshes Run!
If your bed uses a stock bed model, you may skip this step. However, if your bed uses a custom model, you'll need to borrow one of the *_see.nif meshes from See You Sleep's .bsa archive to make everything work.
This next part may take some guesswork, depending on where your bed mesh came from. Open your bed mesh in Nifskope, and note the NiNode name at the very top. If that happens to also be the name of a stock bed, that makes it pretty durn likely that the mesh started out as that stock bed. Find the corresponding *_see.nif mesh in See You Sleep's .bsa archive, and extract it with the utility of your choice. Copy it into the same folder as your bed mesh, and rename it the same name as your bed but with _see as the suffix. For example, if your bed mesh is MyBed.nif, then this new mesh should be MyBed_see.nif.
Step 7: Playtest.
Make sure your patch plugin is activated and loading after all its masters in your load order, and launch the game. Test out your bed. If you are immediately presented with a menu asking you how long you want to sleep, or you get a big yellow missing mesh mark, something's amiss. However, if you get to watch your character cozy up in bed, then you're done!
If all was well, go ahead and delete your TES4Edit backup of your patch plugin, and the two masters you've created.
Creating patches can very often be tricky business. If you've never made one before just now, congratulations! You've learned some new things that might help you with all sorts of modding tasks down the line: basic master/plugin relationships, the "bait-and-switch" patch technique, and plugin cleaning! And if you're an old pro, well, hopefully this tutorial shaved a few minutes off your patch-making time. Either way, thanks for perusing!