True Directional Movement - Modernized Third Person Gameplay at Skyrim Special Edition Nexus

image

The mod began as a small SKSE plugin that introduced the core feature - true directional '360°' movement. Then I realized that it needed a custom target lock component because the available mods wouldn’t play right with it. Still, my vision couldn't be 100% realized with the use of current mods, so I kept adding more custom features that I felt were still related either to the core idea or to the other, already included changes. I tried to make each of them feel like it fits the vanilla game as much as possible.
Along the way, the goal of the plugin changed into modernizing Skyrim's TPP gameplay to be a bit more like contemporary action RPGs. The plugin name stuck, however, and I couldn't really come up with a better one that didn't sound too generic.
I ended up with this huge list of features, learning a lot on the way. And here we are, with a plugin that's pretty much a third-person gameplay overhaul/UI mod. Hope you enjoy it as much as I do.

DOES NOT WORK ON ANNIVERSARY EDITION YET - UNLESS YOU DOWNGRADE THE EXE

Read the sticky in the posts section.

image

image

image

Unlike other attempts to achieve '360° movement', this is not faked through clever animation/behavior modifications. The rotation of the player character is actually changed, and thus, melee, sprinting, and everything else works correctly.
The speed of the player character's rotation to input direction can be configured and has different multipliers for the various states the character can be in.
By default, it's set up to enforce attack commitment after the weapon swing (disable character rotation), but you can swiftly rotate during the attack wind-up. Paired with a combat behavior overhaul like SkySA or ABR that locks movement during attacks, and some good attack animation pack, it makes the game feel almost like a modern action RPG. You can configure each rotation multiplier individually if you don't like this approach and prefer the vanilla gameplay, or just want to tweak some of the values.

image

image

