Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. MrGky93

    MrGky93

    Joined:
    Feb 27, 2014
    Posts:
    281
    thx but its better when he change the title so its easy to find when there is save load .
     
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    When I build a Bone Pose, I create it all at one time using the Bone Pose Builder, and all bones are added.

    But it sounds like you are editing an existing bone pose - the "add bone" button is only available when there is a "Source UMA" set. That converts the box to a dropdown, you select the bone and hit "add bone". "Remove Bone" is similar - once there are bones, the text box becomes a dropdown, and you can select the bone to remove, and press "Remove Bone".
     
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yeah, this is not the right way. You'll need an event or something in your controller framework when you get the pickup. That is what will call the SetSlot function. I'm not that familiar with how Opsive does it. But you'll need to identify what they picked up, and then call the SetSlot function on your Avatar.

     
  4. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    In addition to the video, Saving and Loading is documented in the included documentation file in the UMA folder.

    Saving and loading from a string

    You can save the DynamicCharacterAvatar to a string:
    string savedAvatar = Avatar.GetCurrentRecipe(false); // Avatar is a DynamicCharacterAvatar

    Then load him from that string:

    Avatar.LoadFromRecipeString(savedAvatar);

    After loading the avatar, it should be rebuilt:

    Avatar.BuildCharacter();
     
    hopeful likes this.
  5. DavidBVal

    DavidBVal

    Joined:
    Mar 13, 2017
    Posts:
    206
    What are the possible causes of a SetSlot failing without any kind of error?

    The recipes work fine when dragged to "Default Recipes" on editor, but when I do it via code:

    avatar.SetSlot("Chest", "M_Iron_Torso");
    avatar.BuildCharacter();

    Nothing happens. I traced the UMA code and it seems to find the recipe correctly and call InternalSetSlot, and execution even reaches this line:

    _wardrobeRecipes.Add(thisRecipeSlot, utr);

    but nothing happens... :(
     
  6. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208

    OK - I looked through the code.

    You have to have a compatible race set or it wouldn't reach the line you have shown. In addition, since you passed the name (instead of the recipe), it wouldn't reach that line if you had the wrong recipe name or slotname.

    So, BuildCharacter generates a new recipe, assigns it to your avatar, and then schedules your avatar to build on the Generator.

    So look for errors in the console - was anything not found, or any other errors?
    If so, that is the problem.
    If you look at the UMAData, is the Iron Slot there?
    If not, then its' not getting built, or the slot is being suppressed.
     
    Last edited: May 14, 2019
    hopeful likes this.
  7. DavidBVal

    DavidBVal

    Joined:
    Mar 13, 2017
    Posts:
    206
    Thanks for your reply.

    No errors, but I checked and there's lots of strange warnings like this:

    DCS removed M_Iron from RecipeIndex
    UnityEngine.Debug:LogWarning(Object)
    UMA.CharacterSystem.DynamicCharacterSystem:AddRecipes(UMATextRecipe[], String) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:301)
    UMA.CharacterSystem.DynamicCharacterSystem:AddRecipesFromAB(UMATextRecipe[]) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:239)
    UMA.CharacterSystem.DynamicAssetLoader:AddAssets(Dictionary`2&, Boolean, Boolean, Boolean, String, String, Nullable`1, String, Action`1, Boolean) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicAssetLoader.cs:671)
    UMA.CharacterSystem.DynamicCharacterSystem:GatherRecipeFiles(String, String) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:218)
    UMA.CharacterSystem.DynamicCharacterSystem:Init() (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:95)
    UMA.CharacterSystem.DynamicCharacterSystem:Awake() (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:48)


    They refer to recipes like "M_Iron" but not to specific slot recipes like Chest.

    Then I get a few warnings about some (not all!) the slots I am trying to load:

    "Unable to find slot or recipe for Slotname Chest Recipename M_Bandit Torso"

    However, if I drag that same recipe in runtime to the UMAData, the recipe gets added and the avatar dressed!

    I have triple-checked the recipe names (it is the same as filename, right?)

    I tried to rebuild the global library, the recipes show there, but no change.
     
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I think those warnings are from the Character System loading some Wardrobe Collections, you should be able to safely ignore those.

    Lets start at the most basic - on the DynamicCharacterAvatar, after you have added the chest piece, open the Current Wardrobe section (at the bottom). Is the iron chest piece there?

    if so, open the UMAData component on the Avatar, and click on the Slots button. Look through the slot list - does it contain "Iron Armor Upper"?

    Plus, you are using the "Human Male", correct? And have set this in code BEFORE setting the slots?

     
  9. DavidBVal

    DavidBVal

    Joined:
    Mar 13, 2017
    Posts:
    206
    Thanks again, clearly I am still unfamiliar with UMA so your advice is very helpful.

    Apparently, the "Iron" slots are being added both to "Current Wardrobe" and to Slots! even if the avatar still looks naked:



    So this is maybe some kind of refresh issue?

    I am using human male & female DCS.
     
    Last edited: May 15, 2019
  10. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    First - if you're just starting out, it's best to use the "Human Male" and "Human Female", which by default are DCS now. the other versions are there for compatibility with older projects.

    Second, it looks like we changed the code to not schedule the generation automatically, or at least if we did, I can't find where it's doing it now in code.

    So after you call BuildCharacter(), call ForceUpdate(true,true,true);

    If that solves it, looks like I need to update the documentation. If not, let me know and we can dig deeper.

     
  11. Cinnaspice

    Cinnaspice

    Joined:
    Oct 8, 2012
    Posts:
    3
    Hello, I hope this is the right place to go to for questions... I recently started a project and I'm learning Unity. When I loaded UMA 2 into both my project with other assets and in a project by itself I'm receiving the following error:

    Assembly has reference to non-existent assembly 'Unity.Timeline' (Assets/UMA/Core/UMA_Core.asmdef)

    I'm not sure if I'm doing something wrong or if I'm missing some other dependency or what. I'm using Unity 2018.3.14f1. Any advice would be greatly appreciated. Thank you.
     
    ThatKiwiGuy and AwkwardScience like this.
  12. DavidBVal

    DavidBVal

    Joined:
    Mar 13, 2017
    Posts:
    206
    I changed to regular humans, and also called ForceUpdate(true,true,true), but still clothes don't show... anything else I can try?
     
  13. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You aren't updating the Avatar in an event, are you? Because that is specifically not allowed. There are other ways to preload wardrobe items, set DNA etc.

    If you are creating a prefab, and want to preload the wardrobe when it initializes, set the default wardrobe using preloadWardrobeRecipes.Add();
     
    Last edited: May 15, 2019
    vonSchlank likes this.
  14. DavidBVal

    DavidBVal

    Joined:
    Mar 13, 2017
    Posts:
    206
    That was it! I was calling my "dress" method from the UMA "Updated(UMAData data)" event. moved my code to a method called from Update() instead, and it started working like a charm.

    Thank you very much! I just purchased your FX shader pack and likely will be using it soon.
     
    Jaimi likes this.
  15. Pandrian

    Pandrian

    Joined:
    Jun 12, 2018
    Posts:
    1
    I would like to thank the UMA team for all their hard work.
    My project is all about UMA and how it can be integrated on a simple coded MMORPG game.
    Of cource it is open source and licensed under MIT license, with all assets used being free.

    This is in no way a complete game, but the idea is to get there.
    Here goes my little Epic Dragon World showcase...

    Server
    • Connect to Unity3D client.
    • Load configurations from files.
    • File logger for logs.
    • MySql database manager.
    • Packet communication.
    • Network encryption.
    • Client authentication.
    • Character management.
    • Broadcast game object movement.
    • Chat and messaging.
    Client
    • Start client with command line arguments.
    • Load and save configurations to files.
    • Connect to .NET Core server.
    • Packet communication.
    • Network encryption.
    • Music manager.
    • Server authentication.
    • Support for UMA.
    • Character management.
    • Broadcast game object movement.
    • Chat and messaging.
    I have made a channel on youtube to follow the progress made.


    Anyone that wants to be involved with the development can join our Discord channel at https://discord.gg/QC6ywhB
    Again. Thank you for this wonderful asset.
     
    kenamis and Jaimi like this.
  16. lorddanger

    lorddanger

    Joined:
    Aug 8, 2015
    Posts:
    103
    I have added uma 2.8.1 to my project from asset store but wheneven I add it to the scene unity hangs for 2-3mins
    And cpu usage goes upto 50-60% where as without uma unity runs at max of 11% cpu
     
  17. etheryee

    etheryee

    Joined:
    Feb 3, 2017
    Posts:
    4
    I made a shader for uma character and wanted to dynamically change the property on the shader. I tried to access the property via script, the skinnedmeshrenderer I acquired seems not the one on the character. The property value I got is different from the one on the inspector. Is there any way that I can make it? Thank you so much.
     
  18. Duende

    Duende

    Joined:
    Oct 11, 2014
    Posts:
    200
  19. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Someone else reported this a few weeks ago. I believe it turned out to be some issue with the Unity asset database. You might try exiting your project, clearing the library folder, and reloading. It will rebuild the asset database.

    If you want to try something else first, rebuild the global library from the window. If those don't help, we may need to do look further into it.
     
  20. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You can get all the renderers from a call on the UmaData. Example:

    Code (CSharp):
    1.                 if (umaData.rendererCount > 0)
    2.                 {
    3.                     foreach(SkinnedMeshRenderer smr in umaData.GetRenderers())
    4.                     {
    5.                         if (smr != null && smr.enabled == hide)
    6.                         {
    7.                             smr.enabled = !hide;
    8.                         }
    9.                     }
    10.                 }
     
  21. A_4_Game

    A_4_Game

    Joined:
    May 3, 2019
    Posts:
    2
    We are trying something a little different... my wardrobe is one entire outfit, so I can't attach it to Wardrobe Slot Chest or Shoulders, etc.
    I searched this thread and the Documentation but nothing came up. The reason is we are using Blendshapes for 3 body types on the Base Mesh, but Wardrobes do not allow Blendshapes. We are not using Scaling Bones for our project.Then to hide parts of the base mesh we will be using a texture mask.

    How do I create a new Wardrobe Slot? Possibly at the Root?

    For another test we are trying to use a complete character with skin (that needs to change colors) and clothes (one constant texture) together, also using Blendshapes.
    If I process a Mesh with 2 material ID's, 2 Slots are created but only one Overlay.

    Is there a way to generate multiple Overlays?

    One other issue I'm having with the Base Race is the Head is not seating to the torso correctly. It appears to have a slight rotation showing a gap in the front of the neck. The prefab version looks correct and I'm pretty sure the source art is all zeroed out.

    Edit: Now I realize the Base Race is skewed in a number of ways. When I lay the prefab version of the same character on top of the Base Race, they don't line up at all. It appears some rotation and scaling.

    Thanks.
     
    Last edited: May 16, 2019
  22. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    To create a new wardrobe slot, you can edit the slots on the racedata itself. If you will always use an entire outfit, you can just attach the full wardrobe to any slot actually, as long as you are consistent - the names don't actually mean anything (except for the "Full Outfit" slot, that is used by Wardrobe Collections).

    Wardrobes do allow blendshapes - you have to select on the DCA to load blendshapes, and of course import them in the slot Builder. You can hide things with a texture mask, but it's actually better to hide them using "Mesh Hide Assets" instead - if you are targetting mobile, cutout/alpha is very slow - but the MeshHide Assets let you remove polygons.

    You can create as many overlays as you want, by just right-clicking and choosing Create/UMA/Core/Overlay Asset in the project.
     
  23. chaza_li

    chaza_li

    Joined:
    Jan 8, 2018
    Posts:
    29
    Hey guys!

    Quick question, any (relatively high quality) outsourcing options here for UMA art asset creation? I've recently contacted Will B but he's busy with some work atm.
     
  24. A_4_Game

    A_4_Game

    Joined:
    May 3, 2019
    Posts:
    2
    Thanks for quick reply!
    I will use Mesh Hide Assets instead of a Mask.

    The parts aren't fitting together too well yet. I will re-check my work. Base Head doesn't fit with Base Body cleanly and Wardrobe should be covering Base Body but appears to be offset/pushed back on z axis.

    How do I "import them in the slot Builder"?
    In UMARenderer I see Blendshapes for the Body and the Head but not the Wardrobe.
    What do I need to set in Slot/MeshData/Blendshapes?
    I add the Shape Name. What do I put under Frames/Size? Hopefully that's my issue...
     
  25. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If WillB is busy, you might try Arteria - his latest is stuff is very good, but also high poly.

    https://arteria3d.myshopify.com/collections/uma?page=2
     
  26. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208

    Sometimes fitting issues are caused by too many bone weights. You should try limiting the vertexes to 4 weights (or preferably 2). Unity will discard bone weights based on quality settings. As well, be sure your models and skeleton are normalized - the content creation document (in the UMA folder) has a bunch of guidelines for best results for Blender and 3ds max.

    For Blendshapes - make sure you have:

    1. Exported from your modeller with the Blend Shapes.
    2. Imported into Unity with "Import Blendshapes" selected on the Model tab.
    3. Build the slot with the "Slot Builder" from the model that has the imported blendshapes.
    4. On the DCA, check the "Load Blendshapes" checkbox under the "Advanced Options".

    The Blendshapes are controlled by DNA. Usually DNA comes from the converters on the Base Race. When you set DNA, any Blendshape on all of the connected slots are used. So if you make a Blendshape named "Big Belly" on the character mesh, you need to make a Blendshape named "Big Belly" on the shirt mesh, so that it expands when the character does.

    Just FYI - Using Blendshapes can be easy if you have a smaller number of art assets. But Blendshapes require more memory. A lot more memory - you're duplicating all the vertexes for EVERY blendshape. So if you have 20 Blendshapes, your slot is using 20 TIMES the memory. If you are low poly, have a high RAM budget, or a small number of assets, this might not be a problem. This is why I recommend that people use Blendshapes sparingly, and use Bone Deformation as much as possible.
     
    Last edited: May 17, 2019
  27. etheryee

    etheryee

    Joined:
    Feb 3, 2017
    Posts:
    4
    Thank you for you reply. I modified my code:

    UMAData umaData = GetComponent<UMAData>();
    if (umaData.rendererCount > 0)
    {
    SkinnedMeshRenderer[] renderers = umaData.GetRenderers();

    for (int j = 0; j < renderers.Length; j ++)
    {
    Material[] materials = renderers[j].materials;

    for (int i = 0; i < materials.Length; i++)
    {
    if (materials.shader == Shader.Find("shaderName"))
    materials.SetFloat("_PropertyName", propertyValue);
    }
    renderers[j].materials = materials;
    }
    umaData.SetRenderers(renderers);
    }

    But it still doesn't work. Could you please help me figure out what is happening? Thanks a lot.
     
  28. TideSofDarK

    TideSofDarK

    Joined:
    Sep 29, 2014
    Posts:
    4
    Hey

    I'm looking for a way of having two characters models active at the same time
    One is needed to be LOD0 as this one is going to be displayed
    And the other one needs to be as lowpoly as possible as it's going to be raycast target (invisible to camera though)

    With Morph3D it was easy as LODs were just disabled gameobjects but UMA is more complex than that

    What should I look into to solve this?

    Thank you
     
  29. HakJak

    HakJak

    Joined:
    Dec 2, 2014
    Posts:
    192
    Can anyone confirm if UMA works correctly on the Nintendo Switch?
     
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No personal experience on this, but I do recall someone using an earlier version of UMA on the switch.
    You should be able to get the samples running with minimal changes (mouse, etc).
     
    magique and HakJak like this.
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Take a look at the Physics samples, that adds colliders to the UMA bones. Specifically, look at the Ragdoll Example scene - It also has a script that does a raycast to detect hits on the UMA.
     
    HakJak likes this.
  32. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    93
    Two things.

    I assume someone reported the asset store version (v2.8.1?) creates a content folder structure every time you extract a t-pose and doesn't reuse the same folders.

    Second, following the blender2.8 export instructions, my terminal bones now have an 'end' transform. Did I miss something?
     
  33. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    93
    Sorry, one other,

    If I export from Daz direct to Unity (there are many good reasons for this that I will elaborate on another time), the mesh seems fine, I can drag to scene and it has a skinned mesh renderer etc. However, I cannot drag direct to the UMA slot builder unified and slot skinned mesh boxes. Any idea why it may not be recognised as such?
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    This is all just Unity code at that point, so it is Unity that is not allowing you to drag something to that spot. The most obvious thing would be that the mesh you are dragging in is not a skinned mesh renderer. Something has gone wrong in the export/import process, and the specific mesh you are wanting is not a Skinned Mesh. Or it may be that there are several objects under the FBX, and the one you selected was not the skinned one. For example, look at the Flip Flops in the picture below - you need the object with the Skinned Mesh Renderer on it, not the mesh itself.

    skinned mesh.jpg
     
  35. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Thanks for catching that - You can uncheck the "add leaf bones" to get rid of those. They're discarded though, so shouldn't be harmful. I'll update the docs with the unchecked image for the next version.

    As for extracting the tpose, it always goes to a specific spot. I think mostly people don't do this so no one has reported it as an issue. I'll make a note on trello to add a file dialog so you can select where you want it.
     
    hopeful likes this.
  36. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    93
    Just in case of clarity, it makes new folder structures. If you extract 3 tposes, you get 3 folder structures with the same names. It doesn't put them in the same folder. It's a bit odd.

    And re. The skinned mesh renderer, I dragged everything one by one and it refused - must be something in file (import to blender and export immediately and that fixes, but is a pain).
     
  37. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    It's because those GUI objects are set to not allow scene objects. Im not sure of the original rationale behind that.
    If you made a prefab first then it should work.
     
    hopeful and DankP3 like this.
  38. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    93
    Well I meant I am dragging from the project file fbx, not from the scene (I merely put in the scene to easily see the SMR). But, if you are suggesting I drag to the scene then make a prefab and it may work, I will try that.
     
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You should be able to look at the selected object in the inspector, and see which one has the SkinnedmeshRenderer on it. If it doesn't have one, then something is wrong with the model - or you have the Rig set to "none".

    When the Tpose is extracted, it should create a folder under the asset you are extracting from called "Tposes". This annoys me also.
     
  40. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    93
    Hmmm, unity restart and might be OK. Strange.
    Edit, referring to my skinned mesh issue
     
    Last edited: May 17, 2019
  41. lorddanger

    lorddanger

    Joined:
    Aug 8, 2015
    Posts:
    103
    Is there any tutorial on skinning with Maya, I am trying to work on beards

    I have used a existing fbx and modified the model but now when I am exporting it, showing as mesh redener instead of skinned mesh renderer
     
  42. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I don't have any Maya tutorials, though I know some people on here do use Maya to export for UMA.

    But I can tell you what is wrong - Unity hasn't detected that your model is rigged. Either you didn't rig it to the skeleton and set the bone weights, or you didn't export the rig with the model.
     
  43. lorddanger

    lorddanger

    Joined:
    Aug 8, 2015
    Posts:
    103
    upload_2019-5-18_8-24-40.png

    I am exporting all from the and here how it looks in Unity
    The Male rig is there

    In Maya I am skinning it with the rig
     
  44. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I can't really help you - this is something between Maya and Unity at this point. If you import your model into Blender 2.8, I can help.
     
  45. lorddanger

    lorddanger

    Joined:
    Aug 8, 2015
    Posts:
    103
    OK will try it blender is up on download
     
  46. lorddanger

    lorddanger

    Joined:
    Aug 8, 2015
    Posts:
    103
    Update : It work in Maya instead of
    Skin > Bind Skin
    We need to go for
    Skin > Interactive Bind Skin

    By selecting the joint follows by the mesh

    At least for now its showing skinned mesh ill try will UMA and report back for anyone in future face the same confusion


    As for the issue of High CPU Usage
    This is happening if the Gameobject Containing the DynamicCharacterAvatar.cs
    is selected in the Hierarchy Unity Hangs and CPU uses goes Up from 4% to 60%
    and the duration of this high uses depends on how large is the project also
    how big the GlobalLibary.

    It seems its mostly caused by GlobalLibary as when I cleared the reference it didn't had the issue.

    Is there a way to optimize it?
     
    Last edited: May 18, 2019
  47. Mixality_KrankyBoy

    Mixality_KrankyBoy

    Joined:
    Mar 27, 2009
    Posts:
    737
    I have upgraded my project to 2019.1.3f1 and UMA to 2.8.1 and seeing all kinds of errors in the console. I noticed they were issues with the various asmdef files. I added the needed references (usually Unity.Timeline package references) to the Assembly definition reference section, and some disappear but when I reopen Unity they are back. Getting very frustrated as I just wasted a whole day searching and trying to fix this. There really needs to be a detailed "how-to" for 2019. Anyone know exactly how to solve these many missing reference errors?
     
  48. Ne0mega

    Ne0mega

    Joined:
    Feb 18, 2018
    Posts:
    755
    https://forum.unity.com/threads/uma...-the-asset-store.219175/page-169#post-4493077 ?
     
  49. pegassy

    pegassy

    Joined:
    Sep 28, 2017
    Posts:
    49
    I am trying to use the event system to call an avatar recipe for an unclothed character, which I had saved from a character which I already had clothed. So, if I place the new recipe "player" in the "Additional Utility Recipes" slot, all the costumes will be dressed at corresponding slots at runtime.

    I tried to call the same function "DynamicCharacterAvatar.Load" from a trigger enter event, and assigned the same recipe "Player" to it. I also set up deactivating a random object in the scene to double check that the trigger enter was being executed. I also assigned the BuildCharacter function to the trigger enter event.

    However, this does not make the character equip the "Player" recipe. I could not find the SetSlot() function in the list when I assigned the UMA character to the event. Any suggestions on how I can make this work via the event system? If this can work through the event system, then I can extend it to work with a UCC ability within UCC event system.

    upload_2019-5-18_17-18-26.png
     
  50. Ne0mega

    Ne0mega

    Joined:
    Feb 18, 2018
    Posts:
    755
    So I made a bunch of different zombie skins(overlays), and I want to change the tint when they are chosen by the player in a drag box, by using shared colors.
    However, it only works if I make them a new race. If I assign a "zombieskin05 text recipe to the UMA Recipe spot in the Dynamic Character Avatar, it does not allow me to change the color at runtime. Only if I make a new race, and assign the overlay to the default recipe.

    I guess this is workable, I could do it, however, I'd rather not. I'd rather have them all share the same race, (human Male). I'd rather not have to make a new race for every unique zombie skin I create. There must be a way.....