# Simplygon 10 Release Notes

# Latest Simplygon 10.0 release - Simplygon

  • New features

    • QuadReductionProcessor now supports welding. Enable or disable using QuadReductionSettings::UseWelding.
  • UE

    • DebugPath in Plug-in settings now opens a FolderPicker instead of FilePicker.
    • Fixed issue in StandIn Outliner where parent objects did not get removed after deleting multiple children.
    • Fixed crash issue in StandIn Outliner when removing a StandInMeshActor that did no longer point at an SubActor.
    • Removed QuadReductionPipeline from UI.
  • Max

    • Fixed issue that prevented textures to get exported using sgsdk_ExportToFile (with copy-texture flag).
    • Fixed Emissive channel to be correctly handled.
    • Material nodes now handle invalid textures and reports warnings.
    • Fixed issue related to Morpher writeback when using AllowUnsafeImport-flag.
  • Documentation

    • Updated with Simplygon 9 upgrade information.
  • Bugfixes

    • Fix to Python wrapping code, so SetUserData now accepts a list of data
    • Fixed a regression in the texture shading node, which did not update transformations correctly.
    • Scene::Append now handles duplicate textures correctly when appending scenes with identical texture names.
    • VertexWeightSettings now works more as expected with QuadReductionProcessor. Vertex colors can now be used for reduction weighting.
    • Fixed some broken log messages.

# Initial Simplygon 10.0 release - Simplygon 10.0.1400.0

  • New features

    • Modular seams, enabling gapless reduction between modular assets
    • Support for quad reduction
      • Feature overview
      • Quad support in GeometryData by linking adjacent triangles with the new QuadFlags triangle field.
      • FBX importer/exporter populates and uses the QuadFlags field to import and export quad geometry data.
      • OBJ importer/exporter populates and uses the QuadFlags field to import and export quad geometry data.
      • USD importer/exporter populates and uses the QuadFlags field to import and export quad geometry data.
      • Quads that pass though the triangle-based processors are maintained when possible, but will convert to triangles as required by mesh modifications and reduction operations.
      • Triangles which are marked as part of quads are automatically quadrangulated on export.
      • GeometryData::ValidateQuadFlags() can be used to check the validity of user-set quad flags.
      • Quad reduction processor and pipeline
        • New processor/pipeline that works on structured quad meshes and collapses entire strips of quads at a time.
        • Appropriate for LOD0 reductions as structured input -> structured output.
        • Settings for basic reduction targets; Ratio, Count, MaxDev, OnScreenSize
        • Limitations
          • May stop reduction ahead of reduction target if no more acceptable collapses are found.
          • Does currently not behave well on unstructured quad meshes, works best on authored content with regular topology.
          • Primarily tries to remove quads in geometry with mixed polygon types, and ignores triangles unless they are adjacent to quads.
          • Count and Ratio reduction targets will include triangles in stop condition calculation.
          • VertexWeights are not supported. The field must be removed completely from the geometry as it being present leads to unpredictable behavior.
          • Vertex welding is not yet supported.
      • Max
      • Maya
    • Tessellated Attributes in API
      • Added support for per-triangle implicitly stored tessellation of attributes in geometries. Supported by all processors, casting opacity and displacement (scalar or full vector displacement data)
      • VDM (Vector Displacement Maps) floating point maps (.tiff & .exr formats) can be imported and injected into displacement data in tessellated attributes
  • Unreal Engine (4.27)

    • Fixed issue with incorrect casting of vectors.
    • Fixed plugin compilation issue when not compiling for TargetPlatform Win64 Editor (i.e PS4)
    • Replaced FRunnables with ThreadPool to relax thread contention when running many assets.
    • Added baking of GeometryDataTextures
    • Fixed issue with vertex colors not being preserved when using IMeshReduction interface.
    • Fixed crash issue to avoid creating name lookups if there are no materials present.
    • Fixed issue with material ids end up incorrectly after using geometry culling on near pipeline.
    • Fixed issue with imposter material missing texture coordinate samplers
    • Fixed issue with incorrect uv's being used on the baked material for billboard cloud vegetation when trunk is separated.
  • Unreal Engine (5.0)

    • Fixed issue with incorrect casting of vectors.
    • Fixed plugin compilation issue when not compiling for TargetPlatform Win64 Editor (i.e PS4)
    • Replaced FRunnables with ThreadPool to relax thread contention when running many assets.
    • Added baking of GeometryDataTextures
    • Fixed issue with vertex colors not being preserved when using IMeshReduction interface.
    • Fixed crash issue to avoid creating name lookups if there are no materials present.
    • Fixed issue with material ids end up incorrectly after using geometry culling on near pipeline.
    • Fixed issue with imposter material missing texture coordinate samplers
    • Fixed issue with incorrect uv's being used on the baked material for billboard cloud vegetation when trunk is separated.
  • License updates

    • New license type "Standard" added which is more resilient to license server outage.
  • Improved container support

    • In container environments, Simplygon will fallback to CPU if GPU is not available.
  • Import/export

    • General N-gon polygon faces are automatically triangulated, and quad information is kept on import.
    • Added support for .exr file format input
    • Full support for importing, casting and exporting floating point texture data (in .tif and .exr file formats)
    • FBX exporter automatically compresses attribute fields using IndexToDirect.
    • RunImport and RunExport are renamed to Run and now returns EErrorCode, to harmonize with processors.
  • Scene data

    • Scene nodes now always generate guids for unique look up
    • Added BrightnessContrast and ColorCorrection nodes to shading network
    • Texture, material, bones and selection set tables now enforce unique names when adding or setting items.
  • Error handling

    • Error handling now supports recoverable errors in extension to the regular (unrecoverable) errors.
    • Recoverable errors from processors, importers and exporters are returned as EErrorCode enum values.
  • Breaking Changes and discontinued API objects

    • RemeshingLegacyProcessor (deprecated in 9) has now been removed.
    • DirectXRenderer has been removed.
    • CurvatureImportance has removed.
    • DetectEdgeNeighbours has been renamed/replaced with "DetectEdgeNeighbors".
    • Getter and Setter for IsFrozen on spSceneNode have been removed.
    • RunImport and RunExport method have been removed. They have been replaced with Run instead. Return type is not an enum instead of a bool. Helper methods are provided to cast to book for failure and success.
  • Python API

    • Renamed Simplygon python module to simplygon10
  • Documentation