• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Benajben · Jan 05, 2015 at 11:18 PM · animatormecanim

Question about Mecanim and Animator

In the API for AnimatorStateInfo there is a method called IsName(string name), but I'm trying to go the opposite direction. I'm looking for something like AnimatorStateInfo.GetName() which would return the string name of the current state that you're in. After digging around for a bit I haven't been able to find anything that looks similar and I'd like to avoid doing a large switch/if statement that would need to be updated anytime I add a new state. Thanks!

Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Baste · Jan 06, 2015 at 09:27 AM 0
Share

as @GameVortex says, this is impossible. If you have the Unity 5 beta available, however, there's a new feature in 5 where you can attach scripts to each state. Those scripts receive a callback whenever the state is entered and exited, as well as a general update callback. That seems to solve every issue I've had where I want to get the name of the current state.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by GameVortex · Jan 06, 2015 at 08:14 AM

Unfortunately there is no possibility of getting the AnimatorStateInfo name because Mecanim does not store it at runtime. It is hashed into an int value, which then represent the ID of the AnimatorStateInfo. When you call the function IsName the name you provide is hashed into an int value as well and then compared with the AnimatorStateInfos hashed name.

If you really need the name of the current AnimatorState then you can store all the names yourself in a list, and at start hash them into int values using: Animator.StringToHash. The hashed int values you can set as keys to the name values in a Dictionary. Then when checking the current AnimatorStateInfo name, you get the AnimatorStateInfo.nameHash and use it to access the values in your dictionary.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

27 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Referencing an Animator component from a parent object? 1 Answer

Make mecanim transition after a delay in Unity3D 0 Answers

Imported model partially disappears 2 Answers

Mecanim. Why cant I get current state name? 1 Answer

Can I create a humanoid animation through scripting at runtime? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges