Creation Kit Feature - Hot Loading Plugins

Post » Thu Jun 21, 2012 5:01 am

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!
User avatar
QuinDINGDONGcey
 
Posts: 3369
Joined: Mon Jul 23, 2007 4:11 pm

Post » Thu Jun 21, 2012 3:54 pm

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?
User avatar
Alexx Peace
 
Posts: 3432
Joined: Thu Jul 20, 2006 5:55 pm

Post » Thu Jun 21, 2012 12:45 pm

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?
User avatar
Amber Hubbard
 
Posts: 3537
Joined: Tue Dec 05, 2006 6:59 pm

Post » Thu Jun 21, 2012 5:13 am

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
User avatar
Adam Kriner
 
Posts: 3448
Joined: Mon Aug 06, 2007 2:30 am

Post » Thu Jun 21, 2012 7:46 am

It works quite well from my limited testing of it. Thanks!
User avatar
Ilona Neumann
 
Posts: 3308
Joined: Sat Aug 19, 2006 3:30 am

Post » Thu Jun 21, 2012 11:14 am

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.
User avatar
Iain Lamb
 
Posts: 3453
Joined: Sat May 19, 2007 4:47 am

Post » Thu Jun 21, 2012 3:36 am

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.
User avatar
Claire Mclaughlin
 
Posts: 3361
Joined: Mon Jul 31, 2006 6:55 am

Post » Thu Jun 21, 2012 2:31 pm

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:
User avatar
matt
 
Posts: 3267
Joined: Wed May 30, 2007 10:17 am

Post » Thu Jun 21, 2012 9:58 am

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).
User avatar
des lynam
 
Posts: 3444
Joined: Thu Jul 19, 2007 4:07 pm

Post » Thu Jun 21, 2012 11:57 am

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.
User avatar
Erich Lendermon
 
Posts: 3322
Joined: Sat Nov 03, 2007 4:20 pm

Post » Thu Jun 21, 2012 4:24 pm

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.
User avatar
My blood
 
Posts: 3455
Joined: Fri Jun 16, 2006 8:09 am

Post » Thu Jun 21, 2012 1:57 am

For those with dual-monitors, (sadly not me) I imagine this would be quite a boost to productivity.
User avatar
Anthony Santillan
 
Posts: 3461
Joined: Sun Jul 01, 2007 6:42 am

Post » Thu Jun 21, 2012 8:19 am

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.
User avatar
Lucky Boy
 
Posts: 3378
Joined: Wed Jun 06, 2007 6:26 pm

Post » Thu Jun 21, 2012 4:43 am

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?
User avatar
Markie Mark
 
Posts: 3420
Joined: Tue Dec 04, 2007 7:24 am

Post » Thu Jun 21, 2012 8:02 am

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.
User avatar
Nims
 
Posts: 3352
Joined: Thu Jun 07, 2007 3:29 pm

Post » Thu Jun 21, 2012 2:03 am

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).
User avatar
Kat Ives
 
Posts: 3408
Joined: Tue Aug 28, 2007 2:11 pm

Post » Thu Jun 21, 2012 4:40 am

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.
User avatar
Katie Pollard
 
Posts: 3460
Joined: Thu Nov 09, 2006 11:23 pm

Post » Thu Jun 21, 2012 3:38 pm

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.
User avatar
Liii BLATES
 
Posts: 3423
Joined: Tue Aug 22, 2006 10:41 am

Post » Thu Jun 21, 2012 11:28 am

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!
User avatar
Laura Richards
 
Posts: 3468
Joined: Mon Aug 28, 2006 4:42 am

Post » Thu Jun 21, 2012 9:46 am

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.
User avatar
phillip crookes
 
Posts: 3420
Joined: Wed Jun 27, 2007 1:39 pm

Post » Thu Jun 21, 2012 10:09 am

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.
User avatar
SHAWNNA-KAY
 
Posts: 3444
Joined: Mon Dec 18, 2006 1:22 pm

Post » Thu Jun 21, 2012 5:27 am

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:
User avatar
Lory Da Costa
 
Posts: 3463
Joined: Fri Dec 15, 2006 12:30 pm

Post » Thu Jun 21, 2012 5:26 am

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.
User avatar
Siobhan Thompson
 
Posts: 3443
Joined: Sun Nov 12, 2006 10:40 am

Post » Thu Jun 21, 2012 4:22 am

It works!

...Now I have to get rid of this habit of swiftly qqq'ing out of the game :ermm:
User avatar
Samantha hulme
 
Posts: 3373
Joined: Wed Jun 21, 2006 4:22 pm

Post » Thu Jun 21, 2012 3:36 pm

Wow, this is going to be really useful - thanks!
User avatar
Jessica Phoenix
 
Posts: 3420
Joined: Sat Jun 24, 2006 8:49 am

Next

Return to V - Skyrim