Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

Discussion in 'Assets and Asset Store' started by FernandoRibeiro, Dec 24, 2013.

  1. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    334
    That's not correct. Even if the arms are a separate slot, if they are using the same overlay as other slots in the same recipe than those overlays will be shared and not added more than once. Look at the torso and legs as an example.

    Yea, hiding base slots is going to be faster during uma generation. It removes the whole slot from the list to combine, where as the hide assets still have to process the slot and mask out the triangles.
    After generation, there is no extra processing by either system.

    How come sometimes you post here and sometimes on the UMA forum? :p We'd prefer the UMA forum.

    Here's the link for others that are unaware;
    http://umacommunity.boards.net/forum
     
    Last edited: Feb 13, 2019
    hopeful likes this.
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    UMA should be doing that. The same textures should not be included twice in the atlas - what are you seeing?
    You should have one UMAMaterial that has a template unity material. Then the Mesh Combiner should combine the slots that have the same UMAMaterial, and the overlays for those should be added to the same atlas.

    You should be able to see this work by looking at the initial man in the Simple Scene. he should have one material on his renderer, and it should be an atlas that four different textures on it - body (with the underpants overlaid on it), head, eyes, mouth.
     
  3. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    334
    Thanks for the report.
    It looks like there is an issue with the serialization/saving from the inspector
    But, we're probably going to revert the automatic update of the overlay asset's texture list form the uma material for a couple reason. 1) when making changes to the uma material list, it should find all matching overlay asset and then update them (it's not doing that right now) 2) Some people prefer the overlay asset texture list to not be destructive.

    So, I'm going to update the overlay asset inspector so people can manually update the overlay asset's texture list and count and then I'll add an editor helper button on the uma material to find and select all overlay assets with the matching uma material (then with multi-editing you can change the texture channel count).

    I'll PM you the updated scripts when they are ready.
    Sound good?
     
    pahctek likes this.
  4. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    68
    @Jaimi @kenamis , here is snip of the texture in my meshrenderers material, where i have two separate arm slots and two separate leg slots and clear duplication of arms and legs (unity 2018.2.20 and UMA2.8 RC3), however, maybe this is to do with how i create the overlays for my slots or similar?:
    upload_2019-2-13_18-7-23.png

    PS. where i post depends on my device, where I am reading and my current lack of bookmarks! sorry, i prefer the forum too! need to get organised
     
  5. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    68
    ignore me, i had duplicated overlays for each limb from the slot builder and i simply needed to use the same one for both!
     
  6. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    642
    Did you get a chance to try a WebGL build? I based my UMA scene off of the "UMA DCS Demo - Using Asset Bundles" demo scene. This is the one that fails for me, it cant find the eyes, and other stuff so it crashes in the browser when that scene starts.
     
    Last edited: Feb 14, 2019
  7. xgcell

    xgcell

    Joined:
    Jul 23, 2016
    Posts:
    4
    Asset works fine in editor for me. When I build to android, it completes build fine but when I launch the game it hangs after the unity splash screen then crashes. Any Ideas?

    Unity 2018.3.2f1
    Samsung Note 8
     
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    Not yet. Having all kinds of "fun" just trying to get WebGL build to work.
     
  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    Do you have any error messages?
     
  10. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    OK - finally got a WebGL build to compile and work. All kinds of issues with the process, I think because of Unity. I change the amount of memory to allocate to 512. And I changed it to use asm.js. Then 2018.3 would successfully build.

    With no changes to the application itself, the Sample asset bundles scene popped up in my chrome browser, and ran just fine. The characters were there, they had eyes, etc.

    So my initial thought is: Perhaps you are running out of browser memory, if it's not something simple like you forgot to add the build references in the global lib.
     
  11. xgcell

    xgcell

    Joined:
    Jul 23, 2016
    Posts:
    4
    No error messages in console. No errors after built.
    Just wondering if it is working as expected for others building to android.

    I was getting an error on OverlayLibraryEditor.cs line 164 and line 194 when I first imported the asset. Apparently both UnityEditor and UnityEngine have a TextureImporter class and it didnt know which one to use. I have tried both and it does not work.
     
  12. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    That error was fixed in an earlier build... you might want to download the 2.8 update from the asset store, and the import. Be sure to delete the core and examples folders first though. (And you'll have to add everything back into the global library - it changed from a prefab to a scriptableobject)

     
    kenamis likes this.
  13. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    478
    Hi, guys,
    Have you guys considered making UMA Assembly Definition friendly?
    I have a large project and the compile time is getting longer and longer and it's becoming unbearable, thus separating each asset into its own AsmDef. It makes things compile faster, however, it's not easy to create AsmDef file for UMA.
    It has too many Editor folders and I need to create Editor AsmDef file for each folder and create links to UMA AsmDef.

    UMA itself is quite a large Asset and I think for the future, it will be better to have one Editor folder and put all Editor related scripts in there.

    What do you guys think?
     
    TeagansDad and hopeful like this.
  14. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    478
    Hi, @kenamis, I just try to reimport clean and it still doing that.
    One funny thing is when I create a new project with just UMA only, it works fine.

    Looking at the code, SlotDataAssetInspector trying to set its target dirty and save, thus it's trying to refresh the view and it repeats itself.
    I think what happens is that I have a large project and the Editor refresh is a bit slow to cause some weird timing issue.
    Can there be some sort of workaround not to save stuff in redrawing?

    Update: commenting out AssetDatabase.SaveAssets() stops it. ^^
     
    Last edited: Feb 14, 2019
  15. Dark_Swordsman

    Dark_Swordsman

    Joined:
    Dec 4, 2018
    Posts:
    27
    Hi, this kind of ties in with chrisk's request: I like to place all external stuff into the Plugins folder to keep my project root clean and get improved compilation times. However, there are a few places in the UMA source that use a hardcoded path. It would be great if you could define the root path in one place to make upgrading easier (or even try to find it dynamically by walking up the folder tree).
     
  16. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    That is in the list of features for 2.9+
     
    hopeful and TeagansDad like this.
  17. Dark_Swordsman

    Dark_Swordsman

    Joined:
    Dec 4, 2018
    Posts:
    27
    Noticed one more small thing after deleting the examples in 2.8: DynamicDNAConverterCustomizer has a reference to the example namespace, dependency-wise this feels wrong.
     
    Last edited: Feb 14, 2019
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    What does it have a reference to?

    Can you create an issue here: https://github.com/umasteeringgroup/UMA/issues

    This is how we track bugs/feature requests.

    Thanks!
     
    hopeful and Dark_Swordsman like this.
  19. shadowlord1

    shadowlord1

    Joined:
    Aug 15, 2014
    Posts:
    28
    Hello!
    I'm trying to create a loading animation (It's an image with rotateAround())... When I open the scene, it takes a few seconds to load the character... But it freezes the animation of my loading spinner. When the character is loaded, the animation continues.
    Is there a way to not freeze the loading?
     
  20. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    We could probably go through and make the global library load asynchronously, but you'd have to then wait for it to complete loading before doing anything. I'll look at adding that to 2.9
     
    hopeful likes this.
  21. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    478

    Any advicd how to fix it?
    Commenting out SaveAssets just to prove that it's the culprit.
    Perhaps moving SaveAsset out of the redraw is the solution but I'm not sure what's the correct solution is.
    Thanks.
     
  22. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    334
    in SlotDataAssetInspector.cs, can you comment out or remove this code
    around line 51
    Code (CSharp):
    1.  
    2.             foreach (var t in targets)
    3.             {
    4.                 var slotDataAsset = t as SlotDataAsset;
    5.                 if (slotDataAsset != null)
    6.                 {
    7.                     if (slotDataAsset.animatedBoneHashes.Length != slotDataAsset.animatedBoneNames.Length)
    8.                     {
    9.                         slotDataAsset.animatedBoneHashes = new int[slotDataAsset.animatedBoneNames.Length];
    10.                         for (int i = 0; i < slotDataAsset.animatedBoneNames.Length; i++)
    11.                         {
    12.                             slotDataAsset.animatedBoneHashes[i] = UMASkeleton.StringToHash(slotDataAsset.animatedBoneNames[i]);
    13.                         }
    14.                         //DelayedSave here too?
    15.                         EditorUtility.SetDirty(slotDataAsset);
    16.                         AssetDatabase.SaveAssets();
    17.                     }
    18.                 }
    19.             }
    I believe that the bad code, and uncomment out the AssetDatabase.SaveAssets() at the end of OnInspectorGUI if you had that still.
     
  23. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    478
    Hi, I did as told but it's still doing it.
    It's still doing it even if I remove everything except the last SaveAsset.
    I guess it's not allowed to have SaveAsset in OnInspectorGUI.

    ps. FYI, I use Perforce and SaveAsset is probably triggering something to redraw, thus the infinite loop.
     
  24. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    What is the recommended approach for wardrobe slots?

    When I make myself a new clothing piece in Simple Setup, I save the result as a prefab and a text recipe. The text recipe can be loaded in a DCA upon start, the prefab can be used to put the avatar (or clothing piece in this case) in-game so that the player can find it and pick it up.

    To be able to actually equip the found clothing piece, I apparently need a wardrobe recipe. Slotting a text recipe does not seem to work (is that correct?) So basically I need a prefab, text recipe and wardrobe recipe for just one item. Is this still correct? Being able to work with just one asset would have been easier, but three assets for one item is still doable.

    Remaining question is: how do I easily convert my text recipe to a wardrobe recipe? I can copy the original wardrobe recipe, but that misses the colors I set in Simple Setup. If conversion is not possible, what's the easiest way to copy the colors from the text recipe to the wardrobe recipe?
     
    Last edited: Feb 15, 2019
  25. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    171
    Hi there, not sure if you have watched my videos, but you might find them useful, particularly UMA 101, Part 7:



    Hope that helps
     
  26. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Dear Anorak,

    I absolutely love your videos and watched the entire part 7, but unforunately it didn't answer any of my questions asked above...
     
    SecretAnorak likes this.
  27. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    Text recipes are recipes that are used to construct a UMA.
    Wardrobe recipes are a superset of a text recipes, that define wardrobe information.

    Text recipes are useful for something predefined - like the base human body recipes. Or for your prefabs. Wardrobe recipes are used for equipable items. Sometimes equipable items are things like faces and hair, so not just equipment.

    There is no current way to copy a UMATextRecipe to a UMAWardrobeRecipe. But in actuality, a Wardrobe Recipe is a TextRecipe - it's JSON data just has additional information, and there is a flag on it. It may be possible to simply load the Wardrobe Recipe directly on a DynamicAvatar to show the pre-created piece. I haven't tried it actually, but there is a possibility it would work.

    Otherwise you are either going to need to copy/paste the JSON data, or just recreate the recipe.
     
    LoekvanKooten likes this.
  28. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    In that case, it would be great to at least be able to save wardrobe recipes from the UMA menu.
     
  29. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Okay, I can set the colors in the Wardrobe Recipe by editing the text file. They show up correctly in the editor now.

    BUT... when I equip the Wardrobe Recipe, the colors are not updated: I get the original colors of the original Wardrobe Recipe my Wardrobe Recipe was copied from, not the ones set in my variation on that Wardrobe Recipe.

    I have triple-checked that I am not accidentally equipping the original Wardrobe Recipe. I have also checked that I re-added my Wardrobe Recipe to the Global Library.

    I've also used:
    avatar.BuildCharacter(true)
    avatar.ForceUpdate(true, true, true);

    What else?
     
    Last edited: Feb 15, 2019
  30. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Got it! Use Shared Color was still on.
     
  31. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    334
    SaveAssets, "Writes all unsaved asset changes to disk."
    You're the only one to report this issue.
    This makes me think it's something specific to your project. Maybe Perforce is preventing writing unsaved changes to disk? Maybe you have a script that is constantly changing data on an asset?
    Does inspecting an OverlayDataAsset do the same thing?

    Try this; note the begin and end change checks added.
    Code (CSharp):
    1.         public override void OnInspectorGUI()
    2.         {
    3.             serializedObject.Update();
    4.             //base.OnInspectorGUI();
    5.  
    6.             EditorGUI.BeginChangeCheck();
    7.             EditorGUILayout.DelayedTextField(slotName);
    8.             Editor.DrawPropertiesExcluding(serializedObject, new string[] { "slotName", "CharacterBegun", "SlotAtlassed", "DNAApplied", "CharacterCompleted", "_slotDNALegacy" });
    9.  
    10.             eventsFoldout = EditorGUILayout.Foldout(eventsFoldout, "Slot Events");
    11.             if (eventsFoldout)
    12.             {
    13.                 EditorGUILayout.PropertyField(CharacterBegun);
    14.                 EditorGUILayout.PropertyField(SlotAtlassed);
    15.                 EditorGUILayout.PropertyField(DNAApplied);
    16.                 EditorGUILayout.PropertyField(CharacterCompleted);
    17.             }
    18.  
    19.             /*foreach (var t in targets)
    20.             {
    21.                 var slotDataAsset = t as SlotDataAsset;
    22.                 if (slotDataAsset != null)
    23.                 {
    24.                     if (slotDataAsset.animatedBoneHashes.Length != slotDataAsset.animatedBoneNames.Length)
    25.                     {
    26.                         slotDataAsset.animatedBoneHashes = new int[slotDataAsset.animatedBoneNames.Length];
    27.                         for (int i = 0; i < slotDataAsset.animatedBoneNames.Length; i++)
    28.                         {
    29.                             slotDataAsset.animatedBoneHashes[i] = UMASkeleton.StringToHash(slotDataAsset.animatedBoneNames[i]);
    30.                         }
    31.                         //DelayedSave here too?
    32.                         EditorUtility.SetDirty(slotDataAsset);
    33.                         AssetDatabase.SaveAssets();
    34.                     }
    35.                 }
    36.             }*/
    37.  
    38.             GUILayout.Space(20);
    39.             Rect updateDropArea = GUILayoutUtility.GetRect(0.0f, 50.0f, GUILayout.ExpandWidth(true));
    40.             GUI.Box(updateDropArea, "Drag SkinnedMeshRenderers here to update the slot meshData.");
    41.             GUILayout.Space(10);
    42.             UpdateSlotDropAreaGUI(updateDropArea);
    43.  
    44.             GUILayout.Space(10);
    45.             Rect boneDropArea = GUILayoutUtility.GetRect(0.0f, 50.0f, GUILayout.ExpandWidth(true));
    46.             GUI.Box(boneDropArea, "Drag Bone Transforms here to add their names to the Animated Bone Names.\nSo the power tools will preserve them!");
    47.             GUILayout.Space(10);
    48.             AnimatedBoneDropAreaGUI(boneDropArea);
    49.  
    50.             serializedObject.ApplyModifiedProperties();
    51.             if (EditorGUI.EndChangeCheck())
    52.             {
    53.                 AssetDatabase.SaveAssets();
    54.             }
    55.         }
     
  32. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    478
    Hi, kenamis,
    Awesome! it works this time.
    It only happened to SlotDataAsset and didn't find any place else yet. ^^

    Thanks a lot!
     
    kenamis likes this.
  33. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    How would you see that working? If you have a wardrobe recipe open, every change to it is automatically saved. If you want to duplicate one, just right click on it and choose duplicate, then you can edit the duplicate (note that they are required to have unique names).

    How would you see the workflow here?
     
  34. pahctek

    pahctek

    Joined:
    Feb 11, 2019
    Posts:
    13

    Hi,

    What can I do to fix this warning at entering play mode?
    Is there any button to initialize UMA libraries at Global Library Window?

    Thanks.
     
  35. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    Simple Setup is a great place to do some quick and dirty editing (without directly editing the wardrobe recipes). Select the avatar in Simple Setup, then save all active wardrobe recipes in a specified directory?
     
    pahctek likes this.
  36. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    One more question: during the initialization phase, I get many errors saying "this and this bone missing during animation". This is probably because the avatars are not fully built yet, while the animator is still trying to animate them. It has no repercussions for the game once initialization is finished (takes a few seconds), but the 140 or so errors for just a dozen of enemies are annoying and look sloppy. Anything we can do about this?

    By the way, thanks to all your help, I got this far:

     
    Jaimi and hopeful like this.
  37. LoekvanKooten

    LoekvanKooten

    Joined:
    Apr 3, 2017
    Posts:
    120
    One thing to note though is that RebuildCharacter() will retrigger all events. This becomes an issue in for example sound domes, which will refade/restart the music/sound when you equip/unequip within said sound dome.

    I've implemented a quick and dirty solution with a counter that adds one to an int during rebuild, decreases it with one whenever the collider is triggered and only activates the actual dome when said int is zero, but as said: it's dirty and not how things are supposed to work.

    To have RebuildCharacter() itself temporarily (and maybe optionally) disable all triggers of domes the avatar is in would be a more beautiful solution.
     
  38. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    642
    Hello,

    Im new to this UMA, all i need is to have the simplest scene where the user can design a basic character (adjust the DNA, add basic clothes shoes etc), and then able to obtain a string of the recipe so i can save it.

    I dont want anything complicated, just the most simple scene so that it can be as small as possible for a WebGL build so that the user doesnt have to download a giant build everytime they use it.

    Is there any SIMPLE example scene that comes with the stock UMA2 install that i can use for this?

    I tried using the "UMA DCS Demo - USING ASSET BUNDLES" but when built for WebGL it come out to around 200 megabytes (way too big) and that doesnt even include my game, just the UMA design scene (my whole game is only 50 meg including the old UMA character system editor and editing scene), why is the new one so BIG!!?

    Thanks so much!
     
  39. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    334
    there's the "UMA DCS Demo - Simple Setup" scene....
    Are you building references for all the example assets in the project? If so, that be why your build is so big.
     
  40. BryanO

    BryanO

    Joined:
    Jan 8, 2014
    Posts:
    163
    Im not creating a new race from scratch - Im integrating a race that someone else has made - so what are the steps?
     
  41. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    334
    If it's already been set up for you, then you need to add the appropriate files to the global library. You can drop the top level folder that includes all those files and they'll all be added. Then your race should be available to select.
     
  42. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    642
    I imported UMA 2.8 from asset store, and build it for WebGL, but when i upload the build to a server and run it on a browser, the character doesnt show up. I even deleted the UMA folder several times and re-import from scratch, then build, but same result everytime!

    Anybody knows why???
    Actually im using the sample setup scene, and its 200 meg build. Hw do i clear it out and just include the assets just for this scene, so i can reduce the build size?
     
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    In addition, you will need to edit the racedata, and in the bottom part of the race, you can add races that it is cross compatible.
     
  44. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    I actually *just* did this and it worked fine. The Global Library changed to a Scriptiable Object though, so you will need to re-add everything to it.
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    You will need to go into the global library, and remove the items that you don't need. I'm curious though - if you didn't rebuild the global library already, it shouldn't have made a very large upload. You didn't keep the old one around, did you? That would be a problem, because it doesn't work with 2.8.
     
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    I'll look at adding something to dump out the wardrobe recipes that are currently equipped to a folder.
     
  47. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    You might look at the setting to "Rebuild the skeleton" on the DCA. Usually it's turned off, but you might try turning that on if you have additional bones that you are adding in some slots, or changing races.

    Ps - Video looks very good!
     
    LoekvanKooten likes this.
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    This is really outside the scope of UMA, you will probably need to handle this manually in the events like you are doing.
     
  49. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    642
    Hello, Thanks for your reply, Here are the steps i did.

    1. Delete UMA folder from my existing project
    2. Import UMA 2.8 from asset store into my existing project.
    3. Select the Simple Setup demo scene
    4. Add that scene to the build settings
    5. Switch the build target to WebGL
    6. Click build button
    7. After the build check the build folder, WEBGL.data.unityweb file is 194,886 KB (194 megabytes!!!)
    8. Upload the build to my website
    9. Use a browser to go to that website and load the build
    10. when it runs in the browser, the scene displays but not the avatar (see the photo i uploaded)

    Is there any thing i did wrong or missed in the above steps because the avatar doesnt get displayed, just the scene alone.

    Maybe some setting in my existing project is causing it that conflicts with the UMA import that causes the UMA character not to be displayed? It displays in the editor though, and also when i built it for PC stand alone, but not for WebGL which is the one i need.

    Can you tell me exactly how to reduce the build size in the simple setup scene because i have no idea how UMA works or what to remove from the global window. Is it possible for you to make a scene for me and then give that to me that only has the most basic UMA stuff needed to edit the avatar with the basic clothes etc, or tell me what to remove from the global window, remembering that i dont know anything about slots and the other stuff in there or what should be included and what shouldnt for the Simple Setup scene.

    Sorry i dont really know anything about the slots and the other stuff, i just want to use it to create and allow the user to edit a character at run-time and upload their recipe string to my server.

    Im doing a multiplayer game where each player can upload their recipie, and all the other players each load the recipe from all the other players from the server, so everybody will see each others unique avatar based on their recipe.

    As mentioned before, i was using an old version of UMA, where my game code + UMA system + avatar editor scene was only 50 meg total for WebGL. Now with the new UMA version, just the sample scene alone is already near 200meg without any of my game code.

    I was trying not to learn the guts of UMA since i have so many other things to do in my project already.

    Hope im not asking too much!

    Thanks!
     
    Last edited: Feb 17, 2019
  50. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,875
    If I understand the issue right, the re-triggering of the music happens because the capsule collider representing the body size is getting regenerated every time you edit the character.

    One easy way you could address this is by using a sphere collider that's assigned to a control or non-physics layer, to trigger game music, and have that attached to the player transform, but not related to the body mesh. You might find that this sphere collider is also helpful for triggering dialogue and some other stuff in your game.
     
    LoekvanKooten and Jaimi like this.