Forum rules - please read before posting.

Mecanim parameters not showing for 2D Player with "Sprites Unity Complex" + Manual Motion

Hello Everyone,

I'm working on a 2D game in Unity 6 (Unity 6000.0.42f1 ) using the newest Adventure Creator version.

My character uses frame-by-frame sprite animations, and I'd like to control them via Animator parameters (e.g. IsWalking, TurnLeft, Direction) for handling directional transitions and turn animations.

Here’s what I’ve done:

  • The Player uses "Sprites Unity Complex" as the animation engine.
  • Motion control is set to Manual, because I want Adventure Creator to control parameters like IsWalking and TurnLeft.
  • I’ve assigned a valid Animator Controller with all the required parameters.
  • But in the Player Inspector, under “Mecanim parameters”, I only see float and int fields like Speed, Direction, Angle, etc.
  • The IsWalking, TurnLeft, and TurnRight fields do not appear, even though I’m using Manual control.

My goal is to use AC to automatically set those bool parameters, so I can set up Animator transitions like:

  • Idle -> Turn -> Walk (when direction changes)
  • Walk -> Idle (when movement stops)

I understand from the Manual and other threads that these fields should appear when using Mecanim + Manual, but that doesn't seem to happen under "Sprites Unity Complex".

Do I need to switch to "Mecanim" instead of "Sprites Unity Complex" to make those parameter fields show up?
Or is there another setup step I’m missing?

https://imgur.com/a/CydemT9

Thanks a lot in advance!

Comments

  • edited May 28

    Welcome to the community, @LytonLight27.

    Apologies, but I'm not quite clear on which parameters you're referring to - could you let me know which part of the Manual you're getting references to IsWalking, TurnLeft and TurnRight from?

    You can get an equivalent to an "IsWalking" bool by checking the "Move speed" float parameter. If >0 and <5 (accounting for your Run speed), then the character will be walking. Similarly, if their "Turn float" is -1, they're turning left, and if +1, turning right.

    It's possible to attach a custom script to your character that converts these floats into bools, but it would only affect the Transition conditions.

    On the motion control setting: "Manual" causes AC to give up control over the character's Transform component, meaning they won't move unless controlled via a separate script. The Animator parameter fields are unaffected by this, and are shown in full when set to either Manual or Automatic.

  • Hi Chris,

    thank you for the warm welcome and your detailed explanation!

    I now realize where my misunderstanding was:
    I was under the impression that Adventure Creator exposed bool parameters like IsWalking, TurnLeft, and TurnRight directly for use in Mecanim transitions. But as you clarified, AC uses float parameters like Speed and Turn, which we already had visible in the Inspector, I just didn’t realize that those effectively replace the bools I was looking for.

    Thanks again.

    LytonLight27

  • Hello Again,

    thanks again for your earlier response — I’ve been digging deeper into this, and I’d like to summarize what I’ve tried so far.

    Right now I’m using:

    • Sprites Unity Complex as the animation engine
    • Motion Control: Automatic
    • The Animator is placed on the sprite child object and assigned correctly in the Sprite child field of the Player Inspector
    • My Animator Controller has these parameters:

      Speed (float)
      Direction (int)
      Turn (float)
      Angle (float)
      IsTalking (bool)

    I wrote a script that: -> https://imgur.com/a/PVZVas9

    • Reads GetMoveSpeed() and GetMoveDirection() from the Player component
    • Converts the direction vector into an integer (0 = down, 1 = left, 2 = right, 3 = up)
    • Sets that int to the Direction parameter, and Speed to the corresponding float
    • Also triggers TurnLeftToRight or TurnRightToLeft when the direction changes

    In the Animator, I created transitions like:

    • Idle → Walk_Left: Speed > 0.001 and Direction == 1
    • Idle → Walk_Right: Speed > 0.001 and Direction == 2
    • And so on for Up and Down

    The issue:
    Even though I confirmed via Debug.Log that all parameters are being set correctly, the Animator just sits in the Idle state. No transitions happen, except for one case:
    If I click to move a longer distance, the Walk_Down animation eventually starts playing – but only after a delay, and always Walk_Down, no matter the direction.

    Also, in Play mode, the Animator window only shows Idle as the active state, even when movement clearly happens.
    I added all the parameters AC was complaining about (like Turn, Angle, IsTalking), so there are no more errors, but it still doesn’t seem like AC is actually driving the Animator.

    When I remove the Animator and use the default animation fields in the Player Inspector (Walk Left, Idle, etc.), it works – but then I can't use transitions or turning animations.

    So I’m stuck. I'd really like to use Animator transitions and directional animation logic, but AC seems to ignore the Animator completely or not trigger anything properly.

    Thanks in advance!

  • Your script is conflicting with AC in a couple of places.

    The Speed float and Direction integer parameters that your script affects are also being controlled by AC in the same way.

    AC will automatically set the assigned "Move speed float" parameter to the character's movement speed, and the "Direction integer" parameter to their facing direction (see the Manual's "Sprites Unity Complex" chapter for a breakdown of what each value represents).

    Let's put the script aside for the moment, as it looks like the only need for it is with the two Turn triggers.

    With Sprites Unity Complex mode, AC animates characters indirectly. It won't play animations by name - only affect the parameter values you define in the Player Inspector. At runtime, first check - again, without the script - that the parameters you've listed are being set to the correct values. For example, that the "Speed" parameter is being set to non-zero when they begin moving.

    If so, it's then down to the Animator's defined Transitions to take these parameter values and react. For example, to play the correct walking animation when Speed becomes non-zero.

    Feel free to share any and all screenshots of your setup, and I can try to spot where the issue lies.

  • Hey Chris,

    thanks for the clarification – that helps a lot!

    I’ve now removed the script completely to let AC control everything.

    That said, I still see the same issue: the Animator stays in the Idle state for a long time, and only eventually plays the Walk_Down animation – no matter which direction the player moves. I made sure that:

    The parameters Speed and Direction are assigned in the Player Inspector

    AC is actually setting Speed to a non-zero value when moving (I confirmed this with a Debug.Log)

    I set up transitions like:

    • Idle → Walk_Left: Speed > 0.001 and Direction == 1
    • Idle → Walk_Right: Speed > 0.001 and Direction == 2, etc.

    But still, only the Walk_Down animation ever seems to trigger.

    Do you have a recommendation for how to structure these transitions correctly?
    Should I rely on a single Direction parameter per state, or split the logic differently?

    Also: I’d really like to play Turn animations (e.g. when switching from Left to Right) – I saw that AC doesn’t set any Turn triggers by default. Is there a way to combine AC’s built-in system with custom Triggers for turning, without interfering with Speed/Direction?

    Thanks again for taking the time – I’d be happy to share screenshots of the Animator and Player Inspector if needed.

  • Yes, please share screenshots of everything. It could be something as simple as "Has Exit Time" being checked in the Transition, but I'd need to see the setup to know what the exact issue is.

    Keeping the Animator window open at runtime, with the Animator object selected, will show its values. Is the Direction parameter updating as well, and is the character moving left/right at the time?

    Also: I’d really like to play Turn animations (e.g. when switching from Left to Right) – I saw that AC doesn’t set any Turn triggers by default. Is there a way to combine AC’s built-in system with custom Triggers for turning, without interfering with Speed/Direction?

    The "Turn Speed float" will move towards -1 when turning left, and +1 when turning right. It's not a Trigger, as it's updated each frame the character is turning, but you can still use it in your Transitions.

    If need be, you can re-incorporate your custom script to invoke such Triggers based on this float value, but let's get the basic idle/walk transitions working first.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.