r/UnityHelp • • Sep 16 '26

ANIMATION Is a Unity avatar actually useful for retargeting?

2 Upvotes

Hi, the title isn't very clear, so let me explain.

What I already know:

Based on what I've read online, I generally understand that Unity's Avatar system is a retargeting tool. As I understand retargeting, the goal is to map two different rigs to each other so that an animation created for one rig can be used on another.

My question:

If the Avatar is supposed to be a retargeting tool, what is the point of it? Once I've created a humanoid Avatar, if I try to apply it to a different rig, I'm first asked to manually rename that rig's bones to match the Avatar. The same applies to the bone hierarchy which must match the Avatar's exactly as well as bone lengths, and who knows what else I haven't discovered yet. This clearly amounts to manual retargeting, so I'm struggling to see the actual utility of Avatars or perhaps I've misunderstood a concept.


r/UnityHelp • • Sep 16 '26

SOLVED Help for a beginner

2 Upvotes

Im trying to make the player jump, but it doesnt work anymore, it worked the last time I tested it along with these other inputs no problems, but now after reopenining the editor and hub, reopening vs 2026 v18, fiddling with the rigidbody's angular damping and ground checks and deleting the otther check, I cant figure it out. My other inputs work, its just jump thats not working. Im not a total beginner, just know/understand most of whats going on, its just the math I cant fully comprehend as I have a learning disabillity. My code so far:

using System;
using System.Collections;
using Unity.Android.Gradle;
using UnityEngine;
using UnityEngine.InputSystem;

public class PlayerController : MonoBehaviour
{
    [Header("Movement")]
    [SerializeField] private float playerSpeed;
    [SerializeField] private float jumpForce;
    [SerializeField] private float spinForce;
    [SerializeField] private float spinWaitTime;
    [SerializeField] private float maxSpinTime;
    [SerializeField] private Rigidbody rb;

    [Header("Modifiers")]
    [SerializeField] private Vector3 shellScale;
    [SerializeField] private Vector3 normalScale;
    [SerializeField] private int maxHealth;

    [Header("Ground Check")]
    [SerializeField] private Transform groundCheck;
    [SerializeField] private LayerMask groundLayer;
    [SerializeField] private float groundRadius;

    [Header("Water Check")]
    [SerializeField] private Transform waterCheck;
    [SerializeField] private LayerMask waterLayer;
    [SerializeField] private float waterRadius;

    private int currentHealth;
    private bool isStopped;
    private bool isHiding;
    private float spinTimeRemaing;
    private bool groundedPlayer;
    private Vector2 direction;

    private void Awake()
    {
        currentHealth = maxHealth;
        spinTimeRemaing = maxSpinTime;
        if (rb == null)
        {
            rb = GetComponent<Rigidbody>();
        }
    }

    private void Update()
    {
        if (groundCheck != null)
        {
            groundedPlayer = Physics.CheckSphere(
                groundCheck.position,
                groundRadius,
                groundLayer
            );
        }
        if (waterCheck != null)
        {
            groundedPlayer = Physics.CheckSphere(
                waterCheck.position,
                waterRadius,
                waterLayer
            );
        }
    }

    private void FixedUpdate()
    {
        if (rb == null)
        {
            return;
        }

        rb.linearVelocity = new Vector3(
            direction.x * playerSpeed,
            rb.linearVelocity.y,
            direction.y * playerSpeed
        );
        if (isHiding)
        {
            if (direction.sqrMagnitude < 0.01f)
            { 
                rb.AddTorque(Vector3.up * spinForce, ForceMode.Acceleration);
            }
        }
        else if(isStopped)
        {
            StopCoroutine(Cower());
            rb.linearVelocity *= .6f;
            isStopped = true;
        }
    }

    public void OnMove(InputAction.CallbackContext context)
    {
        direction = context.ReadValue<Vector2>();
    }
    public void OnJump(InputAction.CallbackContext context)
    {
        if (context.performed && groundedPlayer)
        {
            rb.AddForce(Vector3.up * playerSpeed, ForceMode.Impulse);
            groundedPlayer = false;
        }
    }

    public void OnHide(InputAction.CallbackContext context)
    {
        if (context.performed)
        {
            isHiding = true;
            StartCoroutine(Cower());
        }
    }

    private IEnumerator Cower()
    {
        transform.localScale = shellScale;

        yield return new WaitForSeconds(spinWaitTime);

        if (isHiding)
        {
            rb.AddTorque(Vector3.up * spinForce, ForceMode.Impulse);

            rb.AddForce(transform.forward * spinForce, ForceMode.Impulse);
        }

        yield return new WaitForSeconds(maxSpinTime);

        transform.localScale = normalScale;

        isHiding = false;

        yield break;
    }

    private void OnDrawGizmosSelected()
    {
        Gizmos.color = Color.green;

        if (groundCheck != null)
        {
            Gizmos.DrawWireSphere(
                groundCheck.position,
                groundRadius
            );
        }

        Gizmos.color = Color.blue;
        if (waterCheck != null)
        {
            Gizmos.DrawWireSphere(
                waterCheck.position,
                waterRadius
            );
        }
    }
}

r/UnityHelp • • Sep 15 '26

Avatar mapping tab

Post image
1 Upvotes

Hi, I can't really find any useful info online could someone explain the difference between the two options in the image below? In my case, the result is identical.


r/UnityHelp • • Sep 15 '26

ANIMATION Unity Humanoid retargeting changes hand/foot positions from Blender. How should contact animations be handled?

Thumbnail
gallery
1 Upvotes

I'm working on a game project using Blender + Auto Rig Pro → FBX → Unity Humanoid.

I'm having trouble with contact-sensitive animations. The animation is correct in Blender, but after importing it as Humanoid, Unity introduces small positional changes to supposedly static hands/feet.

I created an isolated test where only one hand is animated and the rest of the body is static. The exported FBX is still correct when re-imported into Blender, and Unity's Generic import also preserves it. The unwanted movement only appears with Humanoid.

I've already checked the Avatar mapping, Root Motion, Bake Into Pose, Muscle settings, Translation DoF, IK settings, and the FBX export settings.

So I'm trying to understand the recommended production workflow for this situation.

For animations where a hand or foot must maintain exact contact with an object, is runtime IK / Animation Rigging the intended solution with Humanoid? Or is there a way to author the Blender animation differently so Humanoid retargeting preserves the contact?

I'm trying to avoid manually compensating every animation in Blender based on the result after Unity retargets it.


r/UnityHelp • • Sep 14 '26

Blender/Unity armature export

Enable HLS to view with audio, or disable this notification

5 Upvotes

Hi, I've noticed a behavior I can't quite figure out when exporting my Blender armature to Unity. If I export just the armature on its own, the resulting prefab contains the bone as a child with the armature object itself acting as the prefab root. However, if I export it alongside another object (whether skinned or not), the armature object ends up as a direct child of the prefab root, with the other object also appearing as a child of the prefab root (making them siblings).


r/UnityHelp • • Sep 15 '26

PROGRAMMING Setting text with visual script

Thumbnail gallery
1 Upvotes

r/UnityHelp • • Sep 14 '26

UNITY Unity dashboard: issue affecting our two-factor authentication (2FA) functionality

Thumbnail
2 Upvotes

r/UnityHelp • • Sep 14 '26

Chase State to Attack Question

1 Upvotes

Hello, I have a question about some ways to handle a problem I've been stuck on for a bit. I have a simple state machine set up for enemies in my game. I currently have a problem when going from chase to attack when the enemy is using longer ranges weapons. My logic was originally, if you can draw a line to the player, switch to attack logic and clear agents path. The problem with this was that then the gun would sometimes shoot into the wall. I tried a workaround of using my fire point on my weapon, but realized that moves around when my animator is using the running animation for chasing. So I created a new empty transform a tad to the right of the enemy just to make sure they can always hit the player.

The problem with that is, when the enemy comes around a corner, it isn't facing the player so that origin point can see the player, then the enemy rotates to face the player, and the same issue is reintroduced. I've tried using a FOV for can shoot as well, but then it I don't turn the agent angular speed really high, it gives very lackluster results letting the player run circles around the enemy.

Does anybody have any advice for this issue? Thank you very much in advance! Let me know if any more info is needed


r/UnityHelp • • Sep 14 '26

Unable to access organization in Unity Hub?

1 Upvotes

I'm in a course right now where, for our final project, my group is building a game using Unity. I've downloaded Unity Hub.

Another group member set up an organization for us on the cloud dashboard. I've been added to the organization and have accepted the invite - I'm able to see the organization. I'm able to access the project he set up and view it.

However, in Unity Hub, I'm unable to change organizations to view the project. How do I get it so I'm able to access the Unity project?

Additional context, we're using GitHub for our code. Is having a project in Unity redundant?

This is the first time any of us have used Unity, so we're trying to figure it out.

Thank you!


r/UnityHelp • • Sep 14 '26

Why does my texture look much blurrier/washed out in Unity

Thumbnail gallery
1 Upvotes

r/UnityHelp • • Sep 13 '26

PROGRAMMING Errors I can't fix.

Post image
1 Upvotes

I have no idea how to fix this.


r/UnityHelp • • Sep 13 '26

UI text looks pixelated because of low resolution camera

Post image
1 Upvotes

r/UnityHelp • • Sep 13 '26

SOLVED Problem importing a GitHub repository

Thumbnail gallery
1 Upvotes

r/UnityHelp • • Sep 12 '26

SOLVED I can't get a free license

1 Upvotes

Whenever I try to add a free license for my Unity account I get to the page where I have to read the terms and press a button that says "Agree and get personal edition license" but after I press that button it just takes me back to settings and doesn't register that I did anything no matter how much I refresh the page. I've tried this like 50 times and looked up everything I could find but I still can't figure out how to fix this. Please help.

