Dishonored 2

Reprise your role as a supernatural assassin in Dishonored 2. Declared a “masterpiece” by Eurogamer and hailed “a must-play revenge tale” by Game Informer, Dishonored 2 is the follow up to Arkane’s 1st-person action blockbuster & winner of 100+ ‘Game of the Year’ awards, Dishonored.

Required

  • Dishonored 2 on PC.
  • Dishonored 2 — Void Camera from the Releases page. Download and extract the ZIP containing the injector and camera DLL.

Optional

  • SRWE (Simple Runtime Window Editor) for custom render sizes and aspect ratios.
  • An Xbox / XInput controller for gamepad camera control.
  • ReShade with add-on support, the IGCS Connector add-on, and the IGCS DOF shader for the IGCS depth-of-field workflow.

Installation

  1. Extract the downloaded ZIP to a folder. Keep VoidCameraInjector.exe and VoidCamera.dll together.
  2. Start Dishonored 2 and wait at the main menu.
  3. Run VoidCameraInjector.exe. If Windows asks for permission, allow it. The injector checks that the running game is the supported retail executable before loading the DLL.
  4. When injection succeeds, load your save and enter gameplay.
  5. Press F10 to show or hide the camera panel. Press Insert to enable or disable the free camera.

Choose Keyboard or Gamepad in the Camera tab before enabling the camera. Your choice is saved in %LOCALAPPDATA%\VoidCamera\settings.ini. The DLL unloads when the game exits. Do not inject another camera hook at the same time.

Controls

With the camera panel hidden and the game focused:

ActionKeyboard
Show / hide the camera panelF10
Enable / disable free cameraInsert
Lock / unlock the camera poseHome
Move forward / backwardNumpad 8 / 5
Move left / rightNumpad 4 / 6
Move down / upNumpad 7 / 9
Look up / down / left / rightArrow keys
Roll left / rightNumpad 1 / 3
Reset rollNumpad 2
Increase / decrease vertical FOVNumpad + / −
Move faster / slowerShift / Ctrl
Move very slowlyAlt
Stop / resume game timeNumpad 0
Advance one engine frame while time is stoppedPage Up
Hide / restore game UI, markers and supported cutscene subtitlesDelete
Add a path nodeF6
Insert a node after the selected nodeShift + F6
Delete the selected nodeF7
Play the path from the start / stop playbackF8 / F9
Move the selected node earlier / laterCtrl + Page Up / Page Down

Enable Num Lock when using the numeric keypad. The selected input device controls free-camera movement; keyboard camera movement is not active while Gamepad is selected. The game disables pause-on-focus-loss when the camera is injected, so it can keep running while you use another window.

The PYR rotation speed (deg/s) slider adjusts pitch, yaw and roll speed. Its value is saved in settings.ini. Shift multiplies keyboard movement speed by 5, Ctrl by 0.1, and Alt by 0.01. With a gamepad selected, hold Y for 5× speed or X for 0.1× speed; both multipliers affect movement, rotation and FOV adjustment.

Gamepad

With Gamepad selected, the first connected XInput controller uses these controls:

ActionGamepad
Move forward / backward and left / rightLeft stick
LookRight stick
Move up / downLeft / right trigger
Roll left / rightD-pad left / right
Adjust vertical FOVD-pad up / down
Move faster / slowerY / X
Reset vertical FOVB

The Tool

Camera and time

Enable Free camera with Insert, then hide the panel with F10 before moving. Use the Camera tab to choose the input device, lock the pose, set rotation speed, adjust vertical FOV, or edit the camera position and orientation numerically.

Numpad 0 toggles time stop. The camera can still move while the game simulation is paused. While paused, press Page Up to request one native engine frame so the rendered view refreshes; time stop remains enabled. Delete toggles the game UI, world markers and supported cutscene subtitles. Cinematic black bars and the Skip prompt are shader effects and are not controlled by this camera.

Camera path

A path is an ordered list of camera poses. Each node stores position, pitch, yaw, roll, vertical FOV, camera speed, and the duration in seconds for the segment from that node to the next one. Playback starts at Node 01 and follows the list in order. Add at least two nodes before playing.

Build a simple path

  1. Enable the free camera and frame the first shot.
  2. Click Add current node. This creates Node 01 at the current camera pose.
  3. Move to the next shot and click Add current node again. This creates Node 02 after Node 01.
  4. Select Node 01 and set Seconds to next node to 2.00 s. This is the travel time from Node 01 to Node 02.
  5. Add a third pose. Select Node 02 and set its duration to 5.00 s. Node 02 controls the time from Node 02 to Node 03.
  6. Click Play from start. Playback uses the durations on the starting nodes: for example, Node 01 → Node 02 takes 2 seconds and Node 02 → Node 03 takes 5 seconds.

