Oblivion Script Extender - OBSE by OBSE Team
Oblivion » Utilities
Added: 10/04/2011 - 01:56AM
Updated: 11/05/2017 - 03:25PM

24,480 Endorsements

0021 Latest version

329,731 Unique D/Ls

578,332 Total D/Ls

1,577,627 Total Views

Uploaded by Zaldiir


Last updated at 4:25, 12 May 2017 Uploaded at 14:56, 10 Apr 2011

Ian Patterson, Stephen Abel, Paul Connelly, Madeesh Kannan
(ianpatt, behippo, scruggsywuggsy the ferret, ShadeMe)

Additional contributions from
Timeslip, The J, DragoonWraith, SkyRanger-1, badhair, JRoush, and kyoma.

I, Zaldir, am in no way affiliated with the OBSE Team. I am only maintaining the OBSE upload on NexusMods. I might be able to help with minor issues, but most often, issues will have to be taken up with the OBSE Team.

Version 0021 Direct Download
(Current stable version, recommended for general use.)

OBSE Website

(link is for v20 documentation. v21 documentation is included in the download.)


The Oblivion Script Extender, or OBSE for short, is a modder's resource that expands the scripting capabilities of Oblivion. It doesn't make any modifications to oblivion.exe, TESConstructionSet.exe, or any other files in your oblivion install, so don't worry about permanent side effects. It is compatible with the Oblivion patch, as well as the 1.2 version of the Construction Set. Versions of Oblivion downloaded via Steam are supported as well.

Do not attempt to install OBSE with the Nexus Mod manager - it won't work!
The instructions for installing and running OBSE differ based on whether you are using a retail or Steam version of the game.

You need to have DirectX 9.0c for OBSE to work. Any Windows later than Vista do not come with all the files necessary for some programs to work. If you have issues with OBSE on a freshly installed OS, try downloading and installing the DirectX 9.0c End-User Runtime (Direct Link).

Retail (Non-Steam) version
1. Copy obse_1_2_416.dll, obse_editor_1_2.dll, and obse_loader.exe to your Oblivion directory. This is usually in your Program Files folder, and should contain files called "Oblivion.exe" and "OblivionLauncher.exe".
2. Run oblivion by running obse_loader.exe from the Oblivion directory.

If you use a desktop shortcut to launch Oblivion normally, just update the shortcut to point to obse_loader.exe instead of oblivion.exe.

Steam version
1. Copy obse_1_2_416.dll, obse_editor_1_2.dll, and obse_steam_loader.dll to your Oblivion directory. This is usually "C:Program FilesValveSteamSteamAppscommonoblivion".
2. Ensure you have enabled the Steam community in-game, or OBSE will fail to load. Go to Steam > Settings > In-Game and check the box marked "Enable Steam Overlay".
3. Launch Oblivion via Steam or by running Oblivion.exe. OBSE will automatically be run along with Oblivion when launched. To disable this, rename or move obse_steam_loader.dll. You do not need to use obse_loader.exe unless you are running the editor.

Direct2Drive or GameStop App (Impulse) version
Not possible.

Running TES Construction Set with OBSE:

Scripts written with these new commands must be written via the TESConstructionSet launched with obse_loader. The recommended way to do this is to download the Construction Set Extender, which is an OBSE plugin that enhances the TES4 CS by fixing various bugs and adding new tools, and is highly recommended for mod development.

Alternatively, you can open a command prompt window, navigate to your oblivion install folder, and type "obse_loader -editor". The normal editor can open plugins with these extended scripts fine, it just can't recompile them and will give errors if you try. You can also create a shortcut to OBSE: Create a shortcut of the construction set.exe, and open the properties of the shortcut. In the "target" field, replace the target with
"INSTALL PATHOblivionobse_loader.exe" -editor
(Including the quotation marks (""), and change "INSTALL PATH" to your Oblivion installation path.)

OBSE Requirement:
If your mod requires OBSE, please provide a link to the main OBSE website instead of packaging it with your mod install. Future versions of OBSE will be backwards compatible, so including a potentially old version can cause confusion and/or break other mods that need newer versions. If you're making a large mod with an installer, inclusion of a specific version of OBSE is OK, but please check the file versions of the OBSE files before replacing them, and only replace earlier versions.

When your mod loads, use the command GetOBSEVersion to make sure a compatible version of OBSE is installed. In general, make sure you're testing for any version later than the minimum version you support, as each update to OBSE will have a higher version number. Something like:
if GetOBSEVersion < 5
MessageBox "This mod requires a newer version of OBSE."

