About This File
What is this?
The Advanced Animation Framework (AAF) provides a variety of tools for modders to play animations from a scalable number of animation packs.
Download Location & Instructions
The latest version of AAF is hosted at the AAF discord. The reason for this is that Nexus has terms for hosting files that I find unreasonable (once uploaded they gain the right to distribute a mod forever). Also, AAF is not an adult mod by itself and there are non-adult mods using it. So, LL, being an adult-focused site is not the right place to host. The issue has already been debated extensively in this thread. You can dig through the pages to find those discussions if interested. However, the matter is considered closed now. Further discussion about where AAF is hosted, how that impacts anyone or anything, is not allowed in this thread. If you wish to discuss those things, please bring them up in some other thread.
For the latest AAF version, news and information:
Official AAF discord
For NSFW user support with the TFM guide:
Donations
If you are interested in supporting this project, you can donate through my Patreon page.
Edited by dagobaking
What's New in Version 1.7.2.2
Released
# Version 1.7.2.2 (hotfix)
An equipment-focused bug-fix hotfix for the **public** release line (on top of 1.7.2.1 — DLL + UI, no new features). Every known equipment-handling bug is addressed in this round; all fixes were reproduced and verified in an isolated test environment before release. The Patreon line (1.7.3) receives these fixes in the next regular build.
## Fixed
- Equipment lock-out after scenes, round two — the 1.7.2.1 fix was incomplete. With engine-level tracing we found the actual mechanism: **every** item AAF equipped using the engine's *force-equip* flag was silently marked with the engine's equip-state lock the moment the equip landed — whether or not anything conflicted with it. That lock is what made gear AAF re-equipped after a scene unremovable through the Pip-Boy (a save/reload didn't clear it, but dropping the item or letting another AAF scene strip it did — both destroy or force past the locked state, which is why those workarounds worked). AAF now equips **without** the force flag, exactly the way the game's own scripting equips items, so nothing AAF equips or re-equips ends up locked. Items already locked by an older build heal automatically the next time any AAF scene strips them (AAF's unequips remain forceful and clear the stale lock). Next-Gen plugin (`aaf_1_11_221.dll`) only — the Old-Gen equipment path was never affected.
- Equipment changes during scenes could take effect seconds late — or invisibly. Since 1.7.2.1, AAF's equips were queued but only processed on the actor's next full update, which is suspended while an actor is locked in a scene. Gear added mid-scene (strap-ons, outfit swaps) could sit unapplied for several seconds and then skip the 3D rebuild when it finally landed — leaving an **invisible body or invisible gear** for the rest of the scene. AAF now flushes the equip queue at the moment it queues the change, so scene equipment appears instantly and visibly again. Next-Gen plugin only.
- A piece of restored gear could vanish again right after the scene-end redress — typically "everything came back except my chest armor." The undressing step arms an internal "keep this slot empty" retry so async unequips can't be missed; that retry only remembers the **last** slot stripped, and if the scene ended before the game confirmed it, the first equipment refresh after the redress would re-strip that slot — removing an item AAF itself had just restored. The retry is now cleared whenever AAF restores equipment, so redressed gear stays on. (This one likely accounts for a share of long-standing "my gear doesn't come back" reports.)
- Layered outfits not restored after a scene. When AAF undressed an actor for a scene, it snapshotted their loadout to re-dress them afterward — but for **layered equipment** (outfits AAF peels in stages via `equipmentLayers`/`equipmentRules`), that snapshot pointed at the *live* equipment list, so peeling the layers mid-scene corrupted it. At scene end the original outer clothing never came back, and a later scene could carry stale layer state forward and instantly strip a freshly re-equipped outfit. AAF now **freezes a copy** of the pre-scene loadout and restores the original items from it, and rewinds layer state on re-dress. Plain (non-layered) equipment is unchanged. If an unusual setup misbehaves with the new restore, set `legacy_equipment_restore = true` to revert to the old behavior.
- positionTree/animationGroup start & stop effects (equipment, morph, overlay) now apply even when the played position doesn't define them. A `stopEquipmentSet`/`stopMorphSet` (etc.) set on a `positionTree`'s (or `animationGroup`'s) `positionConfig` was silently ignored at scene start/end because AAF only read the effect from the currently-played position — which, for a tree branch playing a shared pack position, defines none. AAF now resolves these effects up the hierarchy (played **position → animationGroup → positionTree**, most-specific wins), so tree/group-level re-dress and morph effects fire as authored.