Skip to content

Documentation

Changelog & upgrades

ReferencePublished

Changelog & upgrades

Customer-facing changes, upgrade actions, compatibility boundaries, and known limitations from the current 2.11.2 release back to the initial runtime baseline.

Product
Footstep Studio
Version
Documentation 2.11.2
Content
34 chapters
On this page

01

2.11.2 — decal receiver lifecycle correction

Released September 7, 2026. A compatible runtime patch prevents an attached, fading Footstep decal from destroying the gameplay receiver Actor when the decal component expires.

  • Fading decals now disable Unreal's owner-destruction behavior while retaining attachment, fade delay, fade duration, lifetime scheduling, and normal decal-component cleanup.
  • The correction covers Auto attachment to movable receivers and explicit Hit Component attachment to static receivers.
  • Public APIs, authored Data Assets, material parameters, Surface Impressions, source exclusion, and the fourteen-asset commercial inventory are unchanged.
  • Upgrade by replacing the complete plugin package. No project Data Asset or API migration is required.

02

2.11.1 — Surface Impression WPO precision correction

Released September 6, 2026. The bundled Surface Impression coverage function preserves a stable field normal when world-to-UV rows contain small inverse-extent values.

  • Both receiver mapping rows are scaled by one shared positive factor before Cross and Normalize, preserving direction while keeping the intermediate representable at reduced shader precision.
  • This restores visual WPO on affected receivers without changing authored depth, coverage, runtime receiver APIs, or material parameter names.
  • Projects that reference plugin-owned templates receive the correction when the plugin is replaced.
  • Projects with local copies of the pre-2.11.1 function or master must refresh those copies and repeat target-RHI visual acceptance.

03

2.11.0 — bounded decal placement and source ownership

Version notes dated August 25, 2026. Surface Anchored decals now separate immutable gameplay routing from bounded render-facing placement and fail closed when a result cannot be certified.

  • Adds bidirectional placement against the exact gameplay-hit component's complex collision while preserving the original component, Physical Material, Physical Surface, and normal for routing.
  • Adds optional Footprint Area sampling with deterministic eight-probe support, compatible-group requirements, final-projector containment, and a shared bounded query budget.
  • Adds a strict Reject Decal default plus explicit Preserve Gameplay Hit compatibility for receivers that accept gameplay collision as placement authority.
  • Adds FootstepDecalProjectionAnchorProvider for render surfaces that diverge from collision and FootstepSourceExclusionProvider for explicit multi-actor or narrowed presentation ownership.
  • Adds receiver overrides for maximum correction and unresolved policy plus actionable placement counters and Profile Debug evidence.
  • Review existing Surface Anchored payloads: strict rejection can intentionally produce no mark at holes, unsupported seams, missing complex geometry, or points outside the authored envelope.

04

2.10.0 — explicit decal map contracts

Version notes dated August 24, 2026. The material library now separates non-Normal and tangent-Normal DBuffer decals and offers packed-ORM Roughness and Metallic on both contracts.

  • Adds M_FSP_Decal_ColorRSM_Template and matching Immediate and Surface Transfer instances for decals that must never write DBuffer Normal.
  • Adds M_FSP_Decal_ColorNormalRSM_Template and matching instances for decals that intentionally write tangent Normal.
  • Adds packed ORM input on both contracts: Roughness uses green, Metallic uses blue, AO red is unused, and Specular remains scalar.
  • Raises the commercial inventory to fourteen assets: three Starter Data Assets, three Material Functions, three masters, and five instances.
  • Exact redirects preserve earlier public decal parent paths. Open and resave affected project-owned instances after replacement to persist their canonical parent.
  • For new authoring, select the master by DBuffer output. A zero Normal Strength does not disable the Normal target on ColorNormalRSM.
Previous public pathCanonical 2.10+ path
M_FSP_Decal_TemplateM_FSP_Decal_ColorRSM_Template
MI_FSP_Decal_Immediate_TemplateMI_FSP_Decal_ColorRSM_Immediate_Template
MI_FSP_Decal_SurfaceTransfer_TemplateMI_FSP_Decal_ColorRSM_SurfaceTransfer_Template

05

2.9.1 — UE 5.5 through 5.8 release contract

