UE 5.8 MikkTSpace — exact source, downstream patch and build record for bundled Win64 library

Summary

Hello Epic Unreal Engine team,

Please route this request to the owner of Unreal Engine’s bundled Windows MikkTSpace library and its third-party packaging records. Israel Rise Studios is documenting source provenance and applicable notices for a planned commercial Windows x64 Unreal Engine game. We need the original source/patch/build mapping for the exact library below, selected in our retained Shipping linker response.

Engine/package identity:

  • Unreal Engine 5.8.0, build 5.8.0-55116800+++UE5+Release-5.8-Windows, CL 55116800.
  • Epic installed distribution manifest: 50F41A3A43630A905E5A899A02884048.manifest, SHA-256 d7e1f9c45f1c90e597f701103ebb924d88419e0a31112f527f1cc47ad138a814.
  • Selected engine-relative input: Engine/Source/ThirdParty/MikkTSpace/lib/Win64/VS2017/MikkTSpace.lib.
Library Bytes SHA-256
MikkTSpace.lib 118436 ceb9df7748beb9ae6931f88fedbd22719c23ec186e665d20ec194b701f7fb7dc

The measured library hash matches that retained Epic distribution manifest. The installed MikkTSpace module explicitly selects this library for non-ARM64 Windows and supplies MikkTSpace/inc/ as the include root. A linker response selects a library; it does not establish that every archive member is included in the final executable.

Completed documentary checks:

  1. Supplied header and downstream extension. The installed Engine/Source/ThirdParty/MikkTSpace/inc/mikktspace.h declares version 1.0. It is 8501 bytes, SHA-256 149cdfb8a3c83e214483196546c14e66a718a550f84f25e50a64c3a6742d09e5. The author-maintained and Epic TPS-linked public headers are identical. After CRLF normalization, Epic’s header differs from both by one added field, tbool m_bIgnoreDegenerates, in SMikkTSpaceContext. Epic’s existing StaticMeshOperations.cpp assigns it from bIgnoreDegenerateTriangles, then calls genTangSpaceDefault. We are recording this declared integration without asserting an ABI or runtime defect.
  2. Producer and original source-input metadata. Existing passive metadata recovery found one archived mikktspace.obj, AMD64 classic COFF. Its S_COMPILE3 record declares Microsoft Optimizing Compiler front end 19.16.27034.0 and back end 19.16.27034.0 (archive record offset 9242). The component-relative source input is src/mikktspace.c, with embedded MD5 f0f93166cd1c56e674da641ac436cba4 (offset 10068). These are producer/source-input records, not an independently authenticated repository revision or a new compiler invocation. No project-header checksum or build-environment record was recovered from the selected debug metadata. Supplier workspace prefixes are omitted, and embedded paths were not followed.
  3. Public-source comparison. The author-maintained mmikk/MikkTSpace C source at commit 3e895b49d05ea07e4c2133156cfa94369e19e409 and the TPS-linked tcoppex/ext-mikktspace C source at commit f824a879858b7f843f900ac023fc9495b064ae5d do not match that source-input MD5 in raw, LF or CRLF form. They are comparison baselines, not identified sources for Epic’s binary. The selected installed component subtree supplies the library, header, module and TPS records, without the original C source or build/patch record.
  4. Existing notice correspondence. The complete 2011 Morten S. Mikkelsen permission/restrictions/disclaimer block matches, after CRLF normalization, in Epic’s header, Engine/Source/ThirdParty/Licenses/MikkTSpace_License.txt, and both public header/C pairs. This resolves the observed notice-text correspondence, not the complete contribution coverage of unidentified downstream sources. The main MikkTSpace.tps links the tcoppex header and records Licensees/Git/P4 routing. A separate ComputingTangentSpace.tps names “Computing TangentSpace without explicit storage,” references the author’s Derivative Maps article and has LicenseFolder set to None; we have not assumed that separate material is compiled into this archive or licensed by those metadata fields.

The exact public C baselines already reviewed are:

Could the responsible component owner please answer these four items, explicitly tying the response to library SHA-256 ceb9df7748beb9ae6931f88fedbd22719c23ec186e665d20ec194b701f7fb7dc?

  1. Original source and patch identity: Identify the original supplier package/revision and complete Epic downstream patch set that produced this library. Please map the original src/mikktspace.c input to MD5 f0f93166cd1c56e674da641ac436cba4, with immutable source/patch identifiers or checksums where available. A version-1.0 header or generic current source link alone leaves this mapping unresolved.
  2. Original build record: Identify the recipe/configuration and compiler/toolset record for this exact archive, corroborating or correcting the embedded 19.16.27034.0 versions. Include relevant generated configuration, definitions, optimization/runtime-library settings and additional compiled inputs or contributions. If internal scripts or commands cannot be shared, a versioned build manifest or component-owner statement explicitly mapping the library hash to permissible source/configuration identifiers would help; please state any remaining limits.
  3. Downstream extension and intended pairing: Identify the source change implementing m_bIgnoreDegenerates and the intended relationship between this supplied header, the bundled library and StaticMeshOperations.cpp’s caller. Please include whether that extension is covered by the same patch record requested above. We are requesting the original record and intended contract, without asking for a replacement build or reporting an observed execution failure.
  4. Complete applicable notices: Identify any additional Epic/downstream contributions and applicable license/copyright/NOTICE files for static incorporation of this unchanged library into a commercial packaged Unreal game, beyond the supplied Mikkelsen notice; if none apply, please confirm the scope of that answer. Also clarify whether the separate ComputingTangentSpace.tps describes material included in this archive, and, if so, its exact source and applicable notice record. We are not treating a TPS routing entry as redistribution approval or requesting a license waiver.

Please provide a numbered reply and the official retrieval route for the source, patch, build and notice records available to an entitled Unreal Engine licensee. If a record is unavailable or cannot be disclosed, please identify that limit and the supported route to any remaining information. If this reached the wrong team, please route it to the responsible component owner.

No binaries, engine source files, game assets, private logs, credentials, account details or local absolute paths are attached. No new runtime test was performed for this inquiry.

Thank you,
Israel Rise Studios

What Type of Bug are you experiencing?

Documentation

Steps to Reproduce

Documentary identification only. The installed MikkTSpace module selects the exact library identified in Summary. No runtime failure is asserted.

Expected Result

An authoritative numbered reply mapping the exact library SHA-256 and source-input MD5 to Epic’s source revision, downstream patches, build configuration and applicable notices, with the official retrieval route.

Observed Result

Existing documentary evidence identifies the library/header hashes, producer compiler 19.16.27034.0 and src/mikktspace.c MD5 f0f93166cd1c56e674da641ac436cba4. The exact source/patch/build mapping remains unresolved; full findings and four questions are in Summary.

Affects Versions

5.8

Platform(s)

Windows