Page 1 of 2

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 5:01 am
by QuinDINGDONGcey
As you know, we recently released version 1.6.89 of the Creation Kit. As we’ve mentioned before, this is the same tool the developers use – and that means that the latest version of the Creation Kit comes with an experimental new dev feature – Hot Plugin Loading.

Simply put, hot loading allows you to save and update your plugin from the Creation Kit, and immediately view those results in-game. No need to restart the game to see your changes! This has had a huge impact on iteration time around Bethesda Game Studios, and we hope modders will find it just as beneficial.

As mentioned, this is an experimental feature. Not everything will work as expected, and there may be crashes or other hiccups. Many thanks to programmer Jay Woodward (aka RadHamster) for his work on this awesome new feature!

Without further ado, here are the steps for hot-loading your plugin:

· Load the Creation Kit as normal. Load your plugin (or create a new one)
· In this example, we’ll pretend our active plugin is “nifty.esp”
· Launch Skyrim as normal.
· Make some changes in the Creation Kit, such as moving or adding a static.
· In-game, open the console (~) and enter the command: “FCF

o This step only applies if you loaded nifty.esp in the Data files section of the launcher

o This only has to be done once per boot of the game.

o FCF is shorthand for “force close files”, and allows the Creation Kit to save a loaded plugin

· Return to the creation kit and save nifty.esp
· Return to the game. If possible, position yourself where you’ll notice your changes.
· Open the console and enter: “HLP nifty” (or the name of your .esp file)

o HLP is shorthand for “Hotload plugin”

· The scene will re-load. Your changes show now be visible in-game!

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 3:54 pm
by Alexx Peace
Awesome! I'm currently racing against the clock to finish my entry to Skyrim Real Estate's modding competition, and waiting to close down the CK and load up the game to test each new change is really time-consuming. Thanks so much for sharing these features with us - and for releasing the kit in the first place. :wub:

