Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. buckius82

    buckius82

    Joined:
    Nov 19, 2013
    Posts:
    40
    I think i did something wrong Its been a few years since i messed with unity. I own 2.5x My current version is at 2.6.5f when i go to the asset store UMA 2 is grayed and i cant install it. It says it is for Unity 2.5 was wondering if I messed up some were or if I have to role back my unity to use it?
     
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    What version of Unity are you using?

    https://assetstore.unity.com/packages/3d/characters/uma-2-unity-multipurpose-avatar-35611

    That is UMA 2.9, it works with Unity version 2017.2.5 and above.

    I recommend to update Unity if you are just getting back into it, and getting the latest version here:

    https://unity3d.com/get-unity/download
     
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    This sounds like a unity bug. I recommend upgrading both your unity and UMA versions.
     
  4. buckius82

    buckius82

    Joined:
    Nov 19, 2013
    Posts:
    40
    I am currently using 2.6.5f


    woops i'm sorry its atcually 5.6.5f1 i think its the last pro version before unity to a subscription.
     
    Last edited: Dec 22, 2019
  5. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    You need to download a free version that is more recent. I use 2018 LTS, but you would probably be fine using 2019.2.x, the latest.
     
  6. buckius82

    buckius82

    Joined:
    Nov 19, 2013
    Posts:
    40
    thank you i gotta learn the differences in the new system sux they went to a subscription
     
  7. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    I'm not a fan of subscriptions either. But for Unity, you get all platforms and features in the free version now, except for the gray skin (and the add-on services you didn't get in 5.6.5).
     
  8. buckius82

    buckius82

    Joined:
    Nov 19, 2013
    Posts:
    40
    thank you it is still updating the project file now. In hind sight i should have probably the project file. Can't wait to fix all the errors.
     
  9. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Hi, I'm writing my own character data saving/loading system right now. Would like to know how to change the race on DCA, and when's the best timing to load dnas after the race is regenerated?
    And is there a way to reset all dna into default values and sync all their UI sliders to them?
     
  10. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    The best way is to set the race and load the DNA and wardrobe before generating the character. This saves you from having to rebuild it twice. There are various functions to set the preload information, look at the random avatars demo that uses UMARandomAvatar to preload the information.
     
  11. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I meant when the player changes the avatar's gender during character creation. How do I achieve that?
     
  12. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    The simple setup scene shows the code to do this.
    But basically, you have the default clothes for both male and female in the default wardrobe. Then, you just call the function ChangeRace on the Avatar, passing the racename.
     
    Harekelas likes this.
  13. zafery

    zafery

    Joined:
    Sep 11, 2014
    Posts:
    9
    Hi,
    I like UMA and using about 3 weeks. I am using UMA on a mobile game project. I have o3n clothing and characters. On first load of a scene which contains UMA_DCS prefab freezes the screen for 10 seconds on my Samsung s9+ android device. After that, reloading this scene or others do not freeze, and everything is fine. Is it normal? If so can I show a progress bar while waiting?

    Also is there any other advices for mobile optimizations.

    I like UMA, it is a very time-saver plugin.

    thanks
     
  14. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    There are two things that can cause this slowdown.

    1. is a bug that was fixed in 2.9, so if you haven't updated yet, you should definitely update.
    2. is the loading of the resources. In 2.9, you can have assets in asset bundles, or in resources. By default, everything goes into resources, and Unity loads them on first access.

    We have a version in development (it's ready for testing!) that uses Addressables. In this case, everything is packaged into Addressable bundles, and they are loaded asynchronously. I haven't tested it on mobile, but on PC it is way faster.

    If you have time, you might want to check it out. There are still some bugs that I am working through (loading slots that are in "additional utility recipes" is being a problem). But most things work great.

    If you want to try it, it is here: https://github.com/umasteeringgroup/UMA/tree/Feature-Addressables

    You can download it using the big green button on the right.
     
    hopeful likes this.
  15. zafery

    zafery

    Joined:
    Sep 11, 2014
    Posts:
    9
    Thanks for quick answer,

    I forgot to mention that I am using uma 2.9, sorry.

    If I have time, I will check Addressable bundle version, but I don't want to use unstable version for my project at this time.

    I saw Resources.LoadAll<DynamicUMADnaAsset>("") in DynamicUMADnaAsset.cs, is that where you load all.
    For now, I need to add a progress bar for better user experience, so I need some events like start, update, end for showing a progress bar. Maybe unity has a generic solution for doing this, I will search it.

    thanks
     
  16. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    That is one area that we fixed, and I thought that fix was in 2.9, but I guess it. That is a slowdown, and you can address that by changing that line to this:

    DynamicUMADnaAsset[] foundAssets = Resources.LoadAll<DynamicUMADnaAsset>("UMA/");

    But it's not the part where all the resources are loaded. That happens when the global library is loaded from resources on this line in UMAAssetIndexer.cs:

    theIndexer = Resources.Load("AssetIndexer") as UMAAssetIndexer;

    Since everything happens there, and Unity is actually doing all the loading, I'm not aware of any way to use events to show a progress bar.
     
  17. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    704
    Hi, guys, I have a quick question.
    I'm trying to fake a dismemberment by scaling bone-scale to zero.
    It works but when I rebuild UMA Character, bone-scale go back to 1.0 again.
    Does anyone know where it sets the bone scale value when rebuilding?
    I'm enabled "Keep Avatar" option on, it's not related to SetAvatar().
    I just want to skip code related to bone sclale reset.

    Thanks.
     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Have you looked at this?

    https://github.com/kenamis/UMADismemberment

    Also, what is probably happening is that the BonePose on the DNA is resetting the bones before applying DNA values. So if you continue down this route, you will probably need to create scale DNA for the bones, and then adjust that instead of the bone scale.

     
  19. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    704
    Ah.. great! thanks, Jaimi. I'll take a look.
     
  20. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    704
    Jaimi,

    I'm using a custom character with no DNA setup. DNA is much harder to set up than I expected.
    I think it will be easier just to skip DNA reset when rebuilding.
    Is it possible to point me where it resets?

    For characters that don't have DNA, it might be good idea to skip resetting anyway, like "Keep Avatar" option.

    I'll appreciate for your help.
    Thanks
     
  21. igrus

    igrus

    Joined:
    Aug 29, 2014
    Posts:
    4
    hello!

    I added a transparent attribute to the uma model. But I found something that I don't know it.
    umm.. I only know that this phenomenon is made up of triangles and related to light.
    Can you solve this problem? or any opinion?
    I used standard Shader. just changed Rendering mode to transparent.

    Thank you for reading!
     

    Attached Files:

  22. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    704
    @Jaimi, I found where it reset Scale value.

    There is RestoreDNA parameter but it's not used.

    UpdateSameRace will need dnaDirty parameter to call Dirty without rebuilding skeleton.

    Code (CSharp):
    1. public void UpdateSameRace(bool dnaDirty = true) // add dnaDirty -chrisk
    2. {
    3.    umaData.Dirty(dnaDirty, true, true);
    4. }
    5.  
    And you will need the following changes

    Code (CSharp):
    1.  
    2. bool LoadCharacter(UMARecipeBase umaRecipe, List<UMAWardrobeRecipe> Replaces, [B] bool RestoreDNA[/B], params UMARecipeBase[] umaAdditionalSerializedRecipes) // add RestoreDNA
    3. {
    4. ...
    5. UpdateSameRace(RestoreDNA);
    6. }
     
  23. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    Generally speaking, UMA models are just regular models. They should behave in the usual way with shaders.
     
  24. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Special Christmas Promition Part 2

    Choose any single costume uma pack from our store for free

    Browse below link
    https://arteria3d.myshopify.com/collections/uma

    and email arteria3d@live.co.uk with your selection

    Also email the code 'UMA CHRISTMAS' to purchase all UMA Costumes on our site for just $100. Access to over 40 packs

    Steve
     
    michaelday008 and Jaimi like this.
  25. Syllvia

    Syllvia

    Joined:
    Mar 26, 2013
    Posts:
    16
    Howdy folks! I'm working on integrating the Ultiamte Character Controller asset and UMA 2.9, and despite following all the integration docs i've ran into a problem at the tail end.

    Whenever i actually start the game, it fails to grab a handful of the slots. The face, some clothing options i guess, and it results in the the mouth always hanging open. I've poked at everything i can think of and i'm not getting it to stop, i've done the regular dynamic and the LOD.

    Any idea why it's not grabbing these slots, and what i can do about it?
     

    Attached Files:

  26. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    The mouth hanging open is default Unity mecanim humanoid behavior. With UMA, the easiest way to close the mouth is to enable expressions.

    As for whatever you've got going on with the slots ... maybe try rebuilding the UMA global library?
     
  27. Syllvia

    Syllvia

    Joined:
    Mar 26, 2013
    Posts:
    16
    Excellent! Well, mostly. The expression thing was right on the money. the slots are still F***ed (i think?) but i admit to not fully understanding the library stuff, i rebuilt them but god knows what's oging on there.

    I appreciate the info about the expressions tho!
     
  28. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    455
    Hello.
    I have a question. Is it possible, say, to create all LODs at the beginning, and then just switch between them, as usual? Because to create a new character every time, it’s not very good, microfreezes, all that ...

    Oh yeah and happy holidays :)
     
  29. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    I plan to do this. Is there a reason you are thinking you can't?
     
  30. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    I'm confused about saving expressions to animation clips.

    I made a smile with the expression player, and saved it to a clip.

    The animation eases in and back out, from neutral to smile and immediately back to neutral. He won't hold the smile.

    I thought it would just be a single frame animation and looping it (in timeline for example) would hold the same expression until I decide otherwise, but I guess not. Instead he goes back and forth from neutral to smile when I loop the animation.

    The clip itself has a length of 2.000 in the inspector. Not sure why that is.

    What is the proper way to hold an expression on a character's face? Is there a good way to do this besides the very painful way of scripting each slider manually?

    I guess I could try the timeline recording function, but it would be nice to reuse clips for expressions.

    EDIT: Arrggh. Never mind. I just edited the clip on the dope sheet and made it how I want it. I had to zoom out to see all 3 keyframes. I guess the default clip behavior is to fade in and out of a pose. Not what I was expecting. Not sure why you would want to do that, but it's easy to fix.
     
    Last edited: Jan 1, 2020
  31. ChickenHero

    ChickenHero

    Joined:
    Jul 18, 2016
    Posts:
    79
    Is there a way to change the UV coordinates with the slider?
    For example, raise or lower the position of the tattoo on the arm.
     
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    No, but I will add a trello item for it, it does sound interesting.
     
    hopeful and ChickenHero like this.
  33. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I've met a certain unity crash when proceeding with certain method calls through UMA:
    It's my character data loading function to load the correct gender, blendshape dnas and colors to the character.

    First I called a race change on the avatar:
    Code (CSharp):
    1. string raceName = gender == Gender.Male ? "STMale" : "STFemale";
    2.             _avatar.ChangeRace(raceName);
    Then I called dna changes:
    Code (CSharp):
    1. foreach (var kvp in _curArchive.savedShapes)
    2.             {
    3.                 SetSlider(kvp.Key, kvp.Value); // sync UI
    4.                 _dna.SetValue((int)kvp.Key, kvp.Value); // apply to character
    5.             }
    6.             _data.Dirty(true, false, false);
    Then I called color changes:
    Code (CSharp):
    1. // skin color
    2.             var skinColor = _curArchive.skinColor;
    3.             _avatar.SetColor("Skin", skinColor, UpdateTexture: true);
    4.          
    5.             var hairColor = _curArchive.hairColor;
    6.             _avatar.SetColor("Hair", hairColor, UpdateTexture: true);
    7.          
    8.             var facialColor = _curArchive.facialHairColor;
    9.             _avatar.SetColor("FacialHair", facialColor, UpdateTexture: true);
    10.          
    11.             var eyesColor = _curArchive.eyeColor;
    12.             _avatar.SetColor("Eyes", eyesColor, UpdateTexture: true);
    Then every time I click the button that calls these functions, unity crashes.
    I'm pretty sure it's something I got wrong here, any suggestions?
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    What one is it crashing on?

     
  35. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    Is it possible to build the UMA in the editor so I can scrub through timelines?
     
  36. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
  37. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Donno, no bug report window shown up. The engine just shut down. I've resolved this issue by delaying the blendshape and color changing by one frame. Guess it's related to the mesh rebuilding or something.
     
  38. Somshekar

    Somshekar

    Joined:
    Dec 16, 2016
    Posts:
    10
    Iam using UMA 2.9 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 Keep getting this error Messages,

    [SetActiveRace] could not find baseRaceRecipe for the race HumanMaleNew. Have you set one in the raceData?

    I have attached racedata screenshot, any idea what's wrong?..

    Thanks!!:)
     

    Attached Files:

  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Is it in the global library?
     
    Somshekar likes this.
  40. Somshekar

    Somshekar

    Joined:
    Dec 16, 2016
    Posts:
    10
    Thanks for quick replay!

    Yes. I have added to global library.

    I have attached screenshot

    Thanks!:)
     

    Attached Files:

  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Somshekar likes this.
  42. Somshekar

    Somshekar

    Joined:
    Dec 16, 2016
    Posts:
    10
    Hello, Thanks for your reply, Here are the steps i did...

    - turned off gzip compression
    - turned off WebAssembly
    - compression format set to disabled

    Can you please tell me how set the memory size to 256????....I Keep getting this error Messages,I have attached screenshot

    Thanks:)
     

    Attached Files:

    Last edited: Jan 3, 2020
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    it's in project settings/player/publishing settings.
     
    Somshekar likes this.
  44. Somshekar

    Somshekar

    Joined:
    Dec 16, 2016
    Posts:
    10
    Hello,Thanks for your reply, Memory Size not found in project settings/player/publishing settings...

    I Keep getting this error Messages in browser,

    Code (CSharp):
    1. Exception in UMAAssetIndexer.AddAssetItem: System.ArgumentNullException: Value cannot be null.
    2. Parameter name: key
    3.   at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x00000] in <00000000000000000000000000000000>:0
    4. (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    5.  
    6.  
    7. [SetActiveRace] could not find baseRaceRecipe for the race HumanMaleNew. Have you set one in the raceData?
    8. (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    Please help me to resolve this issue.

    Thanks!:)
     

    Attached Files:

  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Looks like they removed that in the settings, and you have to change it in code:

    https://forum.unity.com/threads/2019-1.597238/

    I have not tried this with 2019+ at this time. Maybe some other Webgl users have more information.

    The error you are seeing is because the RaceData is not loaded. There is a problem loading the AssetIndex.

     
    Somshekar likes this.
  46. Carmine1price

    Carmine1price

    Joined:
    Jan 14, 2019
    Posts:
    1
    È possibile importare un personaggio preesistente da un frullatore e renderlo personalizzabile con uma?
     
  47. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
  48. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Hi, can I use blendshapes for the expresison system? Since the models I used does not have facial bones but premade expression blendshapes for the full face. Is the UMA expression system compatible with them? If so, how can I set up?
     
  49. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    The UMA expressions system provides a way of using the facial bones in the standard UMA rig to create expressions.

    If you aren't using those facial bones, and are using blendshapes instead, then I think you may need to either develop your own blendshape expressions solution, or use one developed by someone else. Like ... IDK ... maybe this would work? (You should contact them about it before you buy.)

    https://assetstore.unity.com/packages/tools/animation/morphmixer-111278
     
  50. Deleted User

    Deleted User

    Guest

    Hi. I tried to do as you said, but I still have pink textures. And the "BaseMap" option is not in the drop-down list. Any ideas how to fix this?
     

    Attached Files: