Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
13 Jun 22 - 14 Jun 22
sparklines
Close Help
  • 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.

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

Metadata not being saved on custom file types 0 Answers

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

Expandable items in ScriptableObject? 1 Answer

AssetDataBase.ImportAsset not triggering AssetProcessor.PreProcessModel 0 Answers

Prevent OnPostprocessAllAssets being called multiple times 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