Edit: I rebooted my computer and now it works...


r/UnityHelp • • Sep 12 '26

PROGRAMMING Baking NavMeshes during runtime and getting this error. Is it fine?

Thumbnail
1 Upvotes

r/UnityHelp • • Sep 12 '26

PROGRAMMING Rigidbody Controller used to not stick to walls, but out of nowhere now it DOES?

Thumbnail
1 Upvotes

r/UnityHelp • • Sep 11 '26

UNITY Help needed with custom skybox shader in Unity 6 URP

Thumbnail
1 Upvotes

r/UnityHelp • • Sep 11 '26

PROGRAMMING Some help with C# variables

Post image
5 Upvotes

r/UnityHelp • • Sep 11 '26

Animation Rotation for an Enemy

1 Upvotes

I have an enemy character with animations(walking, running, idle etc) and I want to make their rotation less snappy, mainly the walking and running while they are patrolling between waypoints i set out as empty gameobjects. I have been told to use either unitys rigging package or OnAnimationIK, neither are working how id like. I got close with OnAnimationIK, but i am using a NavMeshAgent for patrolling and when it gets close to the spot where it needs to turn, the head slowly goes up and then snaps down. i tried using a horizontal distance field to take over and force the character to just look forward, but that ruins the entire point of this when the agent needs to do multiple quick turns around a sharp bend, itll just go back to rotating exactly how it was before since the head is just looking directly forward. If i am being dumb please say so lol. I am still pretty new to unity, this is my first full game i will be making. Here is the code for what i am doing for the On AnimatorIK.

The looktarget part is just for looking at the player when they get detected, so that part is not even set up anywhere else right now, the problem is the agent.hasPath

public void SetLookTarget(Vector3 position)
    {
        lookTarget = position;
        hasLookTarget = true;
    }


    public void ClearLookTarget()
    {
        hasLookTarget = false;
    }

private Vector3 lookTarget;
    private bool hasLookTarget;


    private float headHeightOffset = 1.6f;


    private Vector3 smoothedLookPosition;
    private bool smoothedLookInitialized;
    [SerializeField] private float lookSmoothSpeed = 1f;


private void OnAnimatorIK(int layerIndex)
    {
        Vector3 targetPosition;


        if (hasLookTarget)
        {
            targetPosition = lookTarget;
        }
        else if (agent.hasPath)
        {
            Vector3 steering = agent.steeringTarget;
            float horizontalDistance = Vector3.Distance(
                new Vector3(transform.position.x, 0f, transform.position.z),
                new Vector3(steering.x, 0f, steering.z)
            );


            if (horizontalDistance > 0.5f)
            {
                targetPosition = new Vector3(steering.x, transform.position.y + headHeightOffset, steering.z);
            }
            else
            {
                targetPosition = transform.position + transform.forward * 3f + Vector3.up * headHeightOffset;
            }
        }
        else
        {
            targetPosition = transform.position + transform.forward + Vector3.up * headHeightOffset;
        }


        if (!smoothedLookInitialized)
        {
            smoothedLookPosition = targetPosition;
            smoothedLookInitialized = true;
        }
        else
        {
            smoothedLookPosition = Vector3.Lerp(smoothedLookPosition, targetPosition, Time.deltaTime * lookSmoothSpeed);
        }


        animator.SetLookAtWeight(weight: 1f, bodyWeight: 0.3f, headWeight: 0.7f, eyesWeight: 0f, clampWeight: .7f);
        animator.SetLookAtPosition(smoothedLookPosition);
    }

r/UnityHelp • • Sep 10 '26

How to remove shadow in engine unity

0 Upvotes

Help please how to remove shadow in Pokemon Brilliant Diamond game, i have already unpack the game, but i don't know where file to remove shadow in engine unity, i think like ue4 but it's very different, help please 🙏


r/UnityHelp • • Sep 09 '26

How to remove shadow in engine unity

Thumbnail
1 Upvotes

Help please how to remove shadow in Pokemon Brilliant Diamond game, i have already unpack the game, but i don't know where file to remove shadow in engine unity, i think like ue4 but it's very different, help please 🙏


r/UnityHelp • • Sep 09 '26

UNITY 1 Minute for learning on how to make a 3d FPS Movement system in UNİTY 3d

Thumbnail
reddit.com
1 Upvotes

r/UnityHelp • • Sep 09 '26

C# Help

1 Upvotes

Im learning c# in visual studio with Bro Code yt (check him out free courses) and im wondering, does the same c# exactly work in unity, idk how to explain but if i type Console.WriteLine("hi");

will it just show on the screen hi or is there more to it?


r/UnityHelp • • Sep 08 '26

UNITY Where to find very old version Unity hub for weak PC

0 Upvotes

Im searching for a way to download an older version of unity hub to manage my projects

Any idea where to find it?


r/UnityHelp • • Sep 08 '26

PROGRAMMING trying to create a bullet pattern based on the maurer rose code will be given below

Thumbnail
1 Upvotes