All pages
Powered by GitBook
1 of 10

Editor

The main mod-editor interface of WolvenKit

What is the Editor?

The Editor is the main mod-editing workspace within WolvenKit, holding the docking window for the individual Editor panels.

The Wolvenkit UI as of 8.13

Editor panels

For an explanation to the editor panels, please see the corresponding sub-pages:

  • Project Explorer: Your local game files go here

  • Asset Browser: Browse game files or mod files

  • Properties / File Preview: Information about the current file

  • File Editor: Edit or view game files

  • Log: Shows you error messages or File Validation output

  • Tweak Browser: Lets you browse existing tweaks

  • LocKey Browser: Lets you browse translation entries

Docking

The docking in WolvenKit is similar to other IDE's such as Visual Studio. All panels can be rearranged by docking to specific areas, or used as a standalone floating window.

Try double-clicking an Editor title bar to create a floating window!

Status Bar

The Status Bar along the bottom of the application window contains useful information such as your WolvenKit version number and the current mod project, and provide the ability to install new updates if available.

Project Explorer

What is the Project Explorer?

The Project Explorer is primarily a tool for organizing and navigating mod project files. The Project Explorer gives a constant tree view of all mod project files which streamlines the modding workflow significantly. There are four main WolvenKit directories inside the Project Explorer.

Project Explorer Tabs

You can switch between different tabs at the top of the project explorer (see the red arrow on the screenshot below). Their function (and content) will be explained in the next sections.

As of 8.11

Archive

Only shows you files under your_wolvenkit_project/source/archive.

Contains files that will be bundled into your mod's .archive file. For more information, check the documentation under WolvenKit Projects -> Archive

Raw

Location: your_wolvenkit_project/source/raw.

Your (dirty?) working directory. Contains files that will not be part of your mod, as well as exported files. For more information, check the documentation under WolvenKit Projects -> Raw

Resources

Location: your_wolvenkit_project/source/resources

Contains control files for your mod. For more information, check the documentation under WolvenKit Projects -> Resources

Source

Location: your_wolvenkit_project/source

Will show you everything under your project's source folder. No context sorting.

Using the Project Explorer

WolvenKit features a bespoke File Editor which is capable of opening and modifying any REDengine file. Double-click any file within the archive directory of the Project Explorer to open the document viewer. Non-REDengine files which are typically stored in the raw directory can be accessed with the Project Explorer as well. Files such as blend, psd, png, and many more can be opened with the preferred system application. For example, double-clicking a .tga file will open the file with the users system preferred image application.

Any file within the Project Explorer can be moved by dragging and dropping. Additionally files can be copied by holding Control while dragging and dropping.

Context Menu

Right-click any file within the Project Explorer to explore the Context Menu.

Open in MLSetupBuilder

Requires MLSetupBuilder plugin for WolvenKit. Install by navigating to the View Options Toolbar panel.

Export to JSON/Import to JSON

Writes any REDengine file within the archive directory to human readable JSON format, as a mirrored file within the raw directory. JSON files can then be modified and converted back to REDengine format from the context menu by right-clicking the JSON file.

Delete

Moves any project file to the OS/system Recycle Bin.

Rename

Opens a dialogue box which allows any project file to be renamed.

The Update in project files option will make WolvenKit update all references in your source and resources folder.

If you're renaming a folder, WKit will replace all occurrences of the folder's path! It might be better to rename individual files.

If you learned this the hard way, File Validation can help.

Copy

Select any project file to be copied.

Paste

Pastes copied project file.

Copy relative path

Copies the selected file path to OS/system clipboard, trimming off all folders outside the game directory. Extremely useful for modifying paths while using the File Editor.

By pressing Shift and/or Ctrl, you can display alternative copy options

Replace with original

Replaces the selected file with the original unmodified version from the game archives. (archive directory only)

Open in File Explorer

Find the selected file with the OS/system file explorer.

Filtering

The Project Explorer can be filtered by directory.

SOURCE | All project directories (default) archive | Archive directory raw | Raw directory resources | Mirrors the game directory, use it to place additional files PACKED | Internal WolvenKit folder for mod deployment. Will be wiped before packing the project! Additionally the rightmost hamburger-style button can be used to toggle a flat file list without folders.

Asset Browser

Live archive explorer

What is the Asset Browser?

The Asset Browser is used to navigate, search and filter Cyberpunk 2077 game files so you can transfer these to the Project Explorer. The Asset Browser eliminates the need for uncooking the entire game installation, as individual files can be pulled directly from archive files.

Where is it?

In the default view (as of 8.11), you will find it pinned to the right side of the viewport.

If it isn't there, check the View menu and make sure that it's enabled.

Using the Asset Browser

Wolvenkit Search has its own sub-page: Wolvenkit Search: Finding files

Navigation

The left-side breadcrumb navigator can be used to quickly navigate through game directories. Game files are displayed in the right-side panel, in addition to folders. Folders in the file list can also be navigated by double-clicking.

Mod Browser

You can switch the Asset Browser to Mod Browsing mode via button. The search will no longer consider base game files and search in your loaded .archives instead.

Wolvenkit will search any installed mods and anything under the Additional Mod Directory. There is no way to browse an .archive file in a different folder — if you insist on doing that, check Legacy: Analysing other mods with Wolvenkit Console.

Adding files to projects

  • Double-click files to add them directly to the Project Explorer

  • To select multiple files hold shift and then left click two separate files. These two files and all files between them will be selected. Right-click any of the highlighted files to open the context menu. Then choose Add Selected Item(s) to Project.

Files added to the Project Explorer with the Asset Browser will not include external buffer files. Buffers are stored within the main file.

Context Menu

As of 8.11.1, the context menu has the following entries:

Add selected items to project

See Adding files to projects above

Open without adding to project

What it says — you can browse a file in the File Editor without adding it to your project. Saving (Hotkey: Ctrl+S) lets you save it to disk, though.

Find used files

Requires the Wolvenkit Resources plugin to be installed.

Will make the Asset Browser display a list of everything your current file is linking to.

Find files using this

Requires the Wolvenkit Resources plugin to be installed.

Like Find used files, but the opposite: will make the Asset Browser display a list of everything that links to your current file.

Browse to asset folder

Will navigate the asset browser to the current selection's path in the game files (if it is a game file).

Copy Relative Path

Copies the selection's relative path to clipboard.

Properties

What is the Properties viewer?

The Properties Viewer is used to provide extra information about selected files from within the Asset Browser or the Project Explorer. The Properties Viewer can also generate instant previews for REDengine texture and mesh files.

Ensure Show File Preview is enabled within Settings if previews are not working.

Using the Properties viewer

Mesh Preview

Mesh files can be previewed by selecting them within the Asset Browser or Project Explorer.

Controls

  • Hold and drag Left Mouse Button to rotate the mesh

  • Hold and drag Right Mouse Button or use Mouse Scroll to zoom

  • Hold and drag Middle Mouse Button to pan

Image Preview

Image files can be previewed by selecting them within the Asset Browser or Project Explorer. The image previewer is capable cropping, flipping, and markup. While the markups will not get saved to original file, they can be exported by using the save button.

Do not use the Image Preview tool for creating mods. Refer to the Import/Export tool for fully exporting textures.

Audio Preview

Audio files can be previewed by selecting them within the Asset Browser or Project Explorer.

Video Preview

Important: Due to licensing issues, Wolvenkit no longer features a video preview. You can find bk2 viewers on Google.

Double click BK2 files in the Project Explorer or right-click them in the Asset Browser

Space to play / pause Esc = End video Use the bottom bar to scrub through the video.

Video Preview showcase

File Editor

REDengine file editor

What is the File Editor?

