KybernetikGames / animancer

Documentation for the Animancer Unity Plugin.
63 stars 8 forks source link

Invalid Path followed by NRE when inspecting an AnimancerComponent. #306

Closed CantyCanadian closed 12 months ago

CantyCanadian commented 12 months ago

Environment

Description

For every AnimancerComponent, if I try to inspect them when the game is paused, the inspector becomes seemingly broken and I get an Invalid path ArgumentException, following by endless NREs. Stacks found at the bottom with the images.

Reproduction

Steps to reproduce the bug:

  1. Spawn a prefab with an AnimancerComponent.
  2. Pause the game.
  3. Inspect AnimancerComponent.

Visual of the console + component. image

Stack of Invalid Path. image

Stack of NRE. image

KybernetikGames commented 12 months ago

That first error should only be possible if it's unable to find the AnimancerSettings script and I'm not sure how that could happen unless you specifically deleted it, but try deleting your whole Animancer folder and re-importing it with the Package Manager.

The second error should go away when the first is fixed.

CantyCanadian commented 12 months ago

You were right. I have a submodule where I wanted this package to be and the act of transferring it was causing a lot of errors. Fixing that might have caused the settings file to break.

However, it is only package I've seen in general break if it's moved somewhere else than where it was imported. Considering Unity doesn't really give you any choice as to where it'll end up, this is quite unfortunate. However, I can fix that on my end by editing the submodule itself, so that's a closed issue that only really happened to me. Something to keep in mind.

KybernetikGames commented 12 months ago

It's designed to allow you to move Animancer anywhere you want and I've never had an issue with it before. It asks Unity for the path of the AnimancerSettings script and then your first exception is caused when it tries to get the directory of that path so it can save the settings asset there, but a null ref there means Unity returned null for the script path.

Can you describe where and how you're trying to move it in more detail? It would be nice to support submodules if it's possible.