During target lock, your character faces their target automatically. The camera yaw and pitch are also adjusted. The camera lock does not simply attempt to keep the target in the dead center of the screen, it's a bit more sophisticated to avoid awkward camera angles and nauseating movement when you're too close to the target (although I'm still not 100% happy with the angles).
You can switch targets by moving your mouse, scrolling the scroll wheel, or moving the right thumbstick on your gamepad. You can also optionally bind custom keys that will switch the current target.
You can sprint during the target lock in any direction to quickly adjust your position.
The camera adjust speed and the pitch offset that attempts to keep the target in the upper half of the screen are configurable. It works perfectly fine with SmoothCam, which I recommend very much.

image

image

The player character looks at their current target or the dialogue speaker. Without a target, the character's head will subtly follow the camera's direction.
The 'headtrack random targets in range' vanilla feature for the player that normally happens with headtracking without an enforced target has been disabled, so you don't turn your head at a random NPC while running through town, because that usually looks silly.
Other headtracking mods should theoretically be compatible. This plugin will override their targets but not overwrite them, due to the headtracking target priority system in-game that's normally inaccessible to Papyrus. Only the camera headtracking feature requires you to disable similar options in other headtracking mods because it's on a lower priority.

There is a Nemesis patch included that will fix some issues caused by all headtracking mods. Read this article for an explanation.

image

image

Your current target (which is either the actor targeted by the target lock, or, if enabled, the 'soft target' that would appear below the compass) has an animated widget with a small health bar floating above their head. It has a few different types of enemy difficulty indicators (including enemy level display), a damage counter and it also shows recent damage dealt on the health bar. Every feature can be configured or disabled.

image

image

You can choose between two types of aim support during target lock. There's predictive aim that takes into account the current target velocity and will aim the projectile at the predicted enemy location, but can miss if they suddenly change direction, or you can enable homing projectiles, which almost guarantees the projectiles will hit. You can also disable the aim support, which will temporarily unlock the camera during target lock, so you can aim freely. Each option can be applied separately for arrows/bolts and spells.

image

image

Certain enemies you encounter will be automatically detected as bosses and the mod will display their health in a form of a big, static bar on your screen.

Admittedly, the feature doesn't really have much to do with the initial core concept of the mod, but the target lock widget needs to be aware of the bosses so it doesn't display a redundant target bar, so I decided to pack everything together and try to keep TDM as modular as possible. Even if you only care about this one feature, you can install TDM and disable everything else.

The boss bar shares most of the features with the target lock widget, however they can be configured independently. The screen position can be freely changed through the MCM, and there's an option to displace the subtitles upwards if you're placing the bar at the bottom of the screen.
There's a maximum of three boss bars that can be displayed during fights with multiple bosses. In case you're fighting even more bosses at once, a queue will form, and after one of the currently displayed bosses is defeated, another will take their place.

The boss detection is a flexible system that allows configuration by the user and the creation of compatibility "patches". It uses .ini files placed in Data/SKSE/Plugins/TrueDirectionalMovement. It will read all the .ini files in this folder, so you can have multiple .ini files that won't conflict and will not require manual merging. Feel free to create and upload custom .ini files to add compatibility to mods that aren't handled correctly by default. The default configuration file should hopefully handle most of the cases and is hopefully self-explanatory.

The boss detection logic works like this:

  1. Check the NPC blacklist. If the NPC's BaseID is included, the NPC will not be treated as a boss even if they fit any following criteria.
  2. Check the race. If the race is included in the .ini, the target will be treated as a boss. By default, it mostly includes dragons and dragon priests.
  3. Check the NPC's BaseID. If it's included in the .ini, the target will be treated as a boss. I've added several named enemies there, though I'm sure I could have missed something.
  4. Check if the NPC is defined in the current Location's LocRefTypes configured in the .ini. By default, I've added the 'Boss' LocRefType. In vanilla, it's used to mark boss enemies at the end of a dungeon. Mods like Vigilant seem to add most (if not all) bosses correctly as the Boss LocRefType so they should be automatically supported. However, Bethesda also has marked NPCs like vendors as bosses of their homes, so a boss bar will appear when you attack them. This might not be desirable, which is why I added a blacklist. I did not fill it up, however, besides adding one merchant as an example.

If you want to add something to the .ini, instead of editing the base one included with the plugin, make your own .ini file (preferably with a unique name so it won't conflict with any other) and include only the new stuff, with the [BossRecognition] header. The plugin will read all the .ini files found in the folder and merge everything together.

A blacklist containing vendors and such is available here. You can also treat it as an example of a separate custom .ini, in case my description was unclear.

image

image

You can now fully rotate the camera on a mount. The mount/dismount animations will no longer change your camera angle and zoom and you'll also be able to rotate the camera while they play. A seemingly minor change that makes using a mount much less annoying. I recommend grabbing a mod that tweaks the horse rotation rate because by default it's very slow and clunky.

image

A small feature that allows you to swim up and down by pressing the jump and sneak buttons. Can't be "True Directional" without up and down, after all. The player character's pitch is now also changed while swimming.

image


Extract the archive into the game Data directory, or use your mod manager of choice.
Run Nemesis and select the True Directional Movement patch there.

If your character is a Khajiit or an Argonian, consider downloading this tail behavior edit that fixes tails moving erratically when turning quickly.

image

I tried to keep the plugin modular. For example, if you're only using the boss bars, you don't need to worry about incompatibilities with unrelated features.


While the mod has been tested for quite some time now by multiple people, I'm sure some issues have slipped through. When reporting any, please describe them clearly, ideally with a way to reproduce them. In case of crashes, please provide a crash log. They're actually really useful in the case of SKSE plugins.
As for feature requests, suggestions are welcome, but please understand that it's ultimately my vision for the mod and I can just disagree with your ideas. Treat suggestions as what they are and please don't expect me to actually implement them.

image

I'm sorry, but no. Special Edition's engine is much more stable and frameworks like CommonLibSSE allow much easier implementation of advanced plugins. We should move on. However, feel free to try porting the mod to LE if you're up to the challenge. I'd rather spend my time on something else than supporting an outdated version of the game.Yes.Yes.This plugin doesn't touch behavior files, so it shouldn't conflict with any mod like that. It also doesn't require you to run Nemesis or FNIS after installing/uninstalling. The optional (but very much recommended) headtracking Nemesis patch just adds a few variables and events, and skips the IsNPC check for headtracking. It should be compatible with everything.Yes, probably, unless it's been listed in the compatibility section as incompatible. Let me know if it's not.It's a conflict with Alternate Conversation Camera. You probably want to change the dialogue mode in True Directional Movement's settings.This is caused by an old version of HDT.This is caused by an old version of Skyrim Souls. Grab the newest update.Please post a .NET Script Framework crash log. It's very useful when the crash has actually been caused by an SKSE plugin like this. I can't do anything without more info otherwise.The animations are probably missing some animation events that should be present. Refer to the 'Info for mod authors' section below. As a bandaid, you can try changing the rotation multiplier settings but this will probably make everything feel floaty.Nordic UI.

Please read the mod description and carefully explore the options in the MCM. A few times I've been asked about a feature that's already been implemented as an option in the MCM.

image

  1. 'CastOKStart' / 'preHitFrame'  will set the attack state to Start.
  2. 'weaponSwing' / 'weaponLeftSwing' will set the attack state to Mid.
  3. 'HitFrame' will set the attack state to End.
  4. 'attackStop' will set the attack state to None.
If your attack animations lack some of these events, the player rotation rate during an attack will probably not feel right.
If you're a mod author and want to add some compatibility with your mod, let me know and we'll see what can be done. I've tried to make TDM as compatible with everything as possible.

image

GitHub

image

The SKSE Team for SKSE.
Ryan for the invaluable CommonLibSSE, the CommonLibSSE plugin template, A Closer Look which I used as a template for an MCM-configurable SKSE plugin, and QuickLootRE which I used as a template for an SKSE plugin with UI elements.
All the Skyrim reverse engineers that share their work, and everyone that shares their SKSE plugin source. Without it, I couldn't learn how to do any of this.
dunc001 for helping me learn how to make a nice widget.
Distar, Loki, alexsylex, MikeNike, NickNak, and everyone else from the Discord servers that have helped with testing and suggestions.
Parapets for the help and ideas regarding the move to MCM Helper.
MikeNike for the gifs and Mern for the thumbnail and MCM logo.
Everyone involved with LockonSSE as I'm using parts of the code for my target lock.
Homing projectile code is using code snippets from Auto Homing Missile.
I found out which function to use to convert worldspace position to screenspace thanks to Expired's Floating Healthbars.
Projectile prediction from here.
The Decompiled UI sources thanks to which I could closely inspect vanilla game UI to create my widgets.
Free Look sparked the idea for this plugin.
Sovngarde font has been used in the mod description.

You May Like Also

  • home Skyrim Special Edition
  • Browse all chevron_right
  • Most endorsed chevron_right
  • Mod categories chevron_right
  • Recent activity chevron_right
  • Mods of the month Explore this month's nominated mods Discover chevron_right
  • Most endorsed chevron_right
  • add_photo_alternate Upload an image chevron_right
  • Most endorsed chevron_right
  • video_call Add a video chevron_right
  • Supporter images Upgrade your account to unlock all media content Upgrade chevron_right
  • Support authors chevron_right
  • Competitions chevron_right
  • Interviews chevron_right
  • 4 days ago Republic of Gamers Event Winners
  • 1 week ago Win a copy of The Witcher 3 GOTY Edition
  • Contact us chevron_right
  • Report a bug chevron_right
  • Game guides chevron_right
  • Vortex help chevron_right
  • cloud_upload UPLOAD A MOD
  • add_photo_alternate UPLOAD AN IMAGE
  • Upgrade to premium chevron_right
  • settings Site preferences
  • Browse all chevron_right
  • Most endorsed chevron_right
  • Mod categories chevron_right
  • Recent activity chevron_right
  • Mods of the month Explore this month's nominated mods Discover chevron_right
  • Most endorsed chevron_right
  • add_photo_alternate Upload an image chevron_right
  • Most endorsed chevron_right
  • video_call Add a video chevron_right
  • Supporter images Upgrade your account to unlock all media content Upgrade chevron_right
  • Support authors chevron_right
  • Competitions chevron_right
  • Interviews chevron_right
  • 4 days ago Republic of Gamers Event Winners
  • 1 week ago Win a copy of The Witcher 3 GOTY Edition
  • Contact us chevron_right
  • Report a bug chevron_right
  • Game guides chevron_right
  • Vortex help chevron_right
  • Skyrim Script Extender (SKSE)
  • Address Library for SKSE Plugins
  • Project New Resign - Nemesis Unlimited Behavior Engine
  • Acrobatic Dodge Animation for TK Dodge and CGO dodge (DAR)
  • Action Based Projectiles - Dodgeable Range Attacks
  • Engarde - True Directional Movement Patch
  • INI File for Improved Camera compatibility with True Directional Movement lock-on system
  • Movement Behavior Overhaul - True Directional Movement Patch
  • Myriad - A Smoothcam Preset for RPG Classes
  • Parkour in Skyrim (A Jump Animations Replacer)
  • SNS - Scary Night Spawner
  • TK Dodge SE - TDM custom compatible patch
  • True Directional Movement - Chinese Translation
  • True Directional Movement - Colorful Magic SE Boss Bars ini
  • True Directional Movement - Diagonal Sprinting Fix
  • True Directional Movement - Gray Cowl of Nocturnal Boss Ini Tweaks
  • True Directional Movement - Legacy of the Dragonborn SSE Boss Ini Tweaks
  • True Directional Movement - MCM French
  • True Directional Movement - Modernized Third Person Gameplay - German
  • True Directional Movement - Modernized Third Person Gameplay PT-BR
  • True Directional Movement - Moonpath to Elsweyr SSE Boss Ini Tweaks
  • True Directional Movement - Requiem Patch
  • True Directional Movement - Spanish
  • True Directional Movement - Tail Animation Fix
  • True Directional Movement - Turkish Translation
  • True Directional Movement - Unslaad Boss Bars ini
  • True Directional Movement - Vigilant Boss Bars ini
  • True Directional Movement - Wheels of Lull Patch
  • True Directional Movement Boss Ini Tweaks
  • Address Library for SKSE Plugins
  • Immersive First Person View
  • Movement Behavior Overhaul
  • Better Power Attack Direction Control
  • CommonLibSSE plugin template