The File Editor is a document viewer and manipulator for modifying any REDengine file. WolvenKit is the only RTTI-based editor for RED4.

Starting with 1.14, Wolvenkit offers multiple editor modes. See Switching Editor Modes for details.

Switching Editor Modes

Starting with 1.14, Wolvenkit lets you switch editor modes by double-clicking the first button in the toolbar:

1.14 interface
1.15 interface

Simple Mode

Properties that you don't normally have to edit will be hidden.

Recommended for beginners and people who don't like to scroll.

Regular Mode

The file editor you know and love.

Expert Mode

Coming soon™️

Adding files via File Editor

To edit a REDEngine file, you have to add it to your your project's archive folder first. There are two ways to do this from the Asset Browser:

  • double-click on a file in the Asset Browser's navigation window

  • select several at once, then use the Add Selected Items to Project option from the context menu

You can also open files without adding them to your project:

  • Right-click a file in the Asset Browser and use Open Without Adding to Project

This version of the file is read-only; you can edit it, but you can't save it.

An annotated screenshot demonstrating how to add a file from the Asset Browser to Project Explorer

Files in your Wolvenkit Project are accessible via Windows Explorer. It also works the other way around; however, not everything has to be compatible.

Saving Edited Files

See the next section about Editing files

TL;DR: Wolvenkit does not auto-save for you. Do it yourself, you lazy gonk!

Unless you have opened a file as read-only, you can save your changes in the following ways:

  • Hotkey: Ctrl+S

  • Save/Save All button

Unsaved files will have an asterisk next to their name in the editor tab.

Bear in mind that files added with the Open Without Adding to Project option behave identically even though they can't be saved; this is so you know that a file you may be using for reference has been edited by you - possibly seven or eight hours ago, when you foolishly thought "I can figure out how to make this mod in five minutes" - and is no longer the same as the original file.

Opening files

Editing files

Once a project is part of your Wolvenkit Project and shows up in the Project Explorer, you can open and edit it. Again you have two ways of doing that:

  • Double-click the file

  • Click on the blue icon that appears next to the file when you mouse over it

You can clear up some extra space for the File Editor by un-pinning other parts of the view with pin icon at the top right, reducing them to easily-accessible tabs.

The file editor features two resizable panels, the tree view and the editor panel.

An annotated screenshot explaining the File Editor's interface

Navigating files: The tree view

The tree view on the left lets you browse the file's structure. All entries are indented per level and can be collapsed by category to preserve the user's sanity as much as possible.

Many entries will have descriptor entries in white or grey that give you a preview on their contents.

The File Editor Context Menu

The File Editor Context Menu appears when you right-click on something in the File Editor. It offers different options depending on what you currently have selected. Maybe they will one day be comprehensively documented, but it will not be this day. Also, bear in mind that this is specifically about the File Editor context menu, which is not the same as the context menus in Asset Browser and Project Explorer.

Array items (Handles)

The context menu options available for items/handles

TweakXL: Override Value

Does not make sense under all circumstances, but will valiantly attempt to create a TweakXL override for the current selection (as if you had selected it in the Tweak Browser). This override will be saved as a .yaml file and, depending on the handle you tried to use it on, its contents may be useless. You must have TweakXL installed via the Plugins menu to get this option to appear in the context menu.

TweakXL: Copy to clipboard

Attempts to copy the Tweak identifier to clipboard. If something without a tweak identifier is selected, you'll get the RedType instead. This option, like the previous one, will not appear without the installation of TweakXL via the Plugins menu.

Duplicate item in Array/Buffer

Creates an exact copy of the currently selected item/handle, which will be inserted directly after it (this is important for e.g. material instances in mesh files). This copy can be edited without affecting the original, unlike the next option in the context menu:

Copy Handle

