Skip to content

Avatar Setup Wizard 2#79

Open
Sharkmare wants to merge 6 commits intoYellow-Dog-Man:mainfrom
Sharkmare:WhyDoYouHurtMeGitDesktop
Open

Avatar Setup Wizard 2#79
Sharkmare wants to merge 6 commits intoYellow-Dog-Man:mainfrom
Sharkmare:WhyDoYouHurtMeGitDesktop

Conversation

@Sharkmare
Copy link
Copy Markdown
Contributor

@Sharkmare Sharkmare commented Mar 27, 2026

Refactors parts of my Avatar Setup Wizard, properly implements optional bone setup and adds a buch of vector tools to assist users with Avatar Setup.

Also adds some sectioning comments into my code so i remember to add features related to each other in the same section blocks

Also thought it may be useful if people can programmatically parse my changes so below is a machine readable changelog

🆑
add: Rotation Tools section with Fix (Toes), Fix (Tail), Fix (Belly) for per-reference Y-axis rotation correction
add: Generic MirrorRotation method with bit flag axis selection (1=X, 2=Y, 4=Z) operating in avatar root local space
add: Mirror L to R and Mirror R to L buttons for foot references
add: Compute Left/Right/Hips buttons to reset individual references to initial bone position and rotation
add: Use Global Forward/Up toggle for initial reference generation with root deviation warning
add: EnsureReferencesExist recovery method for regenerating deleted References hierarchy without full revert
add: TryFixFootRotation dual check falling back to child bones containing "toe" if humanoid toes missing
qol: Reorganized wizard UI with Setup/Revert buttons at top, collapsible Tools and Edit Visuals foldouts below
qol: Wizard detects existing ResoniteBipedAvatarDescriptor on avatar root change and populates setup flags
qol: Optional reference overrides cleared on avatar root swap to prevent stale positioning
fix: Optional reference slots use avatar root rotation instead of unreliable bone axis rotation
fix: Added null guards with Debug.LogWarning on all public descriptor methods
fix: PostProcessConversion null-safe for optional foot and hips references
fix: Dirty marking on rotation fix buttons for immediate gizmo updates
doc: Added section markers into ResoniteAvatarSetupWizard
fix: try position Tool anchors records child movement now for undo.
clean: Downgrade Logs that act as pure reminders and are not actually an issue from Warn to Log
clean: remove duplicate [ExecuteInEditMode] flag
/:cl:

🆑
add: Rotation Tools section with Fix (Toes), Fix (Tail), Fix (Belly) for per-reference Y-axis rotation correction
add: Generic MirrorRotation method with bit flag axis selection (1=X, 2=Y, 4=Z) operating in avatar root local space
add: Mirror L to R and Mirror R to L buttons for foot references
add: Compute Left/Right/Hips buttons to reset individual references to initial bone position and rotation
add: Use Global Forward/Up toggle for initial reference generation with root deviation warning
add: EnsureReferencesExist recovery method for regenerating deleted References hierarchy without full revert
add: TryFixFootRotation dual check falling back to child bones containing "toe" if humanoid toes missing
qol: Reorganized wizard UI with Setup/Revert buttons at top, collapsible Tools and Edit Visuals foldouts below
qol: Wizard detects existing ResoniteBipedAvatarDescriptor on avatar root change and populates setup flags
qol: Optional reference overrides cleared on avatar root swap to prevent stale positioning
fix: Optional reference slots use avatar root rotation instead of unreliable bone axis rotation
fix: Added null guards with Debug.LogWarning on all public descriptor methods
fix: PostProcessConversion null-safe for optional foot and hips references
fix: Dirty marking on rotation fix buttons for immediate gizmo updates
Doc: Added section markers into ResoniteAvatarSetupWizard
/🆑
@Sharkmare
Copy link
Copy Markdown
Contributor Author

image image It should now even be able to handle if for some ungodly reason avatar root is Z = backwards

@Sharkmare
Copy link
Copy Markdown
Contributor Author

Oh also since i forgot to mention it
Fix Tail and Fix Belly

Look for a Tail bone or Belly bone respectively to intuit Hip rotation from those non standard bones

Fix Toes both supports Biped Toes AND a random slot containing "toes" in the foot hierarchy

@Sharkmare Sharkmare marked this pull request as draft March 27, 2026 02:17
@Sharkmare Sharkmare marked this pull request as ready for review March 27, 2026 02:31
@Sharkmare
Copy link
Copy Markdown
Contributor Author

Had to fix a small oversight where my Reference Geerator logic Aggressively created ALL Potential references instead of properly checking against Existing Refs on Biped + User given refs and skipping if neither is properly provided

Fix: The undo for try position Tool anchors wasnt recording child movemet, only parents
Cleanup: Downgrade Logs that act as pure reminders and are not actually an issue from Warn to Log
Cleanup: duplicate   [ExecuteInEditMode] flag
@Sharkmare
Copy link
Copy Markdown
Contributor Author

Avatar Setup Wizard

var window = GetWindow<ResoniteAvatarSetupWizard>();
window.titleContent = new GUIContent("Avatar Setup Wizard");
window.minSize = new Vector2(400, 500);
window.minSize = new Vector2(420, 500);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's pretty high! :D

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's pretty high! :D

Should be the minimum size to be legible as an undocked window! (at least on my machine)
(Docked windows for better or worse are allowed to override this)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@Sharkmare Sharkmare requested a review from Frooxius March 31, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants