• 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
1
Question by jiridexterhanc · Aug 25, 2020 at 06:49 AM · importing assetsassetdatabaseassetpostprocessor

AssetPostprocessor - OnPostprocess* asset not in the AssetDatabase yet

When I import an AudioClip, I want to create a scriptable object that references the clip (and adds other data as well. The problem if I assign the the clip, it doesn't get serialized properly, presumably because it's not in the AssetDatabase yet.
This results in a null.
AssetDatabase.LoadAssetAtPath<AudioClip>(this.assetPath);


Currently I periodically check whether it's there yet and only then I carry on

 for (int i = 0; i < 50; i++)
 {
         clip = AssetDatabase.LoadAssetAtPath<AudioClip>(this.assetPath);
         if (clip)
         {
             break;
         }

         await Task.Delay(50);
 }


This works but feels hacky. Is this a bug or am I missing something? (I'm on 2020.1)

Comment
Add comment · Show 3
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 james580 · Feb 12 at 03:04 PM 0
Share

I know this question is from a long while ago, but I'm having this problem now. Were you able to figure it out by chance?

avatar image jiridexterhanc james580 · Feb 12 at 04:48 PM 0
Share

I have switched to a different engine since then actually, so I don't remember. Sorry. I've done a quick search thru my repos and all my code still used smt. like the posted hacky polling snippet, so I don't think I've figured a proper solution/fix. It's been years though, so a newer version of Unity might have fixed it, though seeing you are asking, then maybe not...

avatar image james580 jiridexterhanc · Feb 13 at 05:09 AM 0
Share

Hey thanks anyway for the response. I ended up finding a solution similar to yours, but instead of Task.Delay there's a Unity function that will basically just delay a frame: "EditorApplication.delayCall += () => AssetDatabase.LoadAssetAtPath(this.assetPath)".

I won't list this as an answer, because I'm not sure if this is considered "hacky" as well. But perhaps it'll still be useful if someone else comes across this Question.

0 Replies

· Add your reply
  • Sort: 

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

133 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 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 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 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 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

Package Import with Postprocessor - How to tell when all assets are imported 1 Answer

AssetPostprocessor reference to asset being processed? 1 Answer

How to update import settings for newly created asset during OnPostprocessAllAssets 3 Answers

Metadata not being saved on custom file types 0 Answers

How do you add extra sub-assets into an asset while importing? 0 Answers


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