Creates a reference to the handle. Unlike the previous entry, this does not create an independent copy; it's a reference to the same instance of the handle, not unlike a desktop shortcut. Whatever changes you make to the reference will also transfer to the original, and this will not be immediately apparent because WolvenKit does not update this in real-time. You must save the file and reopen it to see the original and the reference showing identical values after only one of them was edited.

Paste Handle

Exactly as it seems: it's the paste function of Copy Handle. As explained above, it pastes a reference, not a copy. Do not use this if you want a copy that you can edit independently of the original. "Why the hell wouldn't I always want that?", you might be asking. Because in some files, it can be helpful to have the same instance of a handle referenced in various places and only having to edit one of them. Do not question us, for we know the Old Ways (and if you do, the ideal avenue is to open a ticket in the Issues tab of GitHub).

Copy From Array/Buffer

Copies the currently selected item/handle for pasting inside of Wolvenkit. You can only paste items to a compatible array. If you have selected multiple items, the most recent selection will be used.

The clipboard will be cleared once you paste an item to prevent reference cloning.

Copy Selection From Array/Buffer

Copies the currently selected items/handles for pasting inside of Wolvenkit. You can only paste items to a compatible array.

The clipboard will not be cleared once you paste. However, if you paste multiple times, all those pasted items will be identical - so if you change the file path in one of them, it will change all across your file.

You can Duplicate item in Array/Buffer to fix this, or you can abuse it to save copy-pasting. Word of warning: if you choose the latter, you will ruin somebody's day, and it's probably going to be future you.

Export to JSON

See Export as JSON Particularly useful for searching large files with CTRL+F in your word editor of choice. However, JSON conversion can get confused by some complex graph files. For instance, humanoid.animgraph is converted into a 300-megabyte JSON (300 times the original file's size) with over half a million lines. But hey, you can still CTRL+F it, so there's that.

Delete Item in Array/Buffer

Deletes the currently selected item/handle. If you have selected multiple items, the most recent selection will be used. This can also be done via the right-side window of the file editor by clicking on the red trashcan icons, as shown earlier in this article.

Delete Selection From Array/Buffer

Deletes the currently selected items/handles.

Delete All Items in Array/Buffer

Empties the entire list of items/handles. This is tipically accompanied by a distant, echoing voice that seems to say "That's a bold strategy, Cotton, let's see if it pays off for 'em."

Reset Object

Will reset the selected handle and all its values to their default greyed-out state, as if you had just created it by using Create Item in Array or Create Handle. It undoes all edits, including those by Cyberpunk's developers.

Editing files: The editor panel

The Editor View on the right side lets you edit the selected properties (arrays, handles and variables).

You will observe different kinds of values (dropdowns, numbers, booleans, texts, enums...). Many of those appear in grey:

Source file: base\physics\physicsmaterials.physmatlib

Those properties have not been changed by the person who touched this file, still holding their .

You can deduce quite a few things about a property's functionality by examining which parameters are untouched and which have been tweaked by Cyberpunk's developers.

Editing properties

Starting with 8.15, the editor has become smarter. By enabling "use validating editor" in the settings, you can turn on contextual hints:

The editor panel will show you the following kinds of controls:

Text fields

The icon that says "abc" on it is the one you shall learn to fear, for it heralds the coming of a string variable. Whenever you see it next to a property you need to edit and you don't know what strings you can type in it, get ready to spend the next several hours of your life getting very well-acquainted with WolvenKit's search feature.

The "abc" icon, rendered in lowercase presumably in an attempt to minimize the dread it inspires deep in one's soul

Curve fields

Some file formats offer more specific editing tools. For instance, curve properties often give you a Curve Editor, especially useful in .curveset files:

The curve editor in all its chaotic artistic glory

Node view

And some node-based files, such as .questphase files, offer a Graph View for viewing nodes and their connections:

The Graph View. Obviously. We have to write something under these images otherwise the spacing between the image and the next paragraph becomes weirdly unnerving.

Some node-based file formats, such as .animgraph and .behavior files, are not yet blessed with the Graph View, which as of February 13th 2024 is still under development. These files can be extremely complex and their properties un-collapse into so many sub-properties that it literally breaks WolvenKit's indentation:

This is the humanoid.animgraph file, which has over 4000 nodes currently browsable only in list form. You can think of it as what would happen if M. C. Escher took some ketamine and decided to design a maze. Converting this file to .json format results in a 300-megabyte file with over half a million lines. It holds naught but pain and suffering.

Until the Graph View is made available for these file formats, they are to be feared.

Adding, Removing or Replacing Properties

Other than browsing and editing properties, you can also delete them, replace them, or add completely new ones.

The possibilities are endless, but most of them make the game crash. Wolvenkit will already prevent you from doing a lot of dumb things, but you can still get creative.

To edit the property structure, you'll mostly use the project tree and its context menu, whereas you edit the property's contents in the editor panel.

This section will give you an overview about the existing types of properties and what they are commonly used for.

Arrays

Arrays are lists of items. They look like this:

The "boneNames" array in a mesh

You can duplicate, add and remove array items and change their order via drag&drop.

Arrays can contain any of the other types of data. They do not contain other arrays directly; but Handles often include other arrays.

The "Paste" operations will be disabled if the items you copied aren't compatible with your currently-selected array.

Variables

The "data" in "data structure", the lowest level of nesting. You can edit them in the editor panel to the right, and they will never hold other variables.

Data Structures

As the name implies, a data structure is anything that structures data. These elements can hold any collections of other data structures, variables, or handles.

Handles

Handles are a special kind of data structure, which hold pieces of executable code.

Since you can't customize editable handles, you might as well delete them.

Handles: An example

Handles do specific things within the scope of the array they belong to. For instance, the weapon_shoot_effect.es file is the foundation for how gunshots behave the way they do in Cyberpunk. It has several entries dealing with different aspects of gunshots, and each entry has an array called effectExecutors. It can hold dozens of other entries, such as PhysicalImpulseFromInstigator or HitReaction. Now let's say you open weapon_shoot_effect.es, uncollapse the player_ray entry, then uncollapse the effectExecutors array, and remove the HitReaction element from it. Congratulations, you have just eliminated gun violence in Night City. Bullets no longer cause damage or even reaction animations. You absolute hero, you.

In case you don't know, player_ray refers to the concept of a gun's raycast, which detects objects along the path of a bullet and applies appropriate behaviors. So if a lack of familiarity with that term was causing you to wonder who the hell Ray is, well, I hope it's now clear.

You can also replace existing handles or add new ones from a list of handles compatible with the array:

A demonstration of handle creation/replacement functionality in the weapon_shoot_effect.es file

When you select an array on the left-side window of the File Editor, you will find two types of yellow buttons on the right-side window: Create Item in Array, which sits alone at the top, and Create Handle, which appears next to every handle in the array. Clicking either of them will bring up the Type Selector: a search menu that lets you pick from a list of handles compatible with the array. The difference is that Create Item in Array adds the selected handle to the array whereas Create Handle replaces the handle it was next to, deleting it in favor of the one you picked.

In either case, the Type Selector will give you the full list of handles you can choose for the array in question, and you can narrow down the list by typing search terms such as, say, "Grenade", or "Effector", or "ofwifagbaygfaergergqhqjqtjfy" if you fall asleep on your keyboard:

The new and extremely improved Type Selector, which as of February 13th 2024 is available only on the nightly branch of WolvenKit

As of February 13th 2024, the main branch of WolvenKit is still using the old Type Selector, which is slow and limited in its search capabilities. It works like autocomplete, so you can't just type "Effector" and get every item that has "Effector" in the name. The new Type Selector can do that and is much faster. If you don't want to wait for it to be released on the main branch (probably in 8.13.0), you can already use it in WolvenKit's nightly branch.

If you select a handle instead of an array on the left-side window, you will still get the Create Handle button on the right-side window, allowing you to replace the handle you have selected.

The red trashcan icons can also delete handles, as you've surely guessed, but there's a way to do it directly on the left-side window using the File Editor context menu. So for our next section, we proudly present... *insert drumroll here*

Editor Difficulty Mode

Editor difficulty mode explained

Summary

Created: Dec 03 2024 by mana vortex Last documented update: Dec 03 2024 by mana vortex

This page describes Wolvenkit's Editor Difficulty Mode.

Where to change it

To change the default, head to Wolvenkit's settings page

To switch it in-editor, use the dropdown in the upper left corner of the .app

The person who wrote most of the wiki and implemented the feature uses easy mode as default!

Easy

Recommended for beginners. Many properties that you won't want to edit are hidden, other properties that you shouldn't edit are write-protected.

Default

Should show all properties that you realistically want to edit for regular use cases. Autogenerated properties are write-protected, irrelevant properties (e.g. platform) is hidden.

Advanced

The authentic editing experience from <= 8.14. Rawdogging CR2W without protection. Use at own risk.

Preview

Previews for meshes and entities

Please note that the material preview is a rough draft implementation. Until somebody invests a bunch of time to fix it up, the preview will be neither accurate nor pretty, and many materials may not be created at all.

Entity Preview

To be done

Mesh Preview

You can find the mesh preview inside the file editor for .mesh files in its own tab. For further explanation of the UI, see UI documentation

UI documentation

Appearance dropdown

Lets you select an appearance from the list of defined appearances

Level of Detail

Lets you select the Level of Detail, which will load higher or lower fidelity meshes to optimize performance.

Generate Materials for Appearance

When you hold the Ctrl key, Wolvenkit will regenerate the materials from disk.

Please note that the material preview is a rough draft implementation. Until somebody invests a bunch of time to fix it up, the preview will be neither accurate nor pretty, and many materials may not be created at all.

Will create a rough approximation of the surface material. As of March 2024, this feature needs a lot of work.

Log

What is the Log?

The Log is WolvenKit's internal logging service to inform the user of what's happening under the hood. It also shows output from the File Validation feature, which will check file connections for you.

If something is not working as expected, take a peak into the Log to check for useful information.

Tweak Browser

What is the Tweak Browser?

Based on Wkit v. 8.11.0

The Tweak Browser lets you to search for various elements. For instance, you can utilize the TweakDB Editor ⇗ in CET to locate a weapon record ⇗, then use the identified name to search for the entry in the Tweak Browser in WolvenKit. Once found, you can right-click on the tweak and select 'Add TweakXL Override', once done that you'll create a .yaml file with the tweak array structure.

The location of the browser in Wolvenkit depends on your design view. In most cases, you can find it within the right-side navigation. However, if you're unable to locate it, you can easily enable it by navigating to 'View' and selecting 'Tweak Browser'

Right click on the element to 'Add TweakXL Override'
After that action you'll have a .yaml file inside a 'resources' folder on the root directory of the project

For furter info about TweakDB modding you can check the CET Wiki ⇗ and the Cyberpunk 2077 Modding wiki ⇗

LocKey Browser

What is the LocKey Browser?

Based on Wkit v. 8.11.0

LocKey is a localization key designed to identify localized text strings. These keys, such as 'vehicle_enter' (which is not only user-friendly but also has a unique ID used typically), are employed throughout the game. Prior to display, these keys undergo localization to match the language setting of your game.

The LocKey browser allows to search for a specific localized text and reveals the corresponding LocKey (numbers) that, when localized, contains the desired text (string).

a capture of the LocKey Browser

The location of the browser in Wolvenkit depends on your design view. In most cases, you can find it within the right-side navigation. However, if you're unable to locate it, you can easily enable it by navigating to 'View' and selecting 'LocKey Browser'