Version 2.9.1 promotes UE 5.5.4 to the same commercial validation and packaging level as UE 5.6.0, 5.7.4, and 5.8.0. It is the first canonical customer package to include the material-template and decal-visibility capabilities recorded in the 2.9.0 source milestone.

  • Adds UE 5.5.4 as a first-class Footstep Studio lane alongside UE 5.6.0, UE 5.7.4, and UE 5.8.0.
  • Extends clean C++, Blueprint-only, and engine-template adoption plus Data Validation and runtime coverage to UE 5.5.
  • Saves all eleven commercial product assets with UE 5.5 as the oldest supported serialization baseline and restores newer material-function preview metadata through an editor-only compatibility path on UE 5.6 through UE 5.8.
  • Separates UE 5.5 runtime and material compilation coverage to account for its supported shader path.
  • Changes no runtime API, authored Data Asset contract, material parameter, or commercial content inventory.

06

2.9.0 — complete neutral material templates

Version 2.9.0 records the source milestone that raised the product inventory to eleven assets and added ready-to-duplicate material contracts. It was superseded before independent publication; these capabilities first ship in the canonical 2.9.1 customer package.

  • Expands the neutral customer payload from four to eleven product assets with two material functions, two master materials, and three ready-to-duplicate material instances in addition to the existing source-exclusion function.
  • Adds canonical Immediate Decal, Surface Transfer, and Surface Impression templates with documented customer-authored and runtime-owned parameter contracts.
  • Adds a project setting and two diagnostic CVars for disabling Surface Transfer source exclusion or overriding its depth tolerance without changing authored Surface Data.
  • Uses a 0.25 cm source-depth tolerance by default and clamps the resolved value to [0, 5] cm.
  • Moves Surface Anchored contacts to Unreal's nearest fully opaque projection-depth slice, at 0.75 of the decal half-depth, to prevent depth-edge attenuation on stairs and other finite receivers.
  • Adds structural product validation and UE 5.6 D3D12/SM6 material compilation coverage for all eight neutral material assets.
  • Records 2.9.0 as the material-template and decal-visibility source milestone. This version was superseded by 2.9.1 before independent publication through the controlled release workflow; its customer-facing capabilities first ship in the canonical 2.9.1 package.

07

2.8.0 — receiver-aware decal projection

Destination geometry can override projection depth or outward clearance while the source retains material, lifetime, footprint length, and footprint width.

  • Adds destination projection overrides for immediate and Surface Transfer decals without duplicating source materials, lifetime, footprint length/width, or trail policy.
  • Resolves an exact Physical Material override before a Physical Surface override, then inherits every field that the destination does not explicitly replace.
  • Allows a receiver to replace projection depth and normal offset independently; footprint length and width remain owned by the source decal payload.
  • Uses transient exact-material and surface caches, adding no component Tick, world scan, or per-contact container allocation.
  • Rejects null exact-material keys, duplicate receiver keys, empty overrides, non-finite values, and non-positive enabled projection depths during Data Validation.
  • Keeps existing assets behaviorally unchanged when the receiver table is empty.

08

2.7.0 — bounded Surface Impressions

A new local material-interaction channel provides directional, bounded response for shallow snow, mud, sand, ash, moss, or vegetation without changing authoritative world state.

  • Adds an optional immediate material-interaction channel for shallow snow, mud, sand, ash, moss, and vegetation response.
  • Freezes one stable contact heading per accepted hit and routes one immutable, footwear-aware alpha-mask request to explicitly registered receivers.
  • Adds a general-purpose local receiver with a lazily created linear RGBA8 field, physical world-to-UV mapping, bounded oldest-first stamp retention, persistent tick-free stamps, and updates for finite-lifetime stamps until expiration, including when fading is disabled.
  • Adds ownership-safe explicit and opt-in tagged automatic material binding with idempotent rebinding and exact restoration.
  • Adds independent per-component and project-wide Surface Impression budgets, runtime diagnostics, Data Validation, C++/Blueprint receiver APIs, and an extension seam for project-owned RVT or atlas backends.
  • Documents the exact material graph, footwear precedence, memory model, Nanite and collision boundaries, multiplayer scope, troubleshooting, and validation.
  • Ships no artistic mask, material, snow, terrain, vegetation, map, or demo asset; the commercial payload remains the same four neutral product assets.
  • Retains the atomic UE 5.6, UE 5.7, and UE 5.8 release matrix and publishes a single canonical Fab package with a FootstepSystem/ root.

09

2.6.10 — modular footwear projection isolation