The duration belongs to the node’s outgoing segment. The last node has no following segment unless Loop path is enabled. The path advances according to elapsed time in seconds, not the camera movement-speed setting.

Insert a new node between two existing nodes

Suppose the current order is:

Node 01 → Node 02 → Node 03 → Node 04

To add a pose between Node 02 and Node 03:

  1. Select Node 02 in the node list.
  2. Move the camera to the new composition you want between those poses.
  3. Click Insert after selected. The order becomes:

    Node 01 → Node 02 → Node 03 (new) → Node 04 (old Node 03) → Node 05 (old Node 04)

  4. The old Node 02 → Node 03 duration is split between the two new segments. Adjust Seconds to next node on the affected nodes to set the timing you want.

This operation inserts immediately after the selected node, even if that node is in the middle of the list.

Reorder or replace a node

Move earlier and Move later shift the selected node by one place in the list. For example, if you appended a new pose and the order is:

Node 01 → Node 02 → Node 03 → Node 04 (new pose)

select Node 04 and click Move earlier once. The order becomes:

Node 01 → Node 02 → Node 04 (new pose) → Node 03

Click Move earlier again to move it before Node 02. Each click moves only one place. Moving a node also moves its stored outgoing duration with it, so review the segment times after reordering.

To change the pose of a node without changing its place in the list, select it, move the camera to the desired pose, then click Update selected. Go to selected moves the camera to that node’s saved pose. Delete selected removes it.

Use Smooth interpolation for a smoother path between poses. If the camera overshoots a tight corner or clustered nodes, turn smoothing off or adjust the node positions. Loop path joins the last node back to the first. Use Stop playback to stop at the current camera pose.

Click Save path to save the current path and Load path to restore it. The file is:

%LOCALAPPDATA%\\VoidCamera\\Dishonored2_CameraPath.vcp

Post-process and environment

The Post-process tab exposes the verified in-game controls for auto exposure, exposure adaptation, custom EV, bloom, lens flares, color grading, depth of field, motion blur and tone mapping. The native depth-of-field controls adjust focal distance, focus range and circle of confusion. For IGCS DOF, install ReShade with add-on support and the IGCS Connector / DOF files according to the IGCS DOF instructions; the camera communicates directly with the Connector.

The Environment tab contains live controls for fog, god rays, fog light scattering and sky. Use Restore initial render settings in the relevant tab to return exposed render values to the state captured when the camera was injected.

LOD

The LOD tab exposes World LOD detail scale. A lower value retains more static-world detail. It does not control entity visibility distances or provide a confirmed general-purpose object draw-distance override.

Shadows

The Shadows tab exposes NVIDIA HBAO+, Model shadow distance, Directional shadow slice size, Partial cascade updates, and the four directional cascade far distances. HBAO+ controls ambient occlusion. Model shadow distance affects model-shadow culling; cascade distances control directional sun-shadow ranges separately.

Cascade distances must remain in strictly increasing order. They use the game’s native CVar apply path and update live. Changes to directional shadow slice size request a shadow-resource rebuild and can cause a brief hitch or higher VRAM use. Set the slice size at the main menu before loading a level so the game can rebuild its shadow resources during level load. Restore initial render settings returns exposed values to their state at injection.

Hotsampling with SRWE

Dishonored 2 must be in Windowed mode for SRWE resizing. The camera has no integrated Hotsampling tab; use SRWE to resize the game window’s client area.

  1. Before resizing, note the game’s current client width and height in SRWE. This is the size to restore afterward.
  2. In SRWE, select the Dishonored 2 window and set the desired client-area Width and Height. You can use landscape, ultrawide or portrait dimensions. Keep the ratio you intend to capture; for example, 3840 × 2160 is 16:9, 3440 × 1440 is 21:9, and 2160 × 3840 is portrait 9:16.
  3. Apply the new size in SRWE. Use its window positioning/alignment controls if the enlarged window extends beyond the monitor.
  4. The game renders at the new client-area size. Void Camera reads the active aspect ratio and recalculates horizontal FOV while preserving vertical FOV, so the image should keep its proportions in both landscape and portrait ratios.
  5. Capture the complete game window at the rendered dimensions with your screenshot tool. The visible part of an oversized window on the desktop may be smaller than the actual rendered frame.
  6. Restore the original client width and height in SRWE when finished.

Locking the camera with Home before resizing is optional; use it if you want to preserve the exact camera pose while you work in SRWE. Unlock with Home afterward. Resizing does not depend on the camera being locked. Hotsampling changes the render window size; it does not raise the game’s internal resolution-scale setting.

Note

Cinematic black bars and Skip prompts are shader effects and are not controlled by Void Camera.

Credits

  • Banner image by VAIN
  • Camera connector: IGCS Connector by Frans Bouma.