2 changes in this update

Added

2 changes
  • - Complete Citizen profiles carry AnimGraph2 over: when the reference model names an AnimGraph2 (`.ag`) graph and the stock bind transforms match, the saved model names that graph too. References with only an AnimGraph1 graph save exactly as before.

  • - The rigger window and Rig details show which animation graph system the chosen reference model uses: "AnimGraph1 (legacy)" or "Using AnimGraph2".

1 change in this update

Added

1 change
  • should work on linux now

8 changes in this update

Improved

4 changes
  • - Editor namespaces now follow the folders. This only affects your own editor code that calls into the rigger; no type was renamed, so updating `using` lines is enough.

  • - `HumanoidRigger` -> `HumanoidRigger.EditorTools.Core` (ImportedCharacter, MeshPart, Wizard, ...), `.Core.Analysis` (BodyDetector, HandDetector, Anatomy, ...), `.Core.Analysis.Inference` (NativeHandModel, HandModelAssets, ...), `.Core.Export` (ExportRequest, FbxExporter, GltfExporter, ObjExporter, DmxExporter, ...), `.Core.Import` (ModelImporter), `.Core.Import.Fbx` (FbxModelImporter), `.Core.RigProfiles` (Profiles, RigProfile, CustomProfile, ...), `.Core.Rigging` (GeneratedRig, RigBone, Skinning, SkeletonSolver, ...), `.Core.Validation` (RigValidator, ValidationReport, Deformation, WeightRepair, ...).

  • - `HumanoidRigger.Formats.Fbx` -> `HumanoidRigger.EditorTools.Core.Import.Fbx`; `HumanoidRigger.Formats.Gltf` -> `HumanoidRigger.EditorTools.Core.Import.Gltf`; `HumanoidRigger.Formats.ModelDoc` (Kv3) -> `HumanoidRigger.EditorTools.Core.Export`; `HumanoidRigger.Maths` -> `HumanoidRigger.EditorTools.Core.Maths`.

  • - `HumanoidRigger.Editor` -> `HumanoidRigger.EditorTools.UI` (RiggerWindow, FingerCountDialog, ProfileDialog, ProfileStore, SaveRigDialog), `HumanoidRigger.EditorTools.UI.Viewport` (RiggerViewport) and `HumanoidRigger.EditorTools.Engine.Export` (AssetOutput, ExportResult).

Fixed

4 changes
  • - Characters rigged with a Complete Citizen profile in a T-pose no longer twist at the biceps, elbows and forearms when they play stock Citizen animations. Each fitted bone now keeps the Citizen's frame turned onto the character's own limb, so the shipped helper constraints read the same twist as on the Citizen.

  • - Knees, ankles, elbows and wrists now bend at the joint, like the stock Citizen. The limb twist bones used to split each limb halfway between them, so the lower shin followed the foot and the lower thigh followed the shin in crouches and steps.

  • - Knees and elbows keep their volume in deep bends, like the stock Citizen. Complete Citizen rigs now copy the installed Citizen skin at the knees, ankles and elbows, matched by position along and around the limb, so the kneecap and elbow helpers, the back of the knee and the inside of the elbow are weighted as on the stock model. Measured in game against the stock Human male, knees keep the same volume and elbows do not thin out.

  • - Rig validation now poses the kneecap and elbow helpers the way their s&box constraints do (half way through the joint), so its checks match what you see in game.

17 changes in this update

Added

5 changes
  • Complete Citizen profiles - Generate full Citizen and Human Citizen male/female skeletons from installed reference models,

  • including controls, twists, corrective bones and finger helpers.

  • Reference rig settings - Include matching ModelDoc IK, constraints, attachments and bone markup while preserving custom meshes

  • and materials.

  • Native deformation validation - Test compiled constraint behavior and repair unsafe weights before saving.

Improved

5 changes
  • Complete Citizen profiles - Generate full Citizen and Human Citizen male/female skeletons from installed reference models,

  • including controls, twists, corrective bones and finger helpers.

  • Reference rig settings - Include matching ModelDoc IK, constraints, attachments and bone markup while preserving custom meshes

  • and materials.

  • Native deformation validation - Test compiled constraint behavior and repair unsafe weights before saving.

Fixed

4 changes
  • Face stretching - Prevent clavicle movement from incorrectly pulling cranial geometry.

  • Pinky control - Disable CopyPinky on fitted Human Citizen rigs to avoid conflicting pinky drivers.

  • Export consistency - Preserve matching scale, facing and bind transforms across FBX, DMX and compiled VMDL output.

  • Bone selection - Allow posing reference arm and leg controls that are intentionally unweighted.