This historical release expanded source exclusion beyond one emitting primitive. Version 2.11.2 supersedes its discovery boundary with same-owner registered meshes or an explicit provider.

  • Expanded Surface Transfer source exclusion from the emitting primitive to a wider character-presentation set.
  • Current 2.11.2 behavior automatically selects registered mesh components owned by the source Actor; attached Actors are not traversed automatically.
  • Use FootstepSourceExclusionProvider for any multi-actor presentation or when same-owner automatic discovery is too broad.
  • Keeps discovery event-driven; no component Tick or auxiliary render primitive was added.
  • Preserves externally authored Custom Depth/Stencil state and restores every plugin-owned mesh lease after the final active transfer mark.
  • Verifies the resolved footwear texture on the runtime decal material instance, not only during profile selection.
  • Fails closed when the required presentation meshes cannot share one stencil identity, preventing character-contaminating fallback projection.

10

2.6.9 — product identity alignment

The public product identity is aligned with HardenForge Interactive while the established technical plugin identifier remains stable.

  • Places Footstep Studio settings under Project Settings > Studio > Footstep Studio.
  • Aligns the descriptor and Project Settings identity with HardenForge Interactive.
  • Names customer release files with the FootstepStudio product stem while preserving the FootstepSystem technical plugin identifier, module, and archive root.
  • Adds release-contract coverage for the settings category, publisher identity, and public artifact names.
  • Retains the atomic UE 5.6, UE 5.7, and UE 5.8 release matrix.
  • Publishes a single canonical Fab package containing a FootstepSystem/ root.

11

2.6.8 — clean commercial payload

Version 2.6.8 combines source-excluded Surface Transfer decals with a customer archive whose runtime, assets, manuals, and file inventory are exact release contracts.

The 2.6.8 release completed its UE 5.6, UE 5.7, and UE 5.8 compatibility matrix before customer packaging.

  • Ships one production runtime module and exactly four authored product assets: three neutral Starter Data Assets plus MF_FSP_SourceExclusion.
  • Keeps development-only validation code and authoring automation outside the customer archive.
  • Enforces an explicit customer-payload allowlist and rejects undeclared code, content, documentation, generated files, and development infrastructure.
  • Aligns the packaged manual with the exact product inventory and public integration contract.
  • Fixes a Unity Build helper collision exposed by UE 5.6 compilation without changing renderer validation behavior or the public API.
  • Includes the source-excluded Surface Transfer decal path introduced in 2.6.7, preserving unrelated character decals.
  • Retains the atomic UE 5.6, UE 5.7, and UE 5.8 release matrix, with a single canonical Fab package containing a FootstepSystem/ root.

12

2.6.7 — source-excluded Surface Transfer decals

Transferred Deferred Decals can reject the skeletal mesh that emitted them without disabling unrelated character decals.

  • Adds bundled MF_FSP_SourceExclusion support so transferred Deferred Decals reject the skeletal mesh that emitted them.
  • Preserves unrelated character decals without changing Receives Decals.
  • Reuses externally authored Custom Depth/Stencil state and restores temporary source state after the final active transfer mark.
  • Fails Data Validation and runtime emission when the material or renderer exclusion contract is unavailable.
  • Consolidates Surface Transfer on one supported Deferred Decal path with Surface Anchored placement.
  • Makes the Data Asset intensity curve the single source of truth for transfer opacity.

13

2.6.6 — surface-anchored decal projection

A new Surface Anchored placement keeps authored decal depth inside the contacted surface while preserving the previous centered mode explicitly.

  • Adds an explicit Surface Anchored projection placement that keeps authored decal depth inside the contacted surface.
  • Preserves the previous centered volume as the explicit Centered At Contact compatibility mode.
  • Reduces the default outward face clearance to 0.1 cm for newly initialized decal payloads.
  • Adds horizontal, sloped, vertical, local-rotation, finite-placement, and legacy-mode contract coverage.
  • Documents why Footstep Studio does not require disabling character decal reception.
  • Retains the atomic UE 5.6, UE 5.7, and UE 5.8 release matrix with a single canonical Fab package containing a FootstepSystem/ root.

14

2.6.5 — Sequencer contact continuity

Sequencer-driven Step contacts remain continuous when direct Actor transform evaluation leaves Actor and Root Component velocities at zero.

  • Fixes Sequencer-driven Step contacts being rejected when direct Actor transform evaluation leaves Actor and Root Component velocities at zero.
  • Adds event-driven, non-teleport Root Component motion observation without enabling component Tick.
  • Adds native-length multi-section authoring guidance for continuous root motion and reliable AnimNotify contacts.
  • Adds an automated contract covering direct transform motion, stationary rejection, teleport rejection, and the no-Tick invariant.
  • Retains the atomic UE 5.6, UE 5.7, and UE 5.8 release matrix with a single canonical Fab package containing a FootstepSystem/ root.

15

2.6.4 — Sequencer-driven presentation

