-
Notifications
You must be signed in to change notification settings - Fork 7
Environment Variables
Environment variables can be used to affect Everest, sometimes overlapping with in-game Settings or Command Line Arguments.
Variables can also be added to an everest-env.txt file next to everest-launch.txt, and will be loaded automatically by Everest.
Note that some of these variables are not maintained/tested, and may not work as intended. Please open an issue 🔗 and update this page if a broken variable is not already documented as such.
- Lines starting with a hash
#are comments. - Each line is expected to be a key-value pair separated by an equals sign
=, much like shell variables. - The key and value may be enclosed in single quotes
'.- If whitespace is included within the quotes, it is preserved.
- The value accepts
\rand\nescape sequences and variable substitution with${key}.- Variable substitution only accepts
keybeing the key of the line being currently parsed.
- Variable substitution only accepts
- If the key name ends with an exclamation mark
!, the value is interpreted verbatim without any further processing; meaning, the above is skipped.
Practical examples
# Define the "MY_ENVIRONMENT_VARIABLE" environment variable with the value of "Hello world!".
MY_ENVIRONMENT_VARIABLE=Hello world!
# Surrounding whitespace is insignificant.
# All of the definitions below are the same as the one at the top.
MY_ENVIRONMENT_VARIABLE= Hello world!
MY_ENVIRONMENT_VARIABLE =Hello world!
MY_ENVIRONMENT_VARIABLE = Hello world!
MY_ENVIRONMENT_VARIABLE = Hello world!
# The variable and its value may be enclosed in single quotes.
# All of the definitions below are the same as the one at the top.
'MY_ENVIRONMENT_VARIABLE'=Hello world!
MY_ENVIRONMENT_VARIABLE='Hello world!'
'MY_ENVIRONMENT_VARIABLE'='Hello world!'
# Leading/trailing whitespace enclosed in single quotes is preserved.
# The definition below will include two spaces after the period.
MY_SENTENCE='I have trailing space. '
# The definition below will define a variable name with two spaces at the end
# as part of its name.
# (not sure why you'd ever need an envvar with spaces, but it's there)
'MY_CURRENT_MOOD '=Spacing out.
# The value accepts \r and \n escape sequences.
# The definition below has three Window-style line breaks.
MY_HAIKU=First line of haiku.\r\nOh! Second line of haiku.\r\nThird line of haiku.
# Variable substitution with ${key} is possible, but the key must be the same
# as the variable name being currently defined.
# The definition below appends two new lines and "Bottom text" to the end of
# the MY_MEME environment variable.
MY_MEME=${MY_MEME}\r\n\r\nBottom Text
# Attempting to do variable substitution with environment variables other
# than the one being defined will not work.
# The definition below will evaluate to the literal string
# "I'm ${MY_COLOR} (da ba dee da ba da)".
MY_CONDITION=I'm ${MY_COLOR} (da ba dee da ba da)
# If the variable name ends with an exclamation mark (!), escape sequences and
# variable substitution are not performed.
# The definition below will evaluate to the literal string
# "${MY_MEME}\r\n\r\nBottom Text".
MY_BAD_MEME!=${MY_MEME}\r\n\r\nBottom Text
Determines the name of the log.txt file that Everest writes to.
If the file does not have a trailing .txt extension, one will be appended before writing to the file.
Value: file name
If set, uses the XNA keyboard driver instead of FNA's. This can help with input latency or certain keys not being registered.
Values: 1 or 0 (default)
Suppresses the automatic opening of the Error Log on crash.
Values: 1 or 0 (default)
Overrides the directory where the Saves folder is located.
Value: path
Enables or disables requesting window focus after the game window shows up. When empty the focus request will only be triggered if the everest boot splash was enabled, but if its assigned to 1 or 0 the focus request will be performed/skipped regardless of the splash configuration, respectively.
Values: 1, 0 or empty (default)
Determines the location where temporary files, like mod updates and/or dependencies, are stored. When empty, defaults to the location of Celeste.
Value: path
Initializes the Local Lua Debugger 🔗 when loading a LuaModule.
Values: 1 or 0 (default)
Variables listed here used to be recognized by Everest but no longer are.
Everest would avoid using RenderTargets.
Values: 1 or 0 (default)
Used to enable headless mode for Everest. Re-implemented to be specified as an argument for MiniInstaller, see Command Line Arguments.
Other libraries used by Everest and Celeste have their own environment variables that can be set to configure their behaviour. Any notable examples will be included here, but for a full reference please see the documentation for those libraries.
Home
Contributing
FAQ
Useful Links
Your First Custom Map
Your First Texture Pack
Mod Setup
Custom Maps
Texture Packs
Uploading Mods
Generated Dialog Keys
Reference Code Mod 🔗
Vanilla Audio IDs
Vanilla Decal Registry Reference
Vanilla Player States 🔗
Character Dialogue
Character Portraits
TextMenu Reference
Monocle Reference
Mod Structure
Debug Mode
Debug Map
Command Line Arguments
Environment Variables
Install Issues
Common Crashes
Latency Guide
everest.yaml Setup
Mapping FAQ
Map Metadata
Vanilla Metadata Reference
Adding Custom Dialogue
Overworld Customisation
Entity & Trigger Documentation
Custom Entity List 🔗
Camera
Useful Mapping Tools
Custom Tilesets
Tileset Format Reference
Stylegrounds
Reskinning Entities
Skinmods
Decal Registry
Chapter Complete Screen
Custom Portraits
Adding Custom Audio
Advanced Custom Audio
Cassette Music
Troubleshooting Custom Audio
Code Mod Setup
Making Code Mods
Settings, SaveData and Session
Everest Events
Understanding Input
Logging
Cross-Mod Functionality
Recommended Practices
Mod Updating Guide
Custom Entities, Triggers and Stylegrounds
Lönn Integration 🔗
Custom Events
Adding Sprites
Adding Preexisting Audio