Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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
3
Question by JohNor · May 17, 2015 at 07:52 PM · editor-scriptingassetbundleassetbundles

How do you set asset bundle name on prefabs through code?

Hi,

I've been away from Unity for a year so I'm a bit confused by what has changed :)

I have an old project where I had placed all assets that where to be built into asset bundles in a folder named "AssetBundles". Now I want to migrate this system to the new awesome 5.* asset bundle system. I could go through all the assets manually and set them to: "go_cool.unity3d" etc but I have about 500 of them so I thought I would write a script that would just set the asset bundle name to the same name as the asset for all assets in that folder.

I couldn't figure out how to do this so I though an AssetPostProcessor should do the trick. This seems to work in setting assetImport.assetName on textures. But I can't figure out how to do this on prefabs/gameobjects. The "on post process all assets" is a static method for some reason. The "on pre process model" is not called on game objects. The "OnPostprocessGameObjectWithUserProperties" I can't find any information about how to trigger this one.

Sincerely thankful for any help :)

/J

Comment
Add comment · Show 2
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 dasm30 · Sep 02, 2016 at 04:40 PM 0
Share

Did you solved this issue? I need to set/get asset bundles names also through code

avatar image JohNor dasm30 · Sep 03, 2016 at 09:50 AM 0
Share

Nope, never solved this, sorry.

1 Reply

· Add your reply
  • Sort: 
avatar image
4

Answer by YinXiaozhou · Sep 19, 2016 at 05:44 AM

This should work for any assets(Not scripts maybe).

     [MenuItem("Test/ChangeBundleName")]
     static void ChangeBundleName()
     {
         string assetPath = AssetDatabase.GetAssetPath(Selection.activeInstanceID);
         AssetImporter.GetAtPath(assetPath).SetAssetBundleNameAndVariant("testBundle", "");
     }

Comment
Add comment · Show 1 · 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
avatar image Besbes_Salma · Mar 11, 2019 at 11:33 AM 2
Share

made some changes on your code in order to rename a bunch

 [$$anonymous$$enuItem("Assets/ChangeBundleName")]
     static void ChangeBundleName()
     {
         var assets = Selection.objects.Where(o => !string.IsNullOrEmpty(AssetDatabase.GetAssetPath(o))).ToArray();
 
         foreach (var a in assets)
         {
             string assetPath = AssetDatabase.GetAssetPath(a);
             AssetImporter.GetAtPath(assetPath).SetAssetBundleNameAndVariant(a.name, "");
         }
 
     }

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

6 People are following this question.

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

Related Questions

How do you set asset bundle name on prefab through code? 0 Answers

Addessable asset download once 0 Answers

Missing textures & materials in asset bundle 1 Answer

When looping through assetbundle assetdatabase how do you reference a material object 0 Answers

assets bundle for ios 4 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