Level Sequencer can drive Step presentation and editor authoring playback without requiring a local Player Controller.

  • Adds Level Sequencer support to Step movement admission by resolving horizontal speed from both the owning Actor and its Root Component.
  • Adds editor authoring playback for sound, Niagara, and decal review without a local Player Controller.
  • Preserves listener-distance culling in PIE, standalone, and packaged builds.
  • Adds customer setup, troubleshooting, and validation guidance for animation notifies and dynamically bound Sequencer actors.
  • Retains the atomic UE 5.6, UE 5.7, and UE 5.8 release matrix and a single canonical Fab package with a FootstepSystem/ root.

16

2.6.3 — representative profiling discipline

Version 2.6.3 formalized representative UE 5.6 profiling while retaining the established 2.6 runtime API and integration contract.

The release distinguished real engine-channel profiling from narrower synthetic admission checks. Historical measurements are not reusable as production claims for version 2.11.2 or for a customer project.

  • Profiles real scene queries, Audio Mixer playback, Niagara, immediate decals, Surface Transfer, bounded retained state, memory, and world-budget pressure.
  • Requires exact source, engine, workload, assets, settings, and measurement scope before interpreting a result.
  • Keeps synthetic admission results separate from representative engine-channel cost.

17

2.6.2 — customer delivery and footwear Starter

Version 2.6.2 adds a neutral Footwear Profile scaffold and a deterministic customer-documentation integrity gate.

  • Adds DA_FSP_Footwear_Starter, an intentionally neutral and valid template for project-owned barefoot, boot, paw, hoof, and other contact profiles.
  • Expands product, clean-consumer, package, and runtime contracts from two to exactly three Starter Data Assets.
  • Reorganizes the packaged manual around customer setup, integration, troubleshooting, validation, compatibility, provenance, and upgrade needs.
  • Removes obsolete delivery records from the customer package.
  • Hardens the customer-manual inventory, version alignment, relative links, and Starter-asset coverage.
  • Fixes the multiplayer guide to use the public ClearSurfaceTransfers API name.
  • Neutral Footwear Profiles now pass Data Validation without warnings.
  • Retains the atomic UE 5.6, UE 5.7, and UE 5.8 release matrix and a single canonical Fab package with a FootstepSystem/ root.

18

2.6.1 — isolated clean-consumer logs

Clean-consumer evidence becomes easier to inspect and infrastructure failures become easier to distinguish from product failures.

  • Isolates clean-consumer Unreal Build Tool logs from host-project output.
  • Improves infrastructure-failure classification and retained package evidence.

19

2.6.0 — immediate footwear imprints

Immediate decals now reflect the resolved footwear while surface-authored presentation rules remain authoritative.

  • Applies footwear-selected textures and left/right mirroring to immediate decals.
  • Preserves surface-owned material, projection, lifetime, and budget rules.

20

2.5.2 — Unity-build compatibility

The source package no longer depends on translation-unit assumptions that can disappear outside Unity Build aggregation.

  • Removes translation-unit assumptions that could fail in non-unity builds.
  • Retains source-package and clean-consumer contracts.

21

2.5.1 — release contract alignment

Version identity and every public delivery surface are brought back under one release contract.

  • Aligns version, documentation, package metadata, and release gates.

22

2.5.0 — equipment-aware footwear profiles

Projects can resolve barefoot, boot, paw, hoof, or other equipment-dependent presentation without adopting a specific inventory or gameplay framework.

  • Adds framework-neutral Footwear Profiles, provider resolution, C++ and Blueprint overrides, contact-specific staged imprints, and optional audio behavior.

23

2.4.1 — archive contract clarification

The Fab source archive boundary and its integrity evidence are made explicit for customer delivery.

  • Clarifies the single-root Fab source archive and its integrity evidence.

24

2.4.0 — scalability and projection hardening

World-level budgets and bounded transfer state strengthen runtime scalability while directional projection is refined.

  • Adds project-wide channel budgets, bounded transfer state, diagnostics, and directional decal projection improvements.

25

2.3.0 — contact-aware staged transfer

Transferred presentation can follow deterministic material stages selected by the exact left, right, or custom contact.

  • Adds deterministic left, right, and custom-contact material stages.

26

2.2.0 — Surface Transfer Trails

Contacts can carry a bounded surface state forward into decaying post-contact decal trails.

  • Adds bounded carried-surface state and decaying post-contact decal trails.

27

2.1.0 — neutral customer payload

The delivered starting point becomes project-independent instead of imposing presentation content.

  • Replaces presentation content with project-independent Starter assets.

28

2.0.0 — commercial delivery baseline