Another alternative that is even more user-friendly is releasing your mod as an OMOD, and adding a script to check the version when installing the mod:
IfNot ScriptExtenderNewerThan #.#.#.#
Message "Requires Oblivion Script Extender v#### or greater"

Why doesn't Oblivion launch after running obse_loader.exe?
- Make sure you've copied all the OBSE files to your oblivion folder. That folder should also contain oblivion.exe.
- Check the file obse_loader.log in your oblivion folder for errors.

obse_loader.log tells me it couldn't find a checksum, what does this mean?
- You may have a version of Oblivion that isn't supported. The English official patch v1.2.0.416 is the one used by the Team. Localized versions with different executables or different patches may not work, but many have been successful. If there's enough legitimate demand for it, the Team can add support for other versions in the future.
- Your Oblivion install may be corrupt. Hacks or no-CD patches may also change the checksum of the game, making it impossible to detect the installed version.

Why does the OBSE loader tell me I need to use the autopatcher?
- Go to the OBSE website and download autopatcher, which will walk you through the update process. You will need the latest patch from Bethesda, as well as your original Oblivion DVD.

I am using the Direct2Drive/GameStop App/Impulse version of Oblivion. Why doesn't OBSE load?
- The Direct2Drive/Impulse versions of the Oblivion executable has additional DRM applied, which would be illegal to bypass. This version can not be supported. If you own a retail version of Oblivion, please use the autopatcher to extract a usable executable.
- Note that if you are interested in buying a digitally distributed version of Oblivion, the Steam version is supported.

Why does Oblivion crash when using OBSE?
- Let the OBSE Team know how you made it crash, and they may be able to help you.

Is there a Xbox 360 or PS3 version?
- Impossible.

Can I run OBSE and Oldblivion at the same time?
- Copy your oldblivion support files in to the Oblivion folder (oldblivion.dll, oldblivion.cfg, shaders.sdp), then run the loader with the -old command argument.

Why can't I use [IsKeyPressed] when running on a Windows 2000 system?
- You can. Open your Oblivion.ini (found in My Documents/My Games/Oblivion) and change the "bBackground Keyboard=0" line to "bBackground Keyboard=1".

How can I change the script editor font?
- Hold F11 or F12 while opening the script editor. F12 will default to Lucida Console 9pt, and F11 will show a font picker dialog box.

Can I modify and release my own version of OBSE based on the released source code?
- This is highly discouraged. Each command must be assigned a unique and constant opcode from 0x1000-0x7FFF. Bethesda started adding commands at 0x1000, and OBSE started adding at 0x1400. If you add new commands yourself, they may conflict with later releases of OBSE. The suggested method for extending OBSE is to write a plugin. If this does not meet your needs, please email the contact addresses listed below.

How can I write my own plugin with OBSE?
- Start with the obse_plugin_example project in the OBSE source distribution. Currently the documentation for the plugin API can be found in the source distribution under obse/obse/PluginAPI.h. Note that due to the opcode allocation issues discussed above, you will need to request an opcode range for your plugin by emailing the contact addresses at the bottom of the readme. Also note that plugins must have their source code available. The OBSE team has spent a very long time developing and documenting the interface to Oblivion's internals, so it is requested that plugin developers should also share their findings with the public. This will also help us make sure that we keep Oblivion as stable as possible even when using third-party plugins.

What is the 'src' folder for?
- The 'src' folder contains the source code for OBSE. Feel free to delete or ignore it if you are not a programmer interested in contributing to the project.

How do I use OBSE with 3D Analyze?
- Run normal Oblivion with 3DA once, then quit. Set up any configuration options you need at this point. This should create a config_DX.ini file in the Oblivion folder. Then, copy dat3.000 from the 3DA folder in to the Oblivion folder as well, and rename it to d3d9.dll. This makes Oblivion use 3DA all the time, so now just use obse_loader.exe like normal. If you buy an actual video card and want to disable 3DA, delete the new d3d9.dll from the Oblivion folder.

I am using the Steam version of Oblivion. Why doesn't OBSE load?
- Go to your Steam Settings page, pick the "In-game" tab, and make sure the "Enable Steam Overlay" box is checked.

Before contacting the OBSE Team about an issue, make sure that your game launches properly without OBSE activated. Emails can be found in the ReadMe.