Genies iOS SDK v0.1.28
Updated: July 9, 2026
What's Deprecated
NAFMaterial.smoothness→ useroughnessFactor(smoothness = 1 − roughness).NAFMaterial.metallicSmoothnessTexture→ usemetallicRoughnessTexture+metalRoughPacking.
What's New
- New — glTF 2.0 material model
NAFMaterialis now decoder-driven: values resolve through the shared C++MaterialDecoder— native glTF fields for new-pipeline assets, Unity URP key fallback for legacy exports — one canonical metallic-roughness view regardless of asset origin. New surface:metallicRoughnessTexture+metalRoughPacking,roughnessFactor,emissiveFactor/emissiveStrength,alphaMode/alphaCutoff,isNewMaterialModel, plus KHR extension factors (unlit, clearcoat, sheen, anisotropy, texture transform).- Metal shading is packing-aware: the metallic-roughness texture samples per its declared packing (glTF G/B vs Unity R/A-inverted); legacy materials render identically to before.
- KHR extension lobes added to the PBR path — clearcoat, sheen (Charlie/Ashikhmin), anisotropic GGX — ported from the Khronos glTF-Sample-Renderer reference plus
KHR_materials_unlit,KHR_texture_transform, andKHR_materials_emissive_strength. - Emissive textures now render (bound for the first time, black fallback), and glTF
alphaModesemantics apply strictly to new-model materials — legacy alpha behavior is unchanged.
- New — local assets (LocalResolver): The asset resolver's
LocalResolvernow works on iOS: it resolves against the app bundle's resource path, so DEBUG builds can serve assets from a bundledlocalResolver/directory. - New — loaded-avatar diagnostics:
NAFView.avatarUsesNewMaterialModel— whether the loaded avatar uses the new (glTF) material model.