Known Issues

3 changes
  • Dense characters - Torso/pelvis isolation can remain unresolved and validation may take longer. Failed rigs remain blocked

  • from saving.

  • Still weight painting issues.

Added

4 changes
  • Specular/glossiness - Added glTF material support with conversion for s&box previews and exports.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/0c4450d) (@zeljkovranjes)0c4450d by @zeljkovranjes

  • HDR emission - Added emissive strength and glowing materials without an emissive texture.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/6e7304b) (@zeljkovranjes)6e7304b by @zeljkovranjes

Improved

4 changes
  • Texture strengths - Preserve normal-map scale and ambient-occlusion strength, including packed occlusion maps.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/6e7304b) (@zeljkovranjes)6e7304b by @zeljkovranjes

  • Emission exports - Preserve emissive colors and intensity through FBX and OBJ export and reimport.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/6e7304b) (@zeljkovranjes)6e7304b by @zeljkovranjes

Fixed

6 changes
  • Split mesh seams - Keep matching material and UV boundaries closed during deformation without welding geometry.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/0c4450d) (@zeljkovranjes)0c4450d by @zeljkovranjes

  • Arm deformation - Fixed remaining torso and jacket pulling when open sleeves prevent the initial arm-boundary

  • detection.6e7304b by @zeljkovranjes

  • WebP textures - Correctly select glTF extension-provided textures and convert them for compatible previews and

  • exports.0c4450d by @zeljkovranjes

Areas
30 changes in this update

Added

6 changes
Import & Export
  • Model formats - Added Obj, Gltf and Glb import and automatic rigging.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/ad8165f) (@zeljkovranjes)ad8165f by @zeljkovranjes

  • Export options - Added Gltf, Glb and Obj output, with independent checkboxes for exporting multiple formats together.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/ad8165f) (@zeljkovranjes)ad8165f by @zeljkovranjes

Validation
  • Joint testing - Added automatic deformation tests for every deforming joint in both directions on all three axes.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/6478a7c) (@zeljkovranjes)6478a7c by @zeljkovranjes

Improved

9 changes
Performance
  • Rig generation - Reduced repeated mesh calculations while preserving deformation validation.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/4ec428e) (@zeljkovranjes)4ec428e by @zeljkovranjes

  • Resource usage - Reduced temporary memory allocations and CPU contention during rig generation.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/603a972)603a972

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/96a30a9) (@zeljkovranjes)96a30a9 by @zeljkovranjes

Detection
  • Landmark placement - Improved body and hand fitting for varied proportions, including oversized and detached hands.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/ad8165f) (@zeljkovranjes)ad8165f by @zeljkovranjes

Skinning
  • Automatic weights - Improved surface and anatomical checks to prevent unrelated body regions from receiving limb

  • influences.6478a7c by @zeljkovranjes

Fixed

11 changes
Skinning
  • Torso pulling - Fixed leg and collarbone weights pulling unrelated areas of the lower back and spine.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/4cbe21b)4cbe21b

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/329adb2) (@zeljkovranjes)329adb2 by @zeljkovranjes

  • Arm pulling - Prevented remote arm influences from pulling the torso during arm movement.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/6478a7c) (@zeljkovranjes)6478a7c by @zeljkovranjes

  • Joint deformation - Repaired remaining joint-motion folds while preserving material seams and reviewed bone positions.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/878d88c) (@zeljkovranjes)878d88c by @zeljkovranjes

Preview
  • Model orientation - Corrected sideways humanoids with inconsistent source up and forward axes.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/bfb38b6) (@zeljkovranjes)bfb38b6 by @zeljkovranjes

Editor
  • Hand adjustments - Stopped unnecessary background rig generation while the right hand was still being edited.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/603a972) (@zeljkovranjes)603a972 by @zeljkovranjes

Known Issues

4 changes
Import & Export
  • Gltf compatibility - Compressed extensions and separate UV transforms per material texture require baking before

  • import.ad8165f by @zeljkovranjes

  • Obj export - Obj contains geometry and materials only. Use Fbx, Gltf or Glb to preserve the skeleton and skin weights.

  • (https://github.com/zeljkovranjes/sbox-humanoid-rigger/commit/ad8165f) (@zeljkovranjes)ad8165f by @zeljkovranjes