Footstep Studio establishes the documentation, validation, packaging, and release discipline required for customer delivery.

  • Adds customer documentation, validation, packaging, and release contracts.

29

1.0.2 — authoring validation

Authoring errors are rejected more rigorously before they can become runtime presentation faults.

  • Hardens duplicate-key, payload, and Data Validation rules.

30

1.0.1 — runtime specification coverage

The initial recorded customer-facing release expands deterministic runtime resolution and rejection coverage.

  • Expands deterministic resolution and rejection coverage.

31

1.0.0 — initial runtime baseline

The first recorded product baseline established the event-driven, data-driven Runtime foundation now maintained as Footstep Studio.

  • Introduced the initial Runtime module now maintained as Footstep Studio.
  • Added AnimNotify-driven Step and Land contacts resolved through configurable foot sockets and ground traces.
  • Added data-driven Physical Surface mappings for sound, Niagara, and optional decal payloads.
  • Added movement admission, listener-distance culling, speed curves, local/remote volume scaling, and debug trace controls.
  • Historical validation evidence is limited to retained descriptor and source verification; no current release evidence is applied retroactively.

32

Compatibility status

Version 2.11.2 is validated on four exact Unreal Engine Win64 lanes; platform-neutral source and customer target certification remain distinct claims.

The released 2.11.2 source completed controlled validation on Unreal Engine 5.5.4, 5.6.0, 5.7.4, and 5.8.0 for Win64. Each lane validates package construction, clean adoption, loading, runtime contracts, Data Validation, and the applicable Development and Shipping targets.

Scope2.11.2 public contract
Unreal Engine 5.5.4Validated Win64 release lane
Unreal Engine 5.6.0Validated Win64 release lane
Unreal Engine 5.7.4Validated Win64 release lane
Unreal Engine 5.8.0Validated Win64 release lane
C++ adoptionClean public-API compilation plus Editor, Development, and Shipping adoption on each lane
Blueprint adoptionClean Blueprint-only loading and runtime smoke on each lane
Engine template adoptionClean Third Person Editor, Development, Shipping, map-smoke, runtime-contract, and Data Validation gates on each lane
NetworkingLocal-cosmetic dedicated-server, client, respawn, possession, and listen-host boundaries
MaterialsContract compilation and project-owned target-RHI visual acceptance remain separate requirements

33

Customer package contract

The installed plugin contains customer runtime, neutral authoring scaffolds, material contracts, and offline documentation—not a host project or a content showcase.

Included familyCustomer-visible contents
Plugin rootOne FootstepSystem directory with descriptor, Source, Content, Config, Resources, root README, and offline customer Docs
RuntimeSource-distributed FootstepSystem Runtime module and public C++ and Blueprint contracts
Starter Data AssetsDA_FSP_SurfaceData_Starter, DA_FSP_Profile_Starter, and DA_FSP_Footwear_Starter
Material FunctionsSource exclusion, receiver-normal filtering, and Surface Impression coverage
Material mastersColor/RSM decal, Color/Normal/RSM decal, and Surface Impression Surface contracts
Material instancesFour explicit Immediate or Surface Transfer decal starting points plus one Surface Impression starting point
  • The fourteen bundled assets are three Starter Data Assets, three Material Functions, three master materials, and five Material Instances.
  • The package contains no demo map, character, animation, sound, Niagara System, project texture, Physical Material, Blueprint integration, or showcase media.
  • Duplicate required assets under /Game before production authoring. Plugin-owned content can be replaced by an update.
  • The Docs directory in the installed plugin is the offline reference for that installed version.

34

Performance and proof boundaries

The release verifies bounded architecture and controlled integration paths; project assets, scenes, targets, and operating conditions determine production performance.

  • The component has no permanent Tick; listener and significance gates can reject before trace; rate, channel, history, transfer, placement-query, receiver-stamp, and world budgets are bounded.
  • Dedicated servers suppress cosmetic work before trace and spawn. Footstep Studio sends no per-contact RPC and leaves authoritative gameplay, AI hearing, damage, stealth, replication, and persistence to project code.
  • Surface Impression storage is determined by each receiver's linear RGBA8 resolution and bounded stamp list. Finite-lifetime stamps update at the configured interval until expiration; persistent stamps remain tick-free.
  • Source exclusion can add Custom Depth and Stencil work for the acquired presentation set. Footwear overlays can add an Audio Mixer voice. Decals and project Niagara systems can add overdraw and GPU cost.
  • Use Unreal Insights, Audio Mixer, Niagara, render-target memory, decal-overdraw, GPU, and network tools in the actual representative scene. Reset scoped counters between captures.