About this mod
Learn new spells via research, reverse engineer scrolls and staves, and craft scrolls, staves, and tomes. Pre-made patches & xEdit patcher available for spell mods.
- Requirements
- Permissions and credits
- Changelogs
In short, Dino's Spell Discovery lets you learn spells that exist in your game, whether vanilla or mod-added, by a custom research system instead of from buying spell tomes. There are some extra features as well, listed at the end of this section. The mod is fully configurable: anything you aren't interested in can be turned off and fine-grained difficulty settings are available in the MCM.
My goal with this mod is to allow learning spells in a way that feels like your character is creating the spells themselves. Just learning spells from spell tomes wasn't very satisfying to me when playing a scholar-type character. Elder Scrolls games have a great history of spell learning/design being interactive, and I wanted to add some of that back in.
You may be thinking at this point that this sounds a lot like Spell Research, and you'd be 100% right. (If you're not familiar with Spell Research, I do recommend checking it out as well!) The original idea was for this mod to be a sort of Spell Research Lite. I think Spell Research is a fantastic mod, and added a lot to my gameplay experience, but it added a lot of extra content and frequently ended up taking over my playthroughs entirely! The goal with this mod is to be able to do the things that made Spell Research so enjoyable to me, while touching fewer parts of the game world and making it easy to casually engage with the mod and use just a few features if that's what you want to do.
Which is all to say that I've put a lot of effort into making this mod flexible and friendly to different playstyles. You can use this mod to play as a scholar studying spells between adventures, or a character who's more of an adventurer and learns spells by reverse-engineering scrolls and staves they find. If you'd rather play a non-traditional mage who gradually develops spells by intuition rather than study, there's an automatic spell learning feature to support it. (And if you'd like to use this mod just to craft scrolls, staves, and/or tomes, you can do that and turn everything else off in the menu.)
With this mod, you can:
- Learn new spells from scratch; you can pick the level, school, and other traits of the spell you want to learn
- Reverse-engineer spells from scrolls and staves you find in the world
- Enchant scrolls, tomes, and staves using spells that you know
- Store spells that you know in a grimoire so they're not taking up space in your menu-- and re-learn them later if you want to
- Learn spells automatically as you cast similar spells; low-level spells are easy to learn this way, but higher-level spells may take a while (off by default)
- Translate ancient texts to gain insights into other ways of using magic (requires Ancient Texts add-on)
- Borrow another mage's study space to research new spells with minimal menu pop-ups, or build spellcrafting furniture to make your own
Getting Started with Dino's Spell Discovery
You can get started either (1) by crafting a Spellcrafting Journal at the tanning rack and reading it, (2) by initializing the mod through the MCM, or (3) by activating any piece of furniture added by the mod. This will pop up a message that asks whether you want to initialize-- select 'Yes'. The mod will run some script functions in the background that arrange information on various spells into a form that will make later mod functions more efficient. This may take some time depending on how many spells are in your patch; the mod will print progress messages. Please wait until you get a success pop-up to touch anything else in this mod's menus and ideally stay in an interior cell until it's done.
Once you've successfully initialized the mod, you can use the journal or MCM menu to configure settings. Each page of the MCM is shown in the mod images. There is also an article available (link here) with all settings and their global variables listed.
Quick demo
Menu style
One feature you can use to get a better feeling for how the mod categorizes spells is the Analyze option. This option lists out the principle and properties corresponding to the spell equipped in the player's right hand. For example, for Flames, you'd see that it was a Destruction spell with the Fire principle, and was categorized as Aimed and Concentration. You can find specific details on principles and properties in the articles section.
You can also craft a Spellcrafting Grimoire at the tanning rack; this item allows you to store and forget spells, then re-learn them later if you want for no cost.
Furniture style
Furniture items provide an alternative way to use spellcrafting and other mod functions without needing to click through a menu for minutes at a time; however, they aren't portable like the menu mode items. To get started, find a "Primer on Spellcrafting" book; they're found rarely in book leveled lists, and more commonly by spell merchants. When this book is in your inventory, you have the option to craft furniture kits that you can then use from your inventory to place a furniture table of that type in front of you. There is also a setting to skip this requirement and make the recipes available always.
If you have the Placed Furniture add-on, furniture items have been placed in a few areas of the world. If you don't have the items to craft your own furniture, you can use these instead. (Or, if you'd really prefer to set up your own study space somewhere, there's a kit to set up each type of furniture in the utility cell cheat chest.)
There are three furniture items you can use. The Spellcrafting Escritoire allows you to analyze spell and item properties, write notes, and compose spells. The Spellcrafting Imbuing Lab allows you to reverse-engineer items and craft staves, tomes, and scrolls. The Spellcrafting Grimoire allows you to store spells and re-learn them later; while in the grimoire, spells aren't cluttering up your menu but also won't be discovered when you compose a spell.
Detailed Walkthrough
Principles and Properties
- one or more associated principles (for example-- fire, frost, shock, or unaspected for destruction spells)
- a delivery property, which is whether the spell is cast in a direction (aimed), on a surface (location), or on the caster (self)
- a method property, which is whether the spell is cast as concentration or fire & forget
- a level property, which is just the same level you see in the menu
Compose Spells
First, you need to write notes on a spell school or principle. Select "Write notes" in the menu or use the quill on the Spellcrafting Escritoire. You have a choice between writing specific notes (for example, on the Fire principle) or general notes (on the Destruction school, for any principle). Writing notes requires an inkwell, two rolls of paper, and an amount of magicka dependent on your skill level in that school of magic. Specific notes cost slightly less magicka.
Your chance to write useful notes is dependent on your skill level and the amount of magicka you have. By default, failure means that you lose the magicka, ink, and paper (configurable in the MCM).
Second, once you have one or more spellcrafting notes, you can attempt to compose a spell. Select "Compose spell" in the menu or use the Spellcrafting Circle on the Escritoire. You'll first select a school and, if you'd like, a specific principle. Then you'll have an opportunity to specify other properties of the spell-- how it should be delivered to a target, whether it should be concentration or fire & forget, and what level it should be. For all properties but the level, you can select "Any" to allow discovery of spells without regard for that property. You must specify a maximum level.
Your chance to discover a spell is, similarly, dependent on your skill level and the amount of magicka you have. Composing a novice spell requires one page of spellcrafting notes; composing spells of higher levels requires one more page per level, up to five pages for a master spell. The default difficulty settings look like this:

Various settings, including base success chance (here 40%) and multipliers for magicka cost, experience gain, etc, are available through the journal menu or MCM.
Reverse-Engineer Items
The chance of success is, as with notes and spell composition, dependent on your skill level and amount of magicka. You're more likely to succeed in learning a spell from reverse-engineering than by attempting to compose it from scratch, and it costs less magicka. To compensate for item value differences, reverse-engineering from a staff is easier than from a scroll. On a success you'll learn the spell and the item will be destroyed. (If you have Ordinator and the Preserver perk, the item will not be destroyed). On a failure you'll lose some magicka but not the item.
Craft Items
Forget Spells
Learn Spells Automatically
If you update your patches to add new spells, in addition to re-initializing the mod from the MCM or journal you also need to turn this feature off and on again to ensure the new spells will be learnable. The reason behind this is that the mod keeps a record of when you have fully exhausted the spells of a particular category and level, to make the script more efficient. So if you have previously learned every novice fire spell, and then add a spell pack with a new novice fire spell, that spell won't be learned passively unless you turn the feature off and on again to reset those internal records.
(Optional) Ancient Texts Add-On
The books are meant to be pretty rare. You can get them from boss-level loot and enemy mages: Dwemer books in Dwemer ruins, Snow Elf books from Falmer enemies, etc. You can also rarely find them with merchants (general merchants almost never, court wizards sometimes, College of Winterhold merchants more frequently). You'll also sometimes find an enemy, merchant, or container with some ink and paper; books are a bit more likely to appear together with writing supplies, with the idea that it makes the world feel more like other mages are doing their own research.
Recommended Mod Pairings
Getting paper and ink:
For studying spell tomes instead of learning instantly:
- Immersive Spell Learning / DESTified version
- Challenging Spell Learning
- Spelltome Studies
- If you toggle on General > Learn via spell tomes in the MCM, composing will give you a spell tome that you can then study with these mods
Other mods for learning spells in a non-tome way:
- Spellforge uses the same backend as this mod, but allows you to select specific spells to craft instead of discovering a random spell within a category. If you'd like more control over which spells you learn, give it a try!
- Arcane Studies
- Spell Research
- Steady Spell Learning
- If you want to use them together these mods are all compatible with Dino's Spell Discovery, but some features will probably be redundant
Compatibility
See this article for a full list of patches and the versions of spell mods that they were created for. Some patches are in the main FOMOD; the rest are available as an optional download. I don't use all of these mods in my normal load order, so please let me know if you see any issues with the patches.
Fully incompatible:
- Nothing expected
- Mods that add new spells, scrolls, and/or staves would need a patch to allow composing those spells, crafting those items, etc through this mod's systems.
- If you use the optional Ancient Texts add-on and have other mods that modify leveled lists/containers, you may need to generate a bashed patch or merge these changes another way.
- If you are using the Shalidor's Insights add-on, any mods which change the Shalidor's Insights scrolls may need a patch. If you have Cutting Room Floor, please load DinoSpellDiscovery - Shalidor's Insights.esp after Cutting Room Floor.esp to allow the research bonus to work for the "Shalidor's Insights: Magicka" reward.
- Spell mods that change an existing spell by modifying that spell record, such as Selective Transmute. If such a mod changes the level or another property of the spell, this mod won't account for it, but the spell will still be learnable.
- Ordinator's Preserver perk will be automatically detected by this mod's scripts if you have it and accounted for when reverse-engineering.
- Mods that allow you to increase your skills past 100 are accounted for correctly. By default success chance will cap out when you have skill level 100. For more gradual skill scaling, you may want to increase this setting (in the MCM, Advanced > Maximum Player Skill).
- If you use the optional Placed Furniture add-on and have a lighting overhaul or another mod that makes changes to base CELL records, please load the lighting overhaul after that plugin if you want those changes to show up in-game.
Installation and Requirements
You also probably want to enable a base patch file and patches for any spell mods you have; patches let the mod know about the included spells. The main download contains patch files for some large spell packs and base patches with the spells from the base game and DLCs. There is an optional download as well with other spell patches that I've made. For full details on what patches are available, see this article.
If you have other spell mods you'd like to be discoverable through this mod, or would like to further customize the spells added, I've written a patcher script for xEdit that is available in the optional files. There's a quick walkthrough under the "Patching" heading, and the download itself comes with a README.
As of version 3.1 there is also an alternate set of patches available that use FormList Manipulator instead of having an individual ESPFE plugin for each patch. This may be helpful if you're on the VR version of the game or have another reason to limit the number of even ESL-flagged plugins in your load order. Each of these patches can be substituted for the corresponding regular patch for that spell mod. This is an experimental option; please let me know if you have any problems.
This mod can be installed on an existing game. Some setup work needs to be done when the mod is first installed; ideally your character would be in a small interior area, or at least not in the middle of combat / a scripted scene.
Please let me know if you see any issues! This mod has a lot of settings and I'm just one person, so it's difficult to test as thoroughly as I would like.
Uninstallation
If you encounter issues after uninstalling or would prefer not to uninstall a scripted mod, you can also keep the mod enabled but minimize the effects you'll see on the game by discarding the journal and any other items you have, and picking up and discarding any furniture you've placed. Settings are available to hide recipes and remove the Primer on Spellcrafting book from spell vendors.
I've done my best to implement this mod cleanly, but mid-game load order changes are notoriously fiddly with Skyrim mods. If you begin to encounter strange behavior after installing or uninstalling other mods or changing the spell patch, re-initializing with the journal or MCM should fix the majority of possible issues. If it does not, or you get a failure message at this point, please let me know what happened in the comments, ideally including your load order, and I can try to help.
Known Limitations
The mod generally attempts to verify the information it is getting from the spell patch. If any FormLists aren't constructed correctly, you should see an error message during initialization. In this case, turning on debug prints may give you some additional information. This shouldn't happen for premade patches or any patch generated by the auto-patcher script. If this does happen, let me know and I can take a look.
Troubleshooting
- You see a warning about having too many spells. - The mod's internal lists ran out of space due to the number of spells in some category. You'll either need to use fewer patches or let me know and I can expand the max spell count in the scripts as time allows.
- You see multiple pop-up box warnings within a few seconds of starting initialization and you've recently changed which patches you're using. - There are some issues which can occur when removing an ESP-based patch that adds spells to this mod. You may be able to get it working by running set aaSimpleVarInitDoExplicitCopy to 1 and set aaSimpleVarInitNoParallel to 1 in the console, then running initialization again.
- Something else. - You can either try removing patches one by one to see if you can narrow down which is causing the issue, or you can let me know in the comments what error message you got. Please also let me know what premade patches you're using and if you've used the patcher to generate patches for any other spell mods.
- Initialization is close to instantaneous. - Patch FormLists are empty when read. Please check that DinoSpellDiscovery.esp is before DinoSpellDiscovery - Spells Patch.esp in your load order if you've made a combined custom patch, and that the patch FormLists are not empty in xEdit. If you're using premade patches, make sure they're activated!
- Initialization takes at least a few seconds. - Patch contains spells, but not the spell you're using. You may want to test with a premade spell patch, if you are using the xEdit patcher, or to examine the patch in xEdit to see if there is a pattern to what spells are included.
- Array index out of bounds. - This has most commonly been an issue that comes up when a spell doesn't have a vanilla half-cost perk associated with it, so the script can't infer the school and level. The script is intended to prompt you to manually select those properties, but a number of people have reported that they get this error instead. Unfortunately I've never been able to replicate this on my side, so I can't be certain the issue is fixed for good. If you see this error, you may be able to work around it by selecting "Pop up for all spells not in config" in the patcher options. Alternatively, let me know in the comments or bugs what line number is printed out with this error, and ideally the full script log, and I'll take a look.
- Some other error. - Please leave me a comment or bug report with the error printed by the script and, if possible, the full script log and what spell mods you are patching in.
Patching
Spell Exclusion
You can change whether any spell is excluded or not by making a custom patch instead of using the premade ones with my configs; if you'd just like to be able to discover all spells that the mod knows about, you can set the mod to allow it in the MCM by toggling on General > Learn excluded spells.
Extra Scrolls and Staves
Custom Patcher - setup
I have also written an xEdit patcher that does most of the work of creating a custom patch for any unpatched spell mods for you. Under optional files you can download and unzip the "Dino's Spell Discovery xEdit Patcher" file. This archive contains two files: _aaDinoSpellDiscoveryPatcher.pas and _aaDinoSpellDiscoveryPatcher.csv. The first is the patcher script and the second is a config file.
These instructions assume you're OK with using the properties I set for vanilla, Apocalypse, Arcanum, and other spell packs that I've added premade patches for. If you'd like to have more control over which spells go where, you can do so by selecting "Pop up confirmation for spell details: For all spells" in the first pop-up. This means you'll see a confirm pop-up for every spell the script finds. Going through this process is pretty tedious, so the patcher doesn't default to it.
If you want to use this patcher, the first thing you need to do is move both files (README isn't important) to your xEdit script folder (along the lines of C:\some\folders\SSEEdit 3.2-164-3-2\Edit Scripts\).
Custom Patcher - making a custom patch for the spell mods you have that aren't patched
- Run xEdit and load DinoSpellDiscovery.esp and the spell mods that don't have patches. You can load your entire load order if you like, but it's not required.
- In the left panel, select the mods that don't have patches, right-click, and select "Apply Script". From the drop-down list, select _aaDinoSpellDiscoveryPatcher. Hit OK.
- If you see pop-ups, make your best guess as to what principle should be used and hit OK. If you don't want a spell to be discoverable, select "Exclude from discovery". If you don't even want to be able to make tomes/scrolls/staves for a spell, select "Skip entirely".
- Hit OK.
- Exit xEdit, save the patch, and make sure it is enabled in your load order.
- If using your new patch with a savegame where you've already initialized the mod, you will need to initialize again to update the mod's internal records to match the new set of spells. This can be done using the Spellcrafting Journal or the MCM. If you use the automatic spell learning feature, you also need to de-activate and re-activate it to ensure changes are registered correctly.
Tip: The default classifications that the patcher knows about are based on the filename and spell name combination. If you change the name of a spell mod (or merge it into a patch), the patcher won't know about my classifications for that spell, and may prompt you to fill them in. Also, the patcher may prompt you for spells that it knows about if there's an edit to a spell by another plugin (which is necessary for it to correctly handle cases like Odin and Mysticism where the spell now uses a different classification). This can also happen if you have a machine-generated patch that combines changes to certain types of records. With recent patcher versions, the pop-up will say which plugins are touching the spell and allow you to ignore a particular plugin for the rest of the patcher run.
Custom Patcher - making your own additive patch (like the ones I've provided)
- Copy DinoSpellDiscovery - Blank Additive Patch.esp to the folder where your other patches are and rename it to whatever you'd like (for example, DinoSpellDiscovery - SomeSpellMod Patch.esp, where SomeSpellMod.esp is a spell mod you have that there isn't a premade patch for).
- Run xEdit and load DinoSpellDiscovery.esp, DinoSpellDiscovery - SomeSpellMod Patch.esp, and SomeSpellMod.esp. If you have more than one spell mod to patch, load only one of these at a time!
- In the left panel, select SomeSpellMod.esp, right-click, and select "Apply Script". From the drop-down list, select _aaDinoSpellDiscoveryPatcher. Hit OK. In the options pop-up, change the patch name to DinoSpellDiscovery - SomeSpellMod Patch.esp.
- If you see pop-ups, make your best guess as to what principle should be used and hit OK. If you don't want a spell to be discoverable, select "Exclude from discovery". If you don't even want to be able to make tomes/scrolls/staves for a spell, select "Skip entirely".
- Hit OK.
- Exit xEdit, save the patch, and make sure it is enabled in your load order.
- Repeat steps 1-6 for any other spell mods you want to patch.
- If using your new patch(es) with a savegame where you've already initialized the mod, you will need to initialize again via the Spellcrafting Journal or MCM to update the mod's internal records to match the new set of spells. If you use the automatic spell learning feature, you also need to de-activate and re-activate it to ensure changes are registered correctly.
Custom Patcher - making one patch for your whole load order instead of using my patches
- Run xEdit and load Skyrim.esm, Dawnguard.esm, Dragonborn.esm, DinoSpellDiscovery.esp, and all other mods with spells that you want patched in. If you have mods that add scrolls or staves for existing spells, load those as well. Please avoid loading unrelated mods and any merged/bashed/smashed patches you have, as this will slow down the patcher and increase the number of pop-ups you see.
- Select all files, right-click, and select "Apply Script". From the drop-down list, select _aaDinoSpellDiscoveryPatcher. Hit OK.
- You should see an options pop-up. Hit OK without changing anything.
- If you see pop-ups, make your best guess as to what principle should be used and hit OK. If you don't want a spell to be discoverable, select "Exclude from discovery". If you don't even want to be able to make tomes/scrolls/staves for a spell, select "Skip entirely". If you see many pop-ups, you may want to try running the patcher again and selecting the option to show a pop-up only for spells that the patcher can't infer enough detail for. Alternatively, the patcher should notify you if there's a patch overwriting the base spell; if it's something that you know doesn't change the levels or other properties of the spell, you can let the patcher know to ignore that file's changes.
- Hit OK.
- Exit xEdit, save the patch, and make sure it is enabled in your load order.
- As always, you must initialize again and de-activate / re-activate the automatic spell learning feature if you use it.
Testing Patch Spells
- Make a save to roll back to afterwards.
- Open the console and type help "Learn All Spells"
- You should see an entry for a spell called Test - Learn All Spells. Type player.addspell XX0182B7, where XX are the leading two digits of the ID for that spell; the others should already match, but those vary depending on your load order.
- This test spell is a lesser power; equip and use it once, and the mod will add all known spells, including those excluded from normal discovery, to your character. This may take a few seconds to finish, as it is done via script.