✅ Modular Characters 50% OFF! syntystore.com/86b89 🌍 Get the GameDevTV Code Monkey Bundle! unitycodemonkey.com/courses.php 👍 Learn Unity, Blender and Programming Patterns, from Beginner to Advanced! 🔴 RELATED VIDEOS 🔴 How to SWAP your Character! (Change Mesh Visual, Same Animations, Controller) ruclips.net/video/AO1vw-b8Qzw/видео.html Kickstart your game with First and Third Person Controllers! (FREE Unity Starter Assets) ruclips.net/video/jXz5b_9z0Bc/видео.html Learn Unity, Blender and Programming Patterns! ruclips.net/video/0vdmQrShbZo/видео.html
god trying to find a character customization tutorials that don't make it seem like its the most complex thing in the entire world has been a nightmare thank you so much for making this. I would love a more in-depth look into this system especially the skinned mesh system
I would love to see a part 2! Your video's got me into Unity game development and coding. I'm still very new to the whole thing, but your courses and explanations are very helpful for someone starting out. TY my friend, great work as always! 👍
Please do a part 2! This kinda stuff gets very complicated, especially when you want to add new sub parts. Also, Thank you so much for the skinned mesh renderer bones part! That was bothering the hell out of me.
I like the fact that after you received award you are making videos more often! Keep it up! How about a little parcour,ledge climbing tutorial next time? It's really under-covered topic in game dev in my opinion. Would love to see part 2 as well!
Yup that's definitely a topic I have on my list. Right now I'm super busy trying to finish my next complete course but after that I want to take 2 months to do nothing but tutorials, got tons of awesome ideas!
If you do a Part 2 I would really like to see how this can be applied to customizing the character during runtime. I am making an arpg of sorts but want to make it so players can equip different gear they pick up. So far I guessed I should use the meshrenderer method to add the pieces as children of the referenced part then and destroy any pieces that are in its way putting them back into their inventory. Am I on the right track?
It sounds like you understand the general idea to me. I have an arpg type project where I have an Equip(Item) function. So when loading the character, it looks at the saved list of currently equipped items, and calls the Equip function on all of them. Then yep, do the opposite when you UnEquip, while updating and saving the list of which items are equipped or in your inventory. I also have a few other rules in there, like a full body armor item will remove the currently equipped chest/legs or the 'nude' models get equipped when there is no item equipped. Just however you wanna do it. Personally, I don't actually Destroy() all of my other pieces either, I am just enabling\disabling mine. If there was a noticeable hit to my performance then I might've investigated more and reached the point that I found it necessary, but I didn't do that. But I also haven't published this project and it's only low poly models that I'm dealing with.. Doing it that way is only a small extra step though- you would just need to maintain some reference to all of the parts so that you could Instantiate them again when needed. Maybe even grab them from an Object Pool instead of repeatedly calls to Instantiate, since the reason for doing it this way I assume would be for performance. But I'm honestly unsure which of those ways would be more performant on a super high quality and complex project where it could actually make a difference, so I'd say try it for yourself. xD
@@rawrrrz Low-poly is cool though. I plan on sticking to low-poly for both aesthetics and ease of performance (and modeling...) since I am soloing it. Hope yours turns out awesome. Posted any content yet?
@@kazekageno7711 Same. I'm horrible at modeling, but I can somewhat manage to make things myself in low poly, but I'm def not an artist. Haha. I've just been learning on my own for several years now.. But nope, haven't completely finished a single project. In my arpg project you can run around, use several special attacks and different types of spells, there's RNG looting and crafting.. But I'm not much of a writer or anything either. So, what's my world called, what's the story, who are the NPCs, how to design city layouts, etc.. all that stuff is missing.. Creative decisions break me, basically. So I've only managed to make several functional prototype projects, and no complete games. I'll probably eventually have to find a friend willing to make the creative decisions for me, rather than publishing entirely solo. Thanks though, and good luck to you as well! I'd say feel free to message me with any programming\unity questions, but I don't guess that's a feature of RUclips.. lol
Yup exactly, you would have some kind of inventory equip logic and each item would have its own linked 3D mesh (possibly with scriptable objects) unitycodemonkey.com/video.php?v=7jxS8HIny3Q Then you would destroy the part in that slot that is currently placed, if any, and instantiate the part related to that item I've been wanting to make more Inventory related tutorial videos, my last inventory video was quite a long time ago unitycodemonkey.com/video.php?v=isAmoM3RPEI I'm working hard on completing my next course and then I'll be doing tons of tutorials that I've wanted to do for a long time.
@@CodeMonkeyUnity Alright, I look forward to them. I bought your Unity course for Bolt and like 50 tips on Udemy and look forward to what else you can cook up :)
Definite +1 for part 2. Also, if you could do something about or have any pointers to resources for creating the models to be ready for customization, that would be awesome!
You should check out the Infinity PBR characters. Our customization includes handling blend shapes, and custom editors making it super simple (one line of code) to switch outfits at runtime. Works with prefabs & objects already on the scene, works with attaching to bones and the skinned mesh, rigging it properly and everything. :)
Except all the blendshapes across the character and equipment are all named differently making it a nightmare to sync them all. Definitely not one line of code.
thanks a ton for this video, I've always been curious about how games do char customization.. and thanks to this video, I can now create a char customization menu for my game..and please if possible make a video in the future dealing with blendshapes, regarding eyes, nose shape, etc in regards to char customization....thanks!!..
Great video as always. I think these more theoretical/workflow tips are helpful for people of all skill levels. Understanding why just as important as how when making game mechanics!
is it possible to say...use the synty character modular asset, and swap in a unique character base model for all the same cloth meshes to still asign too in the same way?
Hey, thanks for the nice video. Got me some good understandings. I figured out a problem for my upper body part if its a meshrendered piece. In unity it wont follow the three spine bones. Is there any chance to let it follow more than one bone? Thanks. Keep the good work up!
I’d be very interested in the second part of this you mention with the recursive function for removing the extra game objects! I will likely be able to figure it out though!
You can save it like you save any other data, but instead of saving to a file you just store it in a static field which will persist through scene changes unitycodemonkey.com/video.php?v=6uMFEM-napE
You forgot one method which is making blendshapes for the body, a game that uses a character customization for face shape and such will make the blendshapes a public slider to allow customizations this is also how visemes are created for facial animations.
Yup Blend Shapes is another method for further customizing the shape of the mesh, it's actually something I haven't used myself so I'd love to research it in the future
@@CodeMonkeyUnity I have some experience with it, you can even use multiple armor or weapons in the shape key where you just collapse the verities into the body but the poly count ends up being deceptively large, so usually best to keep them to body shapes, and having items deactivated or reactivated to the bones.
thank you i searched this so many times and never found anything that i could use, what i need is away to replace limbs, i had the idea of having all the options and disabling the ones i wasn't using, but couldn't confirm if people used that technique
I made a character randomization using the skinned mesh renderer but at 8:30 is there any reason why you need to delete the hidden gameobjects? They don't cost performance or when using something as "Find()". I also tried to apply the armors from battleroyale pack to another synty pack and i went crazy why the grapicsh missing and ended scraping the idea. 13:40 might solve my problem, i will try when i have time, thanks for that.
I am considering getting this pack, but I wanna know: what happens if I swap head with some other head from another publisher (like NHance) would it work? or there will be some inherent bones issue? Basically I have a bunch of characters that have modular heads, that I'd like to put on a variety of different bodies to make more variations.
Great tutorial, as always! I'd love to see a part 2 of more character customization. Also hoping to use the adult face plates (free add-on to Kids) to do some facial animation - any plans to do a video on that?
look much simpler than my method mine is setup the Empty object as spawn position. all outfit are place in Project folder as Prefab. Everytime player press change cloth, the current outfit will be destroy, and the new outfit spawn to the spawn position (let say hat) with matched rotation as player it has much work to do but work perfectly. In term of performance, do you think premade outfit in Hierarchy is slower the performance than destroy current object and taking new from Prefab? thanks you
Thanks! This tutorial is very helpful, I was looking for something like this since ever. Did you know how a "modified mesh" would work? (Character customization with sliders, changing body size, etc)
I'd love to see the follow up, but also a video on Unity Engine UI elements, for example you have your transform selector on the left on your scene window instead of under the toolbar, that helps out a lot for making quick changes and seeing what selection you made, I use Q,W,E,R,T to switch between scale and rotations but I have it under my toolbar.
I've upgraded to 2021 LTS which has the toolbar as a separate object, you can put it on the side or on top just like it was in 2020 LTS I mostly use the keys as well so I didn't even notice the new toolbar.
Random question, is there any place where I can learn Tools Programming for Unity or Unreal? There’s all these courses I’ve found for game development but nothing at all relating to tools development. I’m a complete beginner to this stuff so I apologize for my stupidity in advance.
I covered Editor tools in 2 videos ruclips.net/video/bMuTsAma4tk/видео.html ruclips.net/video/rPBISPzmhog/видео.html And I also covered the Odin inspector which is an excellent asset for helping you make tools ruclips.net/video/jz_vk8NQFZ4/видео.html And then beyond that, in the latest Unity version the UI Toolkit is now out of preview and that is meant to be a new easier way to build tools however I haven't looked into it yet myself.
First you have to identify exactly what don't you understand. Game Objects? Transforms? Learn the basics of Unity unitycodemonkey.com/video.php?v=E6A4WvsDeLE C# Functions? Variables? Learn the C# Basics unitycodemonkey.com/video.php?v=IFayQioG71A
That's really neat! I have worked with a script for the bone remapping before, was wondering if this video mentions it, and indeed it does. Very important to know, great video! Some other scripts I've seen sometimes also consider that the order of the bones is not always the same. In that case, the transforms are matched per name instead of per index
@CodeMonkeyUnity is it possible to add body padts for the unity starter asset character? This one seem even trickier because the armature only has one skin mesh renderer so how how would it work?
Hello Code Monkey - I really love theese videos. I would love to see the second video of character customization, but I don't know if there is one (was not able to find it on your page) Could you add a link if you have created the video
This was useful, as was the other video you made on swapping avatars. I'm not quite at this part yet in my learning (still basically working with primitives and hammering out underlying systems), but if you ever do another video on this topic, maybe cover additional customization options, like how to change the size of the skeleton. I played around for about ten minutes with the Polygon starter pack and realized that this is something that would be more difficult than I thought (especially if you wanted the player to be able to adjust character dimensions during character creation). For example, it's easy enough to change the length of the legs, but it didn't change the size of the collision box, so you also have to manually adjust the height of character there as well as the center. Likewise, you have to adjust the Y value in the Root, and I'm pretty sure you need to change the bounding box on the skinned mesh renderer, as well (though I admit, I'm less sure what this last one does). Otherwise, the character just sinks into the terrain. I worked it out, but it's not exactly intuitive.
What is the shortcut to enable and disable a game object without mousing over and clicking the checkbox in the inspector? At least that's what it looks like you were doing about halfway through the video.
Could you do a tutorial on how to save custom characters? I made a UI canvas for enabling and disabling all the parts of my character but then I can't instantiate them in another scene while in play mode
You would need to define some data structure to reference the parts. Give them some index/enum/name, then just hold that in a class/struct. Maybe make a List in a prefab and drag all the possible parts onto that list, then store the int index
@@CodeMonkeyUnity Thank you for the quick reply! Unfortunately I am very new to Unity and have no idea what any of that means... Looks like I have some googling to do today
I don't think there's any way to do that inside Unity since the objects are entire meshes. For that you'd have to load the model into blender and cut it up but I'm not familiar with the process for making Skinned meshes in blender so not exactly sure how.
@@CodeMonkeyUnity I was afraid it might be something like that. Though with what you've covered, there are plenty of other customization options that are available. Thanks for the reply, and thanks for your awesome content!
@@CodeMonkeyUnity The mesh data can be programmatically edited even in runtime, and this is usually has to be done with big GaaS mobile games using mtx cosmetics. It's not some much about cutting up anything, just all the individual mesh pieces are combined into 1 mesh to save drawcalls. Combining mesh data is not too complicated but probably well outside the beginner scope you cover.
Does Unity have any kind of simple way to replace a base armature? Say you have a base character and you attach outfits, props, scripts etc to different bones throughout the armature. But then you decide to update the armature. is there an easy way to swap base armature with all the attached parts intact. or do you just have to re attach everything to a new model?
Every mesh can have a different skeleton so there's no standard way to do that. Technically maybe you could query the Avatar object to get the bone you want regardless of the skeleton of that mesh but no idea if that's doable. There doesn't seem to be a function to explore the Avatar docs.unity3d.com/ScriptReference/Avatar.html
Heyy! Thank you for the amazing video! keep up the hard work! I was wondering if you can make a part 2 like a tutorial on how to set ui/character Customization/ saving/ and the playing with the character you just made? thank you!
How to costumizate a character using photos and JSON file with keypoints (positions of eyes, nose, shoulder etc.)? P.S. My friennd adviced me to use UV map. But I don't know how to use it...
How About in Vroid Currently researching and making my game using vriod models the problem is the hair it has its own skinnedmesh data and bone set up If I export only the hair and align it to the model it might work but the physic of the hair is not working
I can't get the code for changing Skinned Mesh to work. I got it to work once and only once with it running as a start function, but when you try to do anything advanced like a custom function, it refuses to render it. Why the hell did Unity make this so complex?!
Hmm not really, I have a playlist with videos related to a third person shooter, then I also did some Animation Rigging unitycodemonkey.com/video.php?v=UL2EbxqwozM How to get free animations unitycodemonkey.com/video.php?v=c4jtyDA7vcs And there's some referenced videos in the description
@@CodeMonkeyUnity Yeah, thanks. But what I meant is just simply create here in RUclips a simple playlist, grouping them all related videos (for example this and other videos you listed in the description and whatnots). Very simple idea, would be helpful for people I think. Would be best if sorted oldest to newest etc. Just for an example: ruclips.net/p/PLllNmP7eq6TSkwDN8OO0E8S6CWybSE_xC -> Super helpful, anyone interested just need to save this single playlist.
I've been messing around with the same asset pack, and while trying to implement an entirely different method I'm running into an issue. I'm changing the skinned mesh renderer to different one of the same "kind" i.e. from Chr_Hips_Male_00 to Chr_Hips_Male_04. The end goal being I assign a skinned mesh to a scriptable object and customize the avatar from the object. The weird thing is that sometimes this works, and other times the mesh is distorted ( like in the Hips 00 to Hips 04 example I gave). Another weird thing is that for example while swapping the skinned mesh on Chr_Hips_Male_00 to Chr_Hips_Male_00 is distorted, Chr_Hips_Female_00 to Chr_Hips_Male_04 is not! Anyone have an idea on what is going on? I suspected it had to do with the bones, but when I export the fbx to blender I'm not seeing any major differences between the skinned meshes I can swap to easily and the ones that come out distorted. EDIT: Figured out how to get it to work. It's because the bones in the fbx are transformed by default. Opened it up in blender and undid the transformations and now swapping skinned meshes works like a charm. No clue why Synty did the asset the way they did, it makes it unnecessarily difficult to work with. Unfortunately fixing that issue means you have to remake the prefab, assigning the transforms to each skinned mesh renderer.
What would be the best way to do this kind of thing within WebGL using asset bundles? I don't think I could do the version where I have everything loaded in on the asset all at once since they would all need to be downloaded. Would the skin mesh renderer version be to most efficient?
The only thing you need is to load them dynamically, so you could use both methods, just not starting off with the character with all the parts. Dynamically loading either SkinnedMeshRenderers or regular MeshRenderers would work
Love you, Monkey. You are my One Stop Shop for all things that I find problematical. However, I have a problem with the Aurora FPS Engine. I have it working just fine but the trouble I have is with the placement of 3rd Party Weapons. I am not getting it right. At all. I will even send you a copy for you to get your head around and have a go at it. Keep up the good work. I have followed the tuts and documentation but so far, its a fail! 😞
I'm curious how a Mesh Renderer approach looks animated. I know games like Lineage 2 or World of Warcraft, sliced up their models and swap out those parts, but you'll never see a seam. (Of course this depends where your seems are) is this possible with a Mesh Renderer approach?
The main difference is it wont deform along with the bones, so yes if you use that method on separate body parts like arms or chest then it will have gaps, although you can make the mesh bigger to hide them. So I would recommend using SkinnedMeshRenderers on body parts and MeshRenderers for adding things on top of it (helmet, backpack)
@@CodeMonkeyUnity if you do an in-depth video on hot swapping skinned meshed renderers through code, I’ll be sure to check it out! Sounds like definitely a mix would be needed for a proper RPG with equipable gear.
I tried the skinnedmeshrender method. But it's a mesh. If bones aren't in the correct order (differs between meshes) or root bone differs, the mesh gets meshed up. I guess the trick is to take the character prefab with all the meshes. Save off the configuration of each mesh, then reuse those same configuration later. Would be interesting to see a follow-up on this tutorial. :)
I tried iterating through the synty character prefab and created SkinnedMeshRendererData class instances to hold all the data. So far so good. But then I don't know what to do with it. I created an editor script that creates scriptableobjects, but SOs can't hold scene references. How can we save off all this data and fetch it when needed? Or is the only solution to have a scene object like an "item manager" holding these hundreds, perhaps thousands of SkinnedMeshRendererData instances? And would we need one for each character we want to be customizable?
@@ludwig9601 You can load mesh data through Resources if you want to avoid long array of references. And you don't need per-character lists as long as your bone order is consistent in your assets.
Do you have any, or know any, good tutorials for 2D games made in unity learning from scratch? I want to make a 2D hand drawn mystery/horror game but I have never even opened unity :( all the tutorials I have found are for advanced, no beginners. Or for 3D games, which I'm not interested in right now. Thank you :)
Here is a nice guide for how to start learning unitycodemonkey.com/question.php?q=how-to-learn-unity Don't focus on the specific game you want to make just yet, learn the general basics first to get a good foundation.
@@CodeMonkeyUnity 😭😭oh my god thank you so much dude,, that's so helpful!!! thank you! Yea lol I admit I have no ideas for games atm, outside of what I think I want to make. Time to learn some basics! Stupid question, but does unity work on windows 10? is it free/do I have to pay monthly? I have a windows 10 but unsure if the latest version of unity will run^^" Thanks for all your amazing videos! they're so engaging and helpful!
@@mayettaxtriger436 Yup Unity works on Win10, it's what I'm using. Yup the Unity personal edition is free and has all the features as any Unity version. You only need to upgrade to a paid Unity version after you make $100k
Damn this is a bummer. I’m trying to find feature parity with some things I have set up in my unreal project. In there we can have multiple skeletal meshes parented to a master. The master leads the animation and all of the skeletal meshes can have their meshes swapped out. I can probably solve this since it’s a component that’s holds a mesh. That way I can just swap out the entire mesh in the renderer.
Clicked this video hoping for someone to explain how modeling and rigging equipment for multiple characters works, and how to bring that into unity. Instead I got a video that basically said "download an asset pack that can already do the thing". Thanks. Super helpful.
Sounds like you're looking for a modelling tutorial, for that you should be looking at Blender Tutorials not Unity Tutorials, you don't model inside Unity, you model in Blender then apply logic inside Unity
Actually....I just tried this and it totally worked fine! Set a new Mesh + set Material. *Issue, when I disabled/destroyed my originalSkinnedMesh, animation would stop and I'd get a static object.
Hey Code monkey thank you so much for this! I am so happy there is an updated version as I recall seeing old versions, so this is def a huge need for me. :3 Btw could you make one on a creature that breeds and offsprings get traits? for example red bird and yellow bird, their offspring gets their color or a mix of design? ^ ^" I am making a game that has this kind of mechanic and realized I don't know how on doing this or getting an idea really how it's done..besides something like this, but I would be grateful and highly appreciate it if you make a tutorial on this. ♥ Really love your content btw, it's super helpful! ;3;
For mixing the visual textures it's pretty simple, you can draw some textures with code unitycodemonkey.com/video.php?v=ZRRc7J-OwGo unitycodemonkey.com/video.php?v=Xss4__kgYiY However for mixing 2 meshes, that is a lot more complex, you would probably need to manually define some kind of attach points or something
✅ Modular Characters 50% OFF! syntystore.com/86b89
🌍 Get the GameDevTV Code Monkey Bundle! unitycodemonkey.com/courses.php
👍 Learn Unity, Blender and Programming Patterns, from Beginner to Advanced!
🔴 RELATED VIDEOS 🔴
How to SWAP your Character! (Change Mesh Visual, Same Animations, Controller) ruclips.net/video/AO1vw-b8Qzw/видео.html
Kickstart your game with First and Third Person Controllers! (FREE Unity Starter Assets) ruclips.net/video/jXz5b_9z0Bc/видео.html
Learn Unity, Blender and Programming Patterns! ruclips.net/video/0vdmQrShbZo/видео.html
can you send us the pack for free?
god trying to find a character customization tutorials that don't make it seem like its the most complex thing in the entire world has been a nightmare thank you so much for making this. I would love a more in-depth look into this system especially the skinned mesh system
You are the one of the most valuable members of the game dev community. Hands down.
Thanks for the kind words!
The info about the SkinMeshRenderer bones was a life saver. Thanks for sharing...
A second part would be very helpful.
I would love to see a part 2! Your video's got me into Unity game development and coding. I'm still very new to the whole thing, but your courses and explanations are very helpful for someone starting out. TY my friend, great work as always! 👍
i agree with this!
Upvoted
I'm glad you enjoy the videos! Thanks!
Up
@@CodeMonkeyUnity I need part 2
As always Code Monkey delivers what I need most at the perfect time. And I especially love your tutorials since these are always so well optimized
Definitely would love to see a part two.
Something where a user had an “inventory” they could equip at will.
Please do a part 2! This kinda stuff gets very complicated, especially when you want to add new sub parts.
Also, Thank you so much for the skinned mesh renderer bones part! That was bothering the hell out of me.
Love to see a part 2 with loading (& saving?) the custom character into the game.
Skinned Mesh Renderer Bone trick saved my weeks, thank you!
I like the fact that after you received award you are making videos more often! Keep it up! How about a little parcour,ledge climbing tutorial next time? It's really under-covered topic in game dev in my opinion. Would love to see part 2 as well!
Yup that's definitely a topic I have on my list. Right now I'm super busy trying to finish my next complete course but after that I want to take 2 months to do nothing but tutorials, got tons of awesome ideas!
@@CodeMonkeyUnity I believe in you
Awesome tutorial
Please make a part 2 for this !!! Your tutorials are great :)
If you do a Part 2 I would really like to see how this can be applied to customizing the character during runtime. I am making an arpg of sorts but want to make it so players can equip different gear they pick up. So far I guessed I should use the meshrenderer method to add the pieces as children of the referenced part then and destroy any pieces that are in its way putting them back into their inventory. Am I on the right track?
It sounds like you understand the general idea to me. I have an arpg type project where I have an Equip(Item) function. So when loading the character, it looks at the saved list of currently equipped items, and calls the Equip function on all of them. Then yep, do the opposite when you UnEquip, while updating and saving the list of which items are equipped or in your inventory. I also have a few other rules in there, like a full body armor item will remove the currently equipped chest/legs or the 'nude' models get equipped when there is no item equipped. Just however you wanna do it.
Personally, I don't actually Destroy() all of my other pieces either, I am just enabling\disabling mine. If there was a noticeable hit to my performance then I might've investigated more and reached the point that I found it necessary, but I didn't do that. But I also haven't published this project and it's only low poly models that I'm dealing with.. Doing it that way is only a small extra step though- you would just need to maintain some reference to all of the parts so that you could Instantiate them again when needed. Maybe even grab them from an Object Pool instead of repeatedly calls to Instantiate, since the reason for doing it this way I assume would be for performance. But I'm honestly unsure which of those ways would be more performant on a super high quality and complex project where it could actually make a difference, so I'd say try it for yourself. xD
@@rawrrrz Low-poly is cool though. I plan on sticking to low-poly for both aesthetics and ease of performance (and modeling...) since I am soloing it. Hope yours turns out awesome. Posted any content yet?
@@kazekageno7711 Same. I'm horrible at modeling, but I can somewhat manage to make things myself in low poly, but I'm def not an artist. Haha. I've just been learning on my own for several years now.. But nope, haven't completely finished a single project. In my arpg project you can run around, use several special attacks and different types of spells, there's RNG looting and crafting.. But I'm not much of a writer or anything either. So, what's my world called, what's the story, who are the NPCs, how to design city layouts, etc.. all that stuff is missing.. Creative decisions break me, basically. So I've only managed to make several functional prototype projects, and no complete games. I'll probably eventually have to find a friend willing to make the creative decisions for me, rather than publishing entirely solo. Thanks though, and good luck to you as well! I'd say feel free to message me with any programming\unity questions, but I don't guess that's a feature of RUclips.. lol
Yup exactly, you would have some kind of inventory equip logic and each item would have its own linked 3D mesh (possibly with scriptable objects) unitycodemonkey.com/video.php?v=7jxS8HIny3Q
Then you would destroy the part in that slot that is currently placed, if any, and instantiate the part related to that item
I've been wanting to make more Inventory related tutorial videos, my last inventory video was quite a long time ago unitycodemonkey.com/video.php?v=isAmoM3RPEI
I'm working hard on completing my next course and then I'll be doing tons of tutorials that I've wanted to do for a long time.
@@CodeMonkeyUnity Alright, I look forward to them. I bought your Unity course for Bolt and like 50 tips on Udemy and look forward to what else you can cook up :)
Definite +1 for part 2. Also, if you could do something about or have any pointers to resources for creating the models to be ready for customization, that would be awesome!
You should check out the Infinity PBR characters. Our customization includes handling blend shapes, and custom editors making it super simple (one line of code) to switch outfits at runtime. Works with prefabs & objects already on the scene, works with attaching to bones and the skinned mesh, rigging it properly and everything. :)
Except all the blendshapes across the character and equipment are all named differently making it a nightmare to sync them all. Definitely not one line of code.
Great, extremely powerful tutorial also I would love to see a part 2. Thank You
would love to see the follow up video!
This is so useful. I would love to see the follow up video!
thanks a ton for this video, I've always been curious about how games do char customization.. and thanks to this video, I can now create a char customization menu for my game..and please if possible make a video in the future dealing with blendshapes, regarding eyes, nose shape, etc in regards to char customization....thanks!!..
This is awesome. What if you want to let the user change things like arm length, head width, eyebrow height?
I would love to see a part two video ☺️
thanks for taking the trouble to do this + figuring out the annoyingness of the skinned mesh renderer!
yes would love to see a breakdown of how to customize
This video could really make use of chapters and time marks where a person could look up which method works best for them
You're right, I'll add some chapters, thanks!
@@CodeMonkeyUnity Thank you and thank you for listening to feedback!
Great video as always. I think these more theoretical/workflow tips are helpful for people of all skill levels. Understanding why just as important as how when making game mechanics!
Exactly what I was looking for. Thank you!
OMG Thank you so much! The invisible skinned mesh renderer issue was driving me insane. I can finally stop crying and build something lol
is it possible to say...use the synty character modular asset, and swap in a unique character base model for all the same cloth meshes to still asign too in the same way?
Part 2 please!🙏
Hey, thanks for the nice video.
Got me some good understandings. I figured out a problem for my upper body part if its a meshrendered piece. In unity it wont follow the three spine bones. Is there any chance to let it follow more than one bone?
Thanks. Keep the good work up!
thank you for the video, when it comes to the skinned mesh renderer, cant you just replace the mesh?
I’d be very interested in the second part of this you mention with the recursive function for removing the extra game objects! I will likely be able to figure it out though!
How would you go about saving the character customization in between scenes?
You can save it like you save any other data, but instead of saving to a file you just store it in a static field which will persist through scene changes unitycodemonkey.com/video.php?v=6uMFEM-napE
@@CodeMonkeyUnity thank you!!!
You forgot one method which is making blendshapes for the body, a game that uses a character customization for face shape and such will make the blendshapes a public slider to allow customizations this is also how visemes are created for facial animations.
Yup Blend Shapes is another method for further customizing the shape of the mesh, it's actually something I haven't used myself so I'd love to research it in the future
@@CodeMonkeyUnity I have some experience with it, you can even use multiple armor or weapons in the shape key where you just collapse the verities into the body but the poly count ends up being deceptively large, so usually best to keep them to body shapes, and having items deactivated or reactivated to the bones.
thank you i searched this so many times and never found anything that i could use, what i need is away to replace limbs, i had the idea of having all the options and disabling the ones i wasn't using, but couldn't confirm if people used that technique
I made a character randomization using the skinned mesh renderer but at 8:30 is there any reason why you need to delete the hidden gameobjects? They don't cost performance or when using something as "Find()". I also tried to apply the armors from battleroyale pack to another synty pack and i went crazy why the grapicsh missing and ended scraping the idea. 13:40 might solve my problem, i will try when i have time, thanks for that.
Like others have said, would love to see that part two. This is super relevant to a project I am working/want to work on
Exactly what I’m looking for rn.
Thank you!
I am considering getting this pack, but I wanna know: what happens if I swap head with some other head from another publisher (like NHance) would it work? or there will be some inherent bones issue? Basically I have a bunch of characters that have modular heads, that I'd like to put on a variety of different bodies to make more variations.
Really helpful! Looking forward to the second part!
Great tutorial, as always! I'd love to see a part 2 of more character customization. Also hoping to use the adult face plates (free add-on to Kids) to do some facial animation - any plans to do a video on that?
SkinnedMeshRenderer + .bones array drove me crazy until I found your video. Thanks for that.
look much simpler than my method
mine is setup the Empty object as spawn position. all outfit are place in Project folder as Prefab. Everytime player press change cloth, the current outfit will be destroy, and the new outfit spawn to the spawn position (let say hat) with matched rotation as player
it has much work to do but work perfectly. In term of performance, do you think premade outfit in Hierarchy is slower the performance than destroy current object and taking new from Prefab? thanks you
Thanks! This tutorial is very helpful, I was looking for something like this since ever.
Did you know how a "modified mesh" would work? (Character customization with sliders, changing body size, etc)
Look at blend shapes or shape keys.
Those would be Blend Shapes which is a topic I'm not too familiar with so it's something I'd love to research
@@CodeMonkeyUnity would love to see one about blend shapes and character customization with them.
I'd love to see the follow up, but also a video on Unity Engine UI elements, for example you have your transform selector on the left on your scene window instead of under the toolbar, that helps out a lot for making quick changes and seeing what selection you made, I use Q,W,E,R,T to switch between scale and rotations but I have it under my toolbar.
I've upgraded to 2021 LTS which has the toolbar as a separate object, you can put it on the side or on top just like it was in 2020 LTS
I mostly use the keys as well so I didn't even notice the new toolbar.
@@CodeMonkeyUnity "tell me you don't use anything above 2020 without telling me you" haha
Thanks for the info!
What if I want to add parts with MeshRenderer but the characters have differents sizes? (Height, weight, etc..)
Random question, is there any place where I can learn Tools Programming for Unity or Unreal? There’s all these courses I’ve found for game development but nothing at all relating to tools development. I’m a complete beginner to this stuff so I apologize for my stupidity in advance.
I covered Editor tools in 2 videos ruclips.net/video/bMuTsAma4tk/видео.html
ruclips.net/video/rPBISPzmhog/видео.html
And I also covered the Odin inspector which is an excellent asset for helping you make tools ruclips.net/video/jz_vk8NQFZ4/видео.html
And then beyond that, in the latest Unity version the UI Toolkit is now out of preview and that is meant to be a new easier way to build tools however I haven't looked into it yet myself.
Can you suggest me how can i understand the logic behind code
First you have to identify exactly what don't you understand.
Game Objects? Transforms? Learn the basics of Unity unitycodemonkey.com/video.php?v=E6A4WvsDeLE
C# Functions? Variables? Learn the C# Basics unitycodemonkey.com/video.php?v=IFayQioG71A
That's really neat! I have worked with a script for the bone remapping before, was wondering if this video mentions it, and indeed it does. Very important to know, great video!
Some other scripts I've seen sometimes also consider that the order of the bones is not always the same. In that case, the transforms are matched per name instead of per index
will you do character customization through shape keys?
You mean Blend Shapes? That's a different topic and something I plan to cover in another video, I've never used them myself so need to research.
Awesome and helpful! I really hope you can make a part 2 to this!
Man you are a LEGEND.
can u make a universal character creator where u just drag n drop any syntys item or customa made item i it and it sets them up on a character ?
@CodeMonkeyUnity is it possible to add body padts for the unity starter asset character? This one seem even trickier because the armature only has one skin mesh renderer so how how would it work?
You are a lifesaver.
I'd like to see a follow-up video to this one.
That's sir. This help me alot
I love the post processing of your lowpoly worlds. Do you perhaps have a tutorial or guide/resource for SRP?
Hmm I haven't made a video on that specific topic. I normally add a bit of Bloom, Saturation, Contrast, Tonemapping: Neutral
@@CodeMonkeyUnity thank you sooo much!
Hello Code Monkey - I really love theese videos. I would love to see the second video of character customization, but I don't know if there is one (was not able to find it on your page) Could you add a link if you have created the video
Yeah I haven't made it yet, it's still on my list of many many topics I'd love to cover!
Please make a part 2! Are the project files for this available somewhere? :)
This was useful, as was the other video you made on swapping avatars. I'm not quite at this part yet in my learning (still basically working with primitives and hammering out underlying systems), but if you ever do another video on this topic, maybe cover additional customization options, like how to change the size of the skeleton. I played around for about ten minutes with the Polygon starter pack and realized that this is something that would be more difficult than I thought (especially if you wanted the player to be able to adjust character dimensions during character creation). For example, it's easy enough to change the length of the legs, but it didn't change the size of the collision box, so you also have to manually adjust the height of character there as well as the center. Likewise, you have to adjust the Y value in the Root, and I'm pretty sure you need to change the bounding box on the skinned mesh renderer, as well (though I admit, I'm less sure what this last one does). Otherwise, the character just sinks into the terrain. I worked it out, but it's not exactly intuitive.
What is the shortcut to enable and disable a game object without mousing over and clicking the checkbox in the inspector? At least that's what it looks like you were doing about halfway through the video.
It's Alt + Shift + A, super useful!
@@CodeMonkeyUnity hey thx!!
Thanks bro, great job!
Could you do a tutorial on how to save custom characters?
I made a UI canvas for enabling and disabling all the parts of my character but then I can't instantiate them in another scene while in play mode
You would need to define some data structure to reference the parts. Give them some index/enum/name, then just hold that in a class/struct. Maybe make a List in a prefab and drag all the possible parts onto that list, then store the int index
@@CodeMonkeyUnity Thank you for the quick reply!
Unfortunately I am very new to Unity and have no idea what any of that means... Looks like I have some googling to do today
Thanks for making this video. I suspected that I may need to destroy the parts on a character after they leave the customization screen.
What about doing it in DOTS?
There's no reason to do this with DOTS, especially since there's no DOTS Animation.
DOTS isn't a cure-all, it's a tool for specific use cases.
Your the best person!
Extremely helpful thank you!!!
Great Timing ! Any thoughts on how to slice up a skinned mesh? For example, swapping the heads of two similar models that have a single skinned mesh.
I don't think there's any way to do that inside Unity since the objects are entire meshes. For that you'd have to load the model into blender and cut it up but I'm not familiar with the process for making Skinned meshes in blender so not exactly sure how.
@@CodeMonkeyUnity I was afraid it might be something like that. Though with what you've covered, there are plenty of other customization options that are available. Thanks for the reply, and thanks for your awesome content!
@@CodeMonkeyUnity The mesh data can be programmatically edited even in runtime, and this is usually has to be done with big GaaS mobile games using mtx cosmetics. It's not some much about cutting up anything, just all the individual mesh pieces are combined into 1 mesh to save drawcalls. Combining mesh data is not too complicated but probably well outside the beginner scope you cover.
Please make the part two!
Idk if it the result of a patch. But I found out you can just switch the mesh on the SkinnedMeshRenderer just fine.
Does Unity have any kind of simple way to replace a base armature? Say you have a base character and you attach outfits, props, scripts etc to different bones throughout the armature. But then you decide to update the armature. is there an easy way to swap base armature with all the attached parts intact. or do you just have to re attach everything to a new model?
Every mesh can have a different skeleton so there's no standard way to do that. Technically maybe you could query the Avatar object to get the bone you want regardless of the skeleton of that mesh but no idea if that's doable. There doesn't seem to be a function to explore the Avatar docs.unity3d.com/ScriptReference/Avatar.html
Heyy! Thank you for the amazing video! keep up the hard work! I was wondering if you can make a part 2 like a tutorial on how to set ui/character Customization/ saving/ and the playing with the character you just made? thank you!
Nice, great tips for beginners
How to costumizate a character using photos and JSON file with keypoints (positions of eyes, nose, shoulder etc.)? P.S. My friennd adviced me to use UV map. But I don't know how to use it...
How About in Vroid
Currently researching and making my game using vriod models
the problem is the hair it has its own skinnedmesh data and bone set up
If I export only the hair and align it to the model it might work but the physic of the hair is not working
Amazing!
I can't get the code for changing Skinned Mesh to work. I got it to work once and only once with it running as a start function, but when you try to do anything advanced like a custom function, it refuses to render it. Why the hell did Unity make this so complex?!
Thanks for the great content.
Do you have a playlist containing of your videos related to this topic (animation, 3D model) ?
That would be awesome!
Hmm not really, I have a playlist with videos related to a third person shooter, then I also did some Animation Rigging unitycodemonkey.com/video.php?v=UL2EbxqwozM
How to get free animations unitycodemonkey.com/video.php?v=c4jtyDA7vcs
And there's some referenced videos in the description
@@CodeMonkeyUnity Yeah, thanks.
But what I meant is just simply create here in RUclips a simple playlist, grouping them all related videos (for example this and other videos you listed in the description and whatnots). Very simple idea, would be helpful for people I think. Would be best if sorted oldest to newest etc.
Just for an example: ruclips.net/p/PLllNmP7eq6TSkwDN8OO0E8S6CWybSE_xC
-> Super helpful, anyone interested just need to save this single playlist.
Would you consider making a cover system tutorial for your Third person shooter controller?
Sticking to cover? That could be an interesting topic, I'd have to find a good animation pack for that
@@CodeMonkeyUnity I think my reply got deleted for posting a link. I have Cover Rifle Animset Pro by Kubold
I've been messing around with the same asset pack, and while trying to implement an entirely different method I'm running into an issue.
I'm changing the skinned mesh renderer to different one of the same "kind" i.e. from Chr_Hips_Male_00 to Chr_Hips_Male_04. The end goal being I assign a skinned mesh to a scriptable object and customize the avatar from the object.
The weird thing is that sometimes this works, and other times the mesh is distorted ( like in the Hips 00 to Hips 04 example I gave). Another weird thing is that for example while swapping the skinned mesh on Chr_Hips_Male_00 to Chr_Hips_Male_00 is distorted, Chr_Hips_Female_00 to Chr_Hips_Male_04 is not! Anyone have an idea on what is going on? I suspected it had to do with the bones, but when I export the fbx to blender I'm not seeing any major differences between the skinned meshes I can swap to easily and the ones that come out distorted.
EDIT: Figured out how to get it to work. It's because the bones in the fbx are transformed by default. Opened it up in blender and undid the transformations and now swapping skinned meshes works like a charm. No clue why Synty did the asset the way they did, it makes it unnecessarily difficult to work with. Unfortunately fixing that issue means you have to remake the prefab, assigning the transforms to each skinned mesh renderer.
What would be the best way to do this kind of thing within WebGL using asset bundles? I don't think I could do the version where I have everything loaded in on the asset all at once since they would all need to be downloaded. Would the skin mesh renderer version be to most efficient?
The only thing you need is to load them dynamically, so you could use both methods, just not starting off with the character with all the parts.
Dynamically loading either SkinnedMeshRenderers or regular MeshRenderers would work
Awesome video, if you do part two it would be great to see how to use blendshapes to customize facial features.
Love you, Monkey. You are my One Stop Shop for all things that I find problematical. However, I have a problem with the Aurora FPS Engine. I have it working just fine but the trouble I have is with the placement of 3rd Party Weapons. I am not getting it right. At all. I will even send you a copy for you to get your head around and have a go at it. Keep up the good work.
I have followed the tuts and documentation but so far, its a fail! 😞
I'm curious how a Mesh Renderer approach looks animated. I know games like Lineage 2 or World of Warcraft, sliced up their models and swap out those parts, but you'll never see a seam. (Of course this depends where your seems are) is this possible with a Mesh Renderer approach?
The main difference is it wont deform along with the bones, so yes if you use that method on separate body parts like arms or chest then it will have gaps, although you can make the mesh bigger to hide them.
So I would recommend using SkinnedMeshRenderers on body parts and MeshRenderers for adding things on top of it (helmet, backpack)
@@CodeMonkeyUnity if you do an in-depth video on hot swapping skinned meshed renderers through code, I’ll be sure to check it out! Sounds like definitely a mix would be needed for a proper RPG with equipable gear.
Thanks For this Amazing Videos ! Like To See The Follow Up Video
I tried the skinnedmeshrender method. But it's a mesh. If bones aren't in the correct order (differs between meshes) or root bone differs, the mesh gets meshed up.
I guess the trick is to take the character prefab with all the meshes. Save off the configuration of each mesh, then reuse those same configuration later.
Would be interesting to see a follow-up on this tutorial. :)
I tried iterating through the synty character prefab and created SkinnedMeshRendererData class instances to hold all the data. So far so good. But then I don't know what to do with it. I created an editor script that creates scriptableobjects, but SOs can't hold scene references. How can we save off all this data and fetch it when needed? Or is the only solution to have a scene object like an "item manager" holding these hundreds, perhaps thousands of SkinnedMeshRendererData instances? And would we need one for each character we want to be customizable?
@@ludwig9601 You can load mesh data through Resources if you want to avoid long array of references. And you don't need per-character lists as long as your bone order is consistent in your assets.
Do you have any, or know any, good tutorials for 2D games made in unity learning from scratch? I want to make a 2D hand drawn mystery/horror game but I have never even opened unity :( all the tutorials I have found are for advanced, no beginners. Or for 3D games, which I'm not interested in right now.
Thank you :)
Here is a nice guide for how to start learning unitycodemonkey.com/question.php?q=how-to-learn-unity
Don't focus on the specific game you want to make just yet, learn the general basics first to get a good foundation.
@@CodeMonkeyUnity 😭😭oh my god thank you so much dude,, that's so helpful!!! thank you!
Yea lol I admit I have no ideas for games atm, outside of what I think I want to make. Time to learn some basics!
Stupid question, but does unity work on windows 10? is it free/do I have to pay monthly? I have a windows 10 but unsure if the latest version of unity will run^^"
Thanks for all your amazing videos! they're so engaging and helpful!
@@mayettaxtriger436 Yup Unity works on Win10, it's what I'm using. Yup the Unity personal edition is free and has all the features as any Unity version. You only need to upgrade to a paid Unity version after you make $100k
Hello. How can I make a melee combat system?
I made one here unitycodemonkey.com/video.php?v=AXkaqW3E9OI
can you make a video on 2.5D games like Paper Mario?
Damn this is a bummer. I’m trying to find feature parity with some things I have set up in my unreal project. In there we can have multiple skeletal meshes parented to a master. The master leads the animation and all of the skeletal meshes can have their meshes swapped out. I can probably solve this since it’s a component that’s holds a mesh. That way I can just swap out the entire mesh in the renderer.
You can swap a mesh, I covered some methods to do that here unitycodemonkey.com/video.php?v=AO1vw-b8Qzw
Is part 2 available?
I'm actually working on it right now, will be out next week
awesome!
is Dots Not work on 2021 LTS????
I believe version 0.50 is meant to be used with 2020 LTS and in a few weeks/months they are launching 0.51 which will be compatible with 2021 LTS
Clicked this video hoping for someone to explain how modeling and rigging equipment for multiple characters works, and how to bring that into unity. Instead I got a video that basically said "download an asset pack that can already do the thing". Thanks. Super helpful.
Sounds like you're looking for a modelling tutorial, for that you should be looking at Blender Tutorials not Unity Tutorials, you don't model inside Unity, you model in Blender then apply logic inside Unity
@@CodeMonkeyUnity Woosh
Please Change The Mesh Of The Duplicate Object And Repeat The Steps From 11:40. It Won't Work.
I just put a placeholder for all my skinnedmesh slots and then replace the mesh and material in renderer preserving the bones and roots etc.
Actually....I just tried this and it totally worked fine! Set a new Mesh + set Material. *Issue, when I disabled/destroyed my originalSkinnedMesh, animation would stop and I'd get a static object.
Hey Code monkey thank you so much for this! I am so happy there is an updated version as I recall seeing old versions, so this is def a huge need for me. :3 Btw could you make one on a creature that breeds and offsprings get traits? for example red bird and yellow bird, their offspring gets their color or a mix of design? ^ ^" I am making a game that has this kind of mechanic and realized I don't know how on doing this or getting an idea really how it's done..besides something like this, but I would be grateful and highly appreciate it if you make a tutorial on this. ♥ Really love your content btw, it's super helpful! ;3;
For mixing the visual textures it's pretty simple, you can draw some textures with code
unitycodemonkey.com/video.php?v=ZRRc7J-OwGo
unitycodemonkey.com/video.php?v=Xss4__kgYiY
However for mixing 2 meshes, that is a lot more complex, you would probably need to manually define some kind of attach points or something
@@CodeMonkeyUnity I figured it be quite complex. Also thank you for the links. ;3; hopefully I figure it out.