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-256d7e1f9c45f1c90e597f701103ebb924d88419e0a31112f527f1cc47ad138a814. - 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:
- Supplied header and downstream extension. The installed
Engine/Source/ThirdParty/MikkTSpace/inc/mikktspace.hdeclares version 1.0. It is 8501 bytes, SHA-256149cdfb8a3c83e214483196546c14e66a718a550f84f25e50a64c3a6742d09e5. 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, inSMikkTSpaceContext. Epic’s existing StaticMeshOperations.cpp assigns it frombIgnoreDegenerateTriangles, then callsgenTangSpaceDefault. We are recording this declared integration without asserting an ABI or runtime defect. - 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 issrc/mikktspace.c, with embedded MD5f0f93166cd1c56e674da641ac436cba4(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. - Public-source comparison. The author-maintained
mmikk/MikkTSpaceC source at commit3e895b49d05ea07e4c2133156cfa94369e19e409and the TPS-linkedtcoppex/ext-mikktspaceC source at commitf824a879858b7f843f900ac023fc9495b064ae5ddo 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. - 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 hasLicenseFolderset toNone; 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?
- 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.cinput to MD5f0f93166cd1c56e674da641ac436cba4, with immutable source/patch identifiers or checksums where available. A version-1.0 header or generic current source link alone leaves this mapping unresolved. - 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.
- Downstream extension and intended pairing: Identify the source change implementing
m_bIgnoreDegeneratesand 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. - 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