Customizable options through Prefs.json file (computer version)

Since the time of the Thimbleweed Park Development Blog, a dialogue in the comments grew up among followers and devs regarding options of the user interface, keyboard shortcuts, resolution of characters on the screen and many others, to the point it became a recurring joke to say “make it an option!” to observations written in the comments.

Anyway I think it was a good choice in the end to have only the most important options in the graphic menu of the game, because otherwise too much of them would have been confusing and would have not really helped the experience of the average user (not to mention they have to be tested diffusely :stuck_out_tongue: )

But our beloved devs gave back to our impudent community and published a list of
options that can be customized acting on the Prefs.json file. I think it’s possible only for computer versions (Windows, Mac and Linux).

I read about some other options in these forums and on the TWP dev blog, so please if you find them (or if you’re a dev :slight_smile: ) add them.


Options from Ron’s blog post named “Options” on the TWP dev blog (Mar 31, 2017):

As promised, here are some of the options you can set in Thimbleweed Park.

First, you need to find the Prefs.json file.

Mac: ~/Library/Application Support/Terrible Toybox/Thimbleweed Park
Windows: AppData\Roaming\Terrible Toybox\Thimbleweed Park
Linux: ~/.local/share/Terrible Toybox/Thimbleweed Park

Most of these are just debugging, so don’t complain (haha… don’t complain… who am I kidding) about them giving you weird results, these are not meant for mere mortals, which is why they are not on the options menu.

We’re a very small team and we just didn’t have the time to iterate on these without letting more important issues slide.

Can the window be resized when in windowed mode. Since we use nearest neighbor scaling, this can produce ugly result. If things get goofy with the windows, go into Prefs and delete all the entries that start with “window” to return back to the default.

windowResizeable: 0

Amount of wiggle when mousing over the verbs, 0 = none

verbWiggle: 1

Amount of wiggle when mousing over the dialog lines

dialogWiggle: 1

Turns on pixel perfect mode. It hasn’t been tested very well, so it might cause issues. I’m sure it could be better, but we ran out of time. Remember, this is only the game scene, not the UI.
PixelPerfect mode seems to be broken if you’re not running windowed at 1280x720. No idea, used to work just fine.

pixelPerfect: 0

Number of times to “pop” the inventory when adding an object.

 inventoryPopCount: 5

Holding down the TAB key will show you hot spots. It’s not 100% accurate and might show false positives or false negatives.

hotspotCheater: 0

When the verb or dialog is on screen, how transparent is the background.

uiBackingAlpha: 0.33

Alternate location for save files (like dropbox). You have to use /, even on windows. If you save them in dangerous places, it’s all your fault. Applications that are sandboxed may not allow the saves to this location.

savePath: "/path/path/"

Show the system cursor.

systemCursor: 0

Clicking the right button will skip dialog, but only when you’re in a cut-scene or the cursor is off.

rightClickSkipsDialog: 0

For key mapping, you can only use lowercase, as it won’t see the shift key. You can also use numbers without quotes for scan codes. Some international keyboards map keys oddly. The only key you can’t remap is “o”, since it beings up options. I’m changing o to control-o for options in the next patch, then you will be able to.

keySelect1: "1"
keySelect2: "2"
keySelect3: "3"
keySelect4: "4"
keySelect5: "5"
keyOpen: "q"
keyClose: "a"
keyGiveTo: "z"
keyPickup: "w"
keyLookAt: "s"
keyTalkTo: "x"
keyPush: "e"
keyPull: "d"
keyUse: "c"

There are a lot more options, but most of them are for debugging and have no effect on a release build. If there is something I missed, let me know, I might have forgot it.

From Ron’s comment on “Patch Notes” blog post (Apr 04, 2017):

If you want to remap the skip dialog key, it’s:

keySkipText: "x"

Other options from Ron’s blog post named “Hints and dialogues” on the TWP dev blog (Jun 20, 2017):

Now, we know it’s not going to be for everyone, but it is 100% optional in that you just don’t call it. But I know one’s willpower can be weak. If you set…

hintsEnabled: 0

When you call the hint line, the phone will just ring and ring.

And lastly, I implemented some new keyboard commands.
1-6 will now select dialog choices or they can be reassigned using…

keyChoice1: "1"
keyChoice2: "2"
keyChoice3: "3"
keyChoice4: "4"
keyChoice5: "5"
keyChoice6: "6"

You can assign keys to cycle through characters using…

keySelectNext: "0"
keySelectPrev: "9"

You can now disable initing of the controller by adding…

disableController: 1

There were more keyboard commands (like the numpad) that I ran out of time, but I’ll save those for another update… because god knows, I can’t stop working on this f*cking game.

Another option from Ron’s post on the topic named “Remove verbs and items from the layout” on the TWP forums (Oct 4, 2017):

In your prefs file set:

hideUIEnabled: 1

Then you can use ^U to hide and show the UI.

Another option from Calypso’s post on the topic named “Permanently enabling the Ransome Unbeeped DLC” on the TWP forums (Mar 5, 2018):

The Ransome Unbeeped DLC is going to be enabled permanently if in your prefs file you set:

forceRansomeUnbeeped: 1

You can still disable Ransome’s uncensored voice whenever you want to, but when you start the game, the DLC is going to be “on” by default.


Maybe you should change your first post into a Wiki post and collect there all options. This is a very useful list! Thanks for digging them out. :+1:

Sorry but… I think this time it’s not the best idea. :slight_smile: I’m not a computer scientist, but we are talking about changing lines of code into a file that is working on the game. So I want everyone posting here to take responsibility for what he writes and also mention the source.

You mean like

Still, I think the odds are fairly low for that happening. Perhaps then have people add in the comments including their source and you edit the first post, to avoid having to scroll through a lot of posts that will go off-topic sooner or later. Plus, you’ll be notified, so you can punish any malicious editors.

1 Like

Ok guys, let’s do the wiki-post. I originally created it that way, but soon I was concerned about spammers and then I restored it.
The problem is in a month or a bit more your messages become unmendable.

1 Like

I added two more at the end. I tried to follow your style as much as possible.

1 Like

Thank you! You did even better than me! I still don’t get how you were able to display the pre-formatted single line like the whole paragraph…
I mean:

this single line

displayed as


The second way is more easy to read on the blue-violet background.

Have a look at our wonderful cheat sheet:

@Calypso: Would it be possible to “pin” that thread with the cheat sheet somewhere at the top of a category? The questions of how to format different things are still arising from time to time…

1 Like

Thanks for compiling the list of Prefs options into one post - that’s a great idea, Gffp!

I added a pin to the Markdown Cheat Sheet (it’s pinned in the General category for now). Don’t forget to click on the pin to have it always displayed at the top of the category (otherwise it gets moved back to its original spot after reading).


Isn’t there an option to SHOW the code of the dialogue line which is currently displayed?

It would be very important for the testing phase of the italian dub.

@Gffp @RonGilbert @David @Nor_Treblig @LogicDeLuxe


1 Like

I see multiple possibilities to achieve something like this:

First of all I could write all spoken dialogue to the log file including actor name, text ID and translated text (and timestamp of course).
So the text ID can be relatively easy looked up during the game or afterwards.

Then I could also show it in-game, maybe as separate objects which would also allow to see it after the fact (as long the room doesn’t change) or I could simply append it to the displayed dialogue.

I should be able to put something together on Sunday.

1 Like

That’s a good thing, since the only options I know are those I copied here above :slightly_smiling_face:.

@Nor_Treblig the log file is a great idea! Thank you very much for your cooperation, we really appreciate it!

1 Like