Just to be sure - is the idea that we'd alt-tab between programs? Can you do that with Skyrim without it keeling over?

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 12:45 pm
by Amber Hubbard
I noticed that the 1.6 update also added a http://www.creationkit.com/ReloadScript, which seems like it could make a good pairing with this. Or does the HLP command already reload scripts as well?

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 5:13 am
by Adam Kriner
D'aww, I have to use my plugin as an ESM so this can't be done (Unless you guys start allowing saving to esm's!) but that's still really awesome. :D

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 7:46 am
by Ilona Neumann
It works quite well from my limited testing of it. Thanks!

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 11:14 am
by Iain Lamb
dj2005, how are you doing it?

I tried launching Skyrim with the CK open, and it immediately crashed (twice). Are you alt-tabbing between programs? Windowed mode doesn't work for me.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 3:36 am
by Claire Mclaughlin
I do *not* believe HLP will refresh scripts - you'll want to use reloadScript separately. I'm pretty sure it only touches forms present in the plugin, and hasn't been tested for compatibility with all types of forms - mostly it's been used with statics and the like. So you may find it doesn't work quite as expected in all scenarios. In those cases, however, you're only set back as far as having to work the way you usually have - by closing the game, saving the plugin, and reloading.

Unfortunately this feature only really makes sense if you are able to run The Creation Kit and Skyrim at the same time and easily alt-tab between them. This may not be the case on all PC configs, unfortunately.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 2:31 pm
by matt
Awesome! I'm currently racing against the clock to finish my entry to Skyrim Real Estate's modding competition, and waiting to close down the CK and load up the game to test each new change is really time-consuming. Thanks so much for sharing these features with us - and for releasing the kit in the first place. :wub:
You are welcome of course! Always glad to be of assistance. :smile:

Just to be sure - is the idea that we'd alt-tab between programs? Can you do that with Skyrim without it keeling over?
That's the idea. Of course, I can't guarantee that any particular PC will be able to switch between the CK and the game with total silky-smooth ease, but that's how we work, so you should give it a try.

We also tend to run Skyrim windowed, rather than full screen. You can do that by adding this to your SkyrimCustom.ini: [EDIT: or you can use the launcher to set these settings.]

[Display]bFull Screen=0

(Apologies if everyone knows that already. I will go ahead and assume that anyone who might be using hot-loading is already at least somewhat familiar with how to tweak SkyrimCustom.ini.)

I noticed that the 1.6 update also added a http://www.creationkit.com/ReloadScript, which seems like it could make a good pairing with this. Or does the HLP command already reload scripts as well?
You're absolutely correct. If you are editing scripts in addition to editing your plugin, you indeed can and should use the new ReloadScript command to pull in your changes. Hot-loading your plugin does not automatically reload script changes, mainly because scripts are separate from the ESM/ESP system. Also, I believe it would have to do it via timestamp -- or just reload all of your local scripts, but that

EDIT: oops, I got scooped by Joel! :blush:

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 9:58 am
by des lynam
dj2005, how are you doing it?

I tried launching Skyrim with the CK open, and it immediately crashed (twice). Are you alt-tabbing between programs? Windowed mode doesn't work for me.

I set Skyrim to window mode and do alt-tabbing. Alt-tabbing with Skyrim in fullscreen mode tends to be buggy for me, as in fullscreen mode I have to alt-tab to Skyrim twice to get it to load, the game tends to be more crash prone, etc.

Other than that I just followed Joel's HLP tutorial. I hope that one day HLP will show changes to a cell's lighting template (especially now since the CK does not allow one to change such things with the cell-to-be-edited is loaded in the render window).

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 11:57 am
by Erich Lendermon
Bug report: This system does not work on Armors.

I followed the steps. Made changes to the armor rating in the CK,did not update ingame.

I tried another test with the Armor set. Change the "Biped Object" to purposely make a body part invisible>save>loaded the game>put the armor on a Manniquine>Invisible part accord>Followed Hot Plug-in Steps to correct the "Invisible" error in real time> Does not work

I receive the following error trying to "save" the changes to correct the armor in the CK before going back ingame to use the HLP command.

[IMG]http://i1216.photobucket.com/albums/dd362/Andy_Hood/broken.jpg[/IMG]

I understand the system is trying to be a "real time editing tool" like what crytek and Unreal have for their SDK's, but what exactly is allowed to be changed and edited for this system to work? Is it only world geometry and static meshes? Because based on the error given, anything that is "in use" ingame will not be saved in the CK *shrug* That is how I am seeing the error. Like you can't delete a file that is "in use" by windows until you close/stop using it.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 4:24 pm
by My blood
Bug report: This system does not work on Armors.

I followed the steps. Made changes to the armor rating in the CK,did not update ingame.

I tried another test with the Armor set. Change the "Biped Object" to purposely make a body part invisible>save>loaded the game>put the armor on a Manniquine>Invisible part accord>Followed Hot Plug-in Steps to correct the "Invisible" error in real time> Does not work

I receive the following error trying to "save" the changes to correct the armor in the CK before going back ingame to use the HLP command.

[IMG]http://i1216.photobucket.com/albums/dd362/Andy_Hood/broken.jpg[/IMG]

I understand the system is trying to be a "real time editing tool" like what crytek and Unreal have for their SDK's, but what exactly is allowed to be changed and edited for this system to work? Is it only world geometry and static meshes? Because based on the error given, anything that is "in use" ingame will not be saved in the CK *shrug* That is how I am seeing the error. Like you can't delete a file that is "in use" by windows until you close/stop using it.

The error in your image likely means you need to re-enter FCF. I've noticed that sometimes Skyrim/CK forgets that FCF was already entered though I'm not sure what causes it.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 1:57 am
by Anthony Santillan
For those with dual-monitors, (sadly not me) I imagine this would be quite a boost to productivity.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 8:19 am
by Lucky Boy
The error in your image likely means you need to re-enter FCF. I've noticed that sometimes Skyrim/CK forgets that FCF was already entered though I'm not sure what causes it.
Yep, that's exactly right. That error is just the CK's way of saying "Hey, the game has that plug-in open already."

What causes it is simply that sometimes the game needs to read some data more from the plug-in. For instance, if you're moving around in an exterior or through a load door, though there are other reasons too.

So, if you see that message, you just need to do another FCF.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 4:43 am
by Markie Mark
We also tend to run Skyrim windowed, rather than full screen. You can do that by adding this to your SkyrimCustom.ini:

[Display]bFull Screen=0

(Apologies if everyone knows that already. I will go ahead and assume that anyone who might be using hot-loading is already at least somewhat familiar with how to tweak SkyrimCustom.ini.)

Ah, I didn't actually know that - which would explain why windowed doesn't work for me. I'll try that tweak now - thanks.
:edit: That's weird - I don't have a SkyrimCustom.ini in my My Games folder - just Skyrim and SkyrimPrefs. Is it one of those?

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 8:02 am
by Nims
Ah, I didn't actually know that - which would explain why windowed doesn't work for me. I'll try that tweak now - thanks.
:edit: That's weird - I don't have a SkyrimCustom.ini in my My Games folder - just Skyrim and SkyrimPrefs. Is it one of those?

Yes, SkyrimPrefs.ini is the file. Here are the lines of significance:
bFull Screen=0
iSize H=800
iSize W=1280

The values in the last two lines are up to you.

Settings these in Skyrim Launcher's Options menu should get the job done as well.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 2:03 am
by Kat Ives
I understand the system is trying to be a "real time editing tool" like what crytek and Unreal have for their SDK's...

I would encourage you to consider this as more along the lines of something that MacGyver or Michael Westen might assemble with a Swiss Army knife and duct tape. :wink: Or (at the absolute most generous and flattering to us) that Tony Stark might build in a cave, with a box of scraps. :cool:

It's the first pass at building a super-quick-turnaround approach into a system that didn't have one before. So, if you want to try it, please expect that it will have rough edges. This is the part of the map that is labeled "Here Be Dragons." :tes:

...what exactly is allowed to be changed and edited for this system to work? Is it only world geometry and static meshes?

Keeping in mind that there are no guarantees, here is a list of things that have been working correctly in our own tests -- and then a list of things that we know are not working yet:

Confirmed to load correctly:
  • Moving, rotating and scaling existing references.
  • Deleting references.
  • Creating new references.
  • Adding linked-refs.
  • Editing spell values (e.g. damage).
  • Changing a quest – if the quest is not triggered by an event. Important caveat: at the moment, any quest that is present in the plugin and running in the game will be restarted when you hot-load the plug-in.
  • Changing the 3D model associated with a base object.
  • Placeable water references.
  • Changes to the navmesh.
Confirmed to load incorrectly (or at least, not as you might expect):
  • Changes to the room or portal graph.
  • Changes to radiant quests (i.e. quests that were triggered by a world event) will stop those quests if they were running (and will not automatically restart them).
  • If you provide a new version of a model (with the same name), reloading the plugin will not reload the new model in place of the old one (for the same reason that it doesn't reload scripts: it only sees changes in the plug-in, not other asset changes).

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 4:40 am
by Katie Pollard
I would encourage you to consider this as more along the lines of something that MacGyver or Michael Weston might assemble with a Swiss Army knife and duct tape. :wink: Or (at the absolute most generous and flattering to us) that Tony Stark might build in a cave, with a box of scraps. :cool:



Or Mythbusters. I love Mythbusters.

This is awesome news. Thanks for all the hard work you guys are doing.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 3:38 pm
by Liii BLATES
Confirmed to load incorrectly (or at least, not as you might expect):
  • Changes to the room or portal graph.
  • Changes to radiant quests (i.e. quests that were triggered by a world event) will stop those quests if they were running (and will not automatically restart them).
  • If you provide a new version of a model (with the same name), reloading the plugin will not reload the new model in place of the old one (for the same reason that it doesn't reload scripts: it only sees changes in the plug-in, not other asset changes).

also added
Changing Armor/Weapon Values

to that "incorrectly" list, I changed armor ratings and they do not update ingame. I did the FCF again to fix the invisible issue and it did work,which was the issue i was having prevously and thanks to that, but the armor rating did not change with it.

Also, Can someone explain to me How to center armors and weapons in the Inventory and Forge view ports? I have yet to find anything on this.


-=update=-
Also, I tried to save the game during this and skyrim just crashes.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 11:28 am
by Laura Richards
This is totally Awesome!
I have an older computer, which takes a bit of time to start up Skyrim, and so this method of testing should seriously cut down on the time I sit around while testing.
Thank you!

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 9:46 am
by phillip crookes
Okay - I gotta ask. What kind of impact does it have with 3rd party programs? The force-unload - it's irrespective of the CK, is it not, and irrespective of the plugin? So if a third-party program also is editing and the file is unloaded, the program saves, and the file is hot loaded, it should work the same way?

Would dramatically cut down some time for testing in general. Thanks for this, regardless of 3rd-party compatibility.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 10:09 am
by SHAWNNA-KAY
Yes, SkyrimPrefs.ini is the file. Here are the lines of significance:
bFull Screen=0
iSize H=800
iSize W=1280

The values in the last two lines are up to you.

Settings these in Skyrim Launcher's Options menu should get the job done as well.

Unfortunately I get stuck at the loading screen. Dunno if it's something I'm doing wrong or if my computer can just not do it. It loads the "tips" messages on a continual loop from which it never progresses.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 5:27 am
by Lory Da Costa
For me atleast Skyrim survives Alt-Tabbing if i open the Steam Overlay (shift+tab by default) first. Though to return to it i need to switch to Skyrim, then another application (such as webbrowser) and the again to Skyrim. Maybe that'll work for other people too :)

I don't really make mods, but i certainly appreciate you making your tools better :goodjob:

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 5:26 am
by Siobhan Thompson
Just to be sure - is the idea that we'd alt-tab between programs? Can you do that with Skyrim without it keeling over?
Alt tabbing in Skyrim works for me, but I always have to alt tab back in twice before the screen comes back properly.

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 4:22 am
by Samantha hulme
It works!

...Now I have to get rid of this habit of swiftly qqq'ing out of the game :ermm:

Creation Kit Feature - Hot Loading Plugins

PostPosted: Thu Jun 21, 2012 3:36 pm
by Jessica Phoenix
Wow, this is going to be really useful - thanks!