Skyrim Special Edition

File information

Last updated

Original upload

Created by

Shrimperator

Uploaded by

Shrimperator

Virus scan

Safe to use

About this mod

SKSE DLL to overhaul 3rd person object selection.

Rewrites Skyrim's crosshair selection to work more like true 3rd person RPGs - no more spending 5 minutes picking up tiny gold coins from the ground!

Requirements
Permissions and credits
Translations
  • Ukrainian
  • Russian
  • Portuguese
  • Polish
  • Mandarin
  • Korean
  • French
Changelogs
Donations
Introduction

Ever since Skyrim was first released, I was annoyed with its 3rd person mode. As somebody who loves 3rd person RPGs most out of every game genre, It's underwhelming to say the least.

Now with the advent of mods like True Directional Movement and SmoothCam, 3rd person is finally starting to be fully playable and enjoyable. But in my quest to play Skyrim without ever going into first person again, I still noticed one glaring issue: selecting objects from 3rd person can be incredibly annoying - the smaller the object, the more annoying it gets.

The game's crosshair selection was developed with first person gameplay in mind, and in 3rd person it just feels clunky and annoying.



Cue... Better Third Person Selection!

 


 

What does it do exactly?

With Better Third Person Selection, selecting objects works more like in true 3rd person RPGs. Instead of aiming directly at an object, you just have to aim in the general direction of it and BTPS will choose an object for you. It then seamlessly ties the result back into the native game code to ensure maximum compatibility with other mods.

This makes it much easier to select small objects, such as gold coins in dark environments, or arrows in high grass. It's also a lot easier to use with a controller.

Skyrim has tons of clutter that can be picked up by the player. Most third person RPGs avoid this, because it makes it more difficult to precisely pick up the objects you want.

With BTPS I had to come up with a few things to improve this; obviously I can't just remove all the clutter items. Alongside camera angle and distance, here are a few more factors BTPS uses to determine the selection target, all of which are fully configurable in the MCM:

  • Object Type: misc items are focused less likely
  • Object Value: depending on the gold value of an item, selection is favored
  • Native Selection: this can be used to favor whatever object the native game's selection came up with. In case BTPS fails with a specific item, it will still take into account what the base game came up with - this way you don't end up with things that just can't be interacted with for whatever reason. If you raise this to the maximum, BTPS will always select what's under the crosshair, if present.

Another thing to improve precision is the ability to cycle between all objects in range, using (default:) shift + mousewheel. This will cycle between objects based on their priority determined by the selection algorithm. Basically, if you press shift and scroll up once, it will select whatever object BTPS would've selected if the currently selected object didn't exist.

Showcase
 


3D widget
To make it more clear which object is currently selected, BTPS provides a 3D selection widget. It will hover over whatever object is currently selected. This can be enabled separately from the selection algorithm in the MCM.


Horseback support
While I was at it, I enabled my new object selection algorithm when on horseback. You can now pick up objects, loot containers, talk to people or catch butterflies all without dismounting your trusty steed. The MCM provides various settings specific to gameplay on horseback.


To make dismounting less annoying with lots of objects closeby, by default Hold To Dismount is enabled, which requires you to hold the dismount button for a little before dismounting. It will display a progress circle that fills up the longer the dismount button is held down.


Horseback interaction showcase


Customization
BTPS allows for extensive user configuration, either through the MCM for the more simple configuration and through config files for advanced customization.

Filter Presets
Since version 0.5.0 BTPS supports elaborate user created filters for the object selection through Filter Presets. Filter presets allow hiding objects or object types under configurable conditions, such as hiding furniture while sneaking, or hiding objects below a certain gold value if a certain key is pressed. For more info, the BTPS wiki has a detailed guide:

BTPS Wiki


Troubleshooting
and FAQ
> Q: my game crashes on startup, what do?
> A: make sure you have all the requirements installed. Also, update your SKSE and AddressLib. I've had reports that the game crashes if attempted to be used with SKSE version 2.017 and lower. Same for older versions of AddressLib. Nothing I can do about that, you'll just have to update

> Q: I get CTDs during gameplay (and I'm 100% sure it's caused by BTPS), what do?
> A: make 100% sure you're on the latest version of BTPS, SKSE and AddressLib. If you still get CTDs, I will need two things: 1) a way to reproduce the crash, 2) a full crashlog, which can be generated using .NET Script Framework for example. If you can only provide one of those two things, chances for me to fix the crash are severely reduced. If you don't provide either, there is nothing I can do :/ I will also need to know if you're using the anniversary version of Skyrim (1.6.x) or not

> Q: there are weird, floating markers in area <insert area> / when I do <insert action>, that shouldn't be selectable, what do?
> A: make sure BTPS is updated to the latest version. If the markers still remain, open a bug report on Nexus or GitLab with detailed instructions on how to find the markers + screenshot. If the marker comes from a mod, I'm going to need to know which mod that is, otherwise I can't fix it.

In the mean time, there's a fix for this: open Data\MCM\config\BetterThirdPersonSelection\ObjectFilterList.toml with a text editing program of your choice, then add the name of the object that shouldn't be selectable into the ignore list (all lowercase, or it won't work!). Add the name between the two brackets. The name needs to be wrapped in quotation marks. Entries need to be separated by a comma

example:

ignore = [
"somemarker",
"someothermarker",
]


If you enable Reload Filters on the debug page, you just have to open and close the BTPS MCM to reload the filters - no need to restart the game.

> Q: do I need to make a new save when installing/uninstalling/updating?
> A: no, just add/remove/update the files and your save will be fine. The mod is basically script free: the only papyrus BTPS utilizes are a few lines for the MCM. Load order therefore also doesn't matter.



Compatibility



Compatible with caveats
Purchaseable Store-Display-Items
not compatible with BTPS 'stealing requires sneaking' filter - if the filter is enabled, items can't be purchased. You could disable the filter on button press though - see the BTPS wiki on Filter Presets for more info.
Immersive First Person View
compatible for BTPS versions 0.4.1+, requires IFPV detector plugin (under optional files on the IFPV mod page)
Convenient Horses
Hold To Dismount doesn't work with Convenient Horses' dismount features

Incompatible
Block Sitting Activation - Don't pick up items while sitting
breaks BTPS horseback selection. BTPS Filter Presets can fully replace this mod


Special Thanks

This mod was built using Ryan McKenzie's CommonLib, without which none of this would be possible. Specifically I'm using PowerOf3's fork

wSkeever: for the much better logo. Thank you!
Ersh from True Directional Movement: helped me out a ton with questions and with the TDM source code
mwilsnd from SmoothCam: for making SmoothCam open source and one of the go to references for CommonLib development!
OsmosisWrench: for helping me with the Scaleform/Flash side of things
AiD72 aka Noah from the Skyrim Discord: for helping me get started with CommonLib
KernalsEggfor helping me a bunch with understanding Reverse Engineering stuff, especially virtual functions
Shad0wshayd3: for helping me with Reverse Engineering stuff!

The Skyrim RE discord for anwering all my dumb questions about reverse engineering

Repository
Access the full source here:
Better Third Person Selection (GitLab)