[Tool] Loadscreen Switcher

Loadscreen Switcher


What it do?:

  1. It automates the process of giving yourself some custom loading screens in Grim Dawn. The alternative is doing it manually, as detailed here by @Darius : Custom loading screen

    I highly recommend taking a browse thru his thread so you more fully understand what is what.

  2. Other than that my tool simplifies the process of setting the loading screens and it even has a randomize feature to really mix up the loading screen goodness!

  3. Read the How-to section below.


Expand for Maximum Learning
  1. Download the Loadscreen Switcher zip file above. Extract the executable from the zip file wherever you wish. Fire it up!

  2. Upon launch it will create a folder at:
    C:\Users\YOUR USERNAME HERE\Documents\My Games\_gdswitcher\load_screens

    Place your images here. Extension type doesn’t matter too much - if it is .jpg, .png, or .bmp you will be fine.

  3. In the top combobox you select which loadingscreen file you want to create, GD allows 3 total.

  4. In the bottom combobox you will see a list of the images you have placed into the folder:

  5. Now just press the Set button:

    Do this for each loadingbackground if you wish. Switcher keeps track of and remembers each loading screen file you set. You can even click the text lines to launch the listed photo for viewing…

  6. Want to randomize it? Easy:

    Click anywhere in the area shown. With this option checked the tool will randomly choose from all images placed within the folder and update each loadingbackground file. You can set the time for between 1-30 minutes or between 10-59 seconds. This can be done with the game running no problem.

  7. There are two small buttons next to each combo dropbox…

    1. Opens the loadingscreen tex folder location at:
      C:\Users\YOUR USERNAME HERE\Documents\My Games\Grim Dawn\Settings\UI\loading

    2. Opens the tools own operating folder:
      C:\Users\YOUR USERNAME HERE\Documents\My Games\_gdswitcher\load_screens

Back to Top

Extra Tips
  • Left-click the display text (marked in the below image) to open the listed images…

    Plus, you can also right-click on them as well to instead open the converted .tex files of said images within Crate’s modding tool, TexViewer.exe.

Enjoy! :scorv: If you have good backgrounds to use then, by all means, share 'em!


Update 1

Ok. Loadscreen Switcher has been considerably ‘tweaked/improved’ upon over the past couple of days.

Expand for Maximum Learning

New look

Old Look


  • It now checks for default GD install paths and retrieves them from you if other than defaults. Upon doing so it is then able to retrieve the needed TextureCompiler.exe and freeimage.dll on its own. Which it will.

  • It now has a default folder location where it performs all its operations:
    C:\Users\YOUR USERNAME HERE\Documents\My Games\_gdswitcher\load_screens
    It will create the location on first launch. You will want to place all your images here.

    This means that the tools executable can now be ran from anywhere you wish to place it. I also wanted this location for future tie-in/compatibility with my main GD Switcher tool… eventually.

  • You may have noticed the 3 text lines at the bottom of the application in the screenshot above…

    The tool now displays, and remembers, which image is used for each loading file that is set. Furthermore, clicking each of these text lines will open the photo listed for viewing…

  • Small buttons were added to the right of each of the dropdown combos…

    1. Opens loadingbackground tex files location folder:
      C:\Users\YOUR USERNAME HERE\Documents\My Games\Grim Dawn\Settings\UI\loading

    2. Opens the tools own operating location folder:
      C:\Users\YOUR USERNAME HERE\Documents\My Games\_gdswitcher\load_screens

  • Other than that I made some improvements to randomization feature and cleaned up the code a bit. Downloads available in the OP above.

Back to top of post

Enjoy! :scorv:

Update 2

Alright. Another update.

  • No longer do you have to be tied to just 4 mins on the Randomize feature. Now you can choose between 1-30 minutes and you can even choose between 10 to 59 seconds.

  • Decided to throw in support for using .tga and .psd files and .ico files since hilariously the TextureCompiler.exe will indeed convert ico’s into tex files. Sadly, I was hoping .gifs would make the cut too but not to be :sleepy:

  • Last update I added the ability to left-click the active image text and have it open the images for immediate viewing. But what about the images after they’ve been converted into loadingbackground*.tex files you say? Well, I got the solution for you there! Right-clicking instead on the text display will immediately open the images in Crate’s TexViewer.exe now (Switcher will now check for and copy the TexViewer directly into its folder).

  • Get it in the OP above.

Enjoy! :scorv:


This tool sounds amazing. I will try it out after work:)
Is it correct that i can use 100 different loading screens and they will all be shown randomily? Would be awesome!


I’ve noticed that a faster timer on the randomization works best. I prefer setting it at 15 seconds personally. The reason for this is that I’ve noticed that there are times where they won’t switch out and write over properly while playing - there is the chance that if you are currently rifting - and thus viewing a loadscreen - that the game will prevent my tool from copying over a new one if both actions occur at the same time.

So, this is why I recommend a faster timer.

Alright will try that out:)
Is it possible to not run the programm all the time? Or does it need to run to switch the backgrounds?

Like with any program, it needs to be running to do its job :wink:

So, yes, if you wish it to keep “randomizing” while playing it does indeed need to stay running. If you want to just “set” the loadscreens to something else and aren’t in the mood to randomize then in this case you can set it and shut it down. Your loadscreens will remain at what you set them at or at whatever the randomizer last set them at.

I somehow thought that your program is a one time changer :rofl:
Not a cool real-time randomizer. I think you should update a title.
Like I do - super long titles so that everyone is 100% sure to know :wink:

1 Like

lol I’ll think on it :scorv:

Okay i tested it now. It works perfectly fine! Thank u! U are my hero! :slight_smile:

1 Like

Glad it’s working out for you @ReZZiT - if you find any issues be sure to let me know. All-in-all it’s a fairly small and simple program so I’m not expecting any problems in functionality but you never know I guess :slight_smile:

Also, if you have any ideas that might make it better I am also open to hearing any such suggestions. At the moment about the only thing I can think of that might improve it slightly would be to add an option to allow the user to choose (and set) their own photos folder. Nothing major but it’s something I might toss in down the road.

So if I read this right, the Randomizer feature overcomes the “Grim Dawn only accepts 3 screens at a time” proviso?
I’d always wanted to add the other character art as loading screens but I don’t want to lose out on the three we already have.

1 Like

Yup. It’ll randomly pick any of the images placed in the folder.

But, as far as the 3 defaults… They would be overridden by whatever is chosen… Unless you already had them also in the folder.

Wonderful. I tried it out and it works just as advertised. There was a spell where I had the same image several times in a row over a few minutes, but that must have been the randomness at play. Didn’t happen after that.

I kinda understand the dev’s point about the older wallpapers not making the best loading screens, but I’m so glad I got to try them. The new wallpapers like Tomb of the Heretic and Port Valbury look amazing in-game though.

Many thanks for all you’ve done to add that extra bit of awesome to the game. :+1:

1 Like

Yea in the past I noticed that sometimes it didnt seem to kick in everytime and change… which could be the randomizer picking some of the same ones or it could be that it tried to change at the same time as you were using a rift and thus viewing the loading screen at that moment, which might potentially interfere with it being able to randomize. That’s why I added in the ability to set the randomizer for faster times. Glad you find it useful.

I’ve been playing around with it for the past day and have prepared a set of 15 loading screens that might be of interest to anyone using this tool.

It contains the 3 original screens, the 9 character classes, plus 3 other wallpapers that work exceptionally well as loading screens.

All images are optimized for 16:9 resolutions. The 9 character artworks have a black border where the loading screen tips & tricks fit quite nicely and therefore remain readable. I’d recommend turning on the randomizer to 15s intervals to get the most out of it.

Download: GDSwitcher Load Screens

1 Like

hey, thanks for writing this! it’s really nice to have. some wishlist things:

It’d be real nice if you cached the compiled texture files, rather than recompiling them every time they change. if the random switch rate is high (which is nice, IMO) then it spends a lot of time compiling the textures without needing to.

It’d also be nice if the textures were symlinked or renamed, rather than copied, just to reduce the amount of work being done on disk.

It’d be cool if your script was only active, randomising things, when the grim dawn app was active; AHK should be good for that. :)

Finally, it’d be great to have it remember that it should randomise the screens, or have some option to auto-start them, so that it can be “fire and forget” in the background when GD is launched. (I use PlayNite as my launcher, and it can run arbitrary scripts before and after the game, so is easy to auto-start something like this.)


I discovered the problem and fixed it. All you need to do is redownload from the OP above, run it, then “Set” your images again, and it should work as it’s supposed to now. Let me know if everything goes well. Thank you.


Apologies for the massively late reply. Not sure if you are even still paying attention to this forum anymore but all your recommendations are actually pretty good ones that I may someday tinker with and see if I can figure them out and implement if I ever find time (I am very much a hobby coder yet). Life has been pretty busy for me lately so I dunno if I’ll be able to any time soon.

Regardless, the code is available above and anyone that wants can definitely feel free to improve upon my own (if they can decipher my bad coding practices and make something of it). If you do just msg me to have a look at the source of what you’ve done and I will probably upload it and credit you of course for your work.

1 Like