Skip to main content

Starting the UModeler blog

· 10 min read
Jaesik Hwang

Hello! I'm very excited to start a blog like this. I was thinking about what to write for my first blog post, and I decided it would be interesting to talk about why we started developing UModeler X, the process we went through, and how we plan to develop it further, as this is something we haven't had many chances to discuss.

The reason I started developing UModeler X while the existing UModeler was receiving a lot of love from Unity developers is as follows:

  1. To allow for smooth editing of high-poly 3D data within the Unity editor.
  2. To integrate all functions needed for 3D data creation, including modeling, rigging, painting, and sculpting, so that games can be made 100% within Unity.
  3. To lay the groundwork for runtime solution development as well as editor solutions, aiming to develop new products for more 3D creators outside of Unity.
  4. To allow creators to make various contents such as 3D worlds, games, items, and characters with UModeler X, and to support more creators' creative activities with the results produced from here.

UModeler X Development Story

UModeler X began its full-scale development in mid-2020, facing various technical and planning challenges. We overcame these challenges one by one to reach its current form. I will briefly introduce the development process.

In 2020

  • In 2020, the initial development focused on implementing an architecture that could quickly update the connectivity information between the elements of a mesh, such as vertices, edges, and faces. Additionally, we concentrated on ensuring that the visualization, selection, and movement of these mesh elements could be handled cleanly and swiftly. The BMesh architecture from Blender provided significant help in implementing this architecture. To verify performance, we conducted basic modeling tests such as element selection and movement using an 800,000 polygon Stanford Dragon mesh. The results confirmed that UModeler X could adequately edit high-poly models within Unity.
  • In addition to this, we introduced a command-based modular approach to increase work efficiency and significantly reduce the data size needed for Undo/Redo operations.
  • We also added the ability to modify the original mesh (Source Mesh) without altering it by introducing modifiers (Modifier). The initial implementation of the Mirror, Subdivide, FFD, Shell, and Push modifiers has made modeling much easier and more efficient.
  • We adopted the OpenSubdiv library to implement a subdivision (Subdivision) tool that directly converts low-quality, low-poly 3D data into high-quality, high-poly 3D data.

In 2021

  • We introduced the MVVM(Model-View-ViewModel) pattern to separate rendering, data, and actual implementation. Additionally, we upgraded the UI design to make it more sophisticated.
  • We developed a solution that utilizes the GPU to select vertices, edges, and faces of high-poly meshes with high performance.
  • We implemented various modeling-related features belonging to basic shapes (Primitive Shapes), Add, Remove, and Surface groups on top of the new architecture.
  • We also implemented a built-in UV editor to enable UV unwrapping and editing.
  • In the summer of 2021, we were able to create high-end 3D models that the original UModeler could not achieve, fully utilizing the features of UModeler X implemented up to that point.
  • In UV editing, a new unwrapping feature using the LSCM (Least Squares Conformal Maps) algorithm was added, allowing complex meshes to be unfolded into 2D UV coordinates with minimal distortion by following the seams.
  • We finally implemented rigging for character animation. Now, not only can you create a skeleton structure, but you can also import and use an existing skeleton directly. Additionally, we implemented the Weight Transfer feature, which calculates weights based on the weights of another mesh. By fully utilizing the modeling features and rigging implemented up to that point, we were able to successfully create character items for the Zepeto metaverse, thereby verifying the performance of UModeler X.

In 2022

  • We continuously verified the capabilities of UModeler X by creating a demo that combined a cute character with a 2.5D proportion, made using UModeler X, with a background created using UModeler.
  • Developed a 3D painting mode that allows direct coloring on 3D models with a brush. This supports layers like Photoshop, and each layer can have Paint, Fill, and Sticker properties. 2D painting is also supported, making it possible to create textures in Unity, which was previously cumbersome.
    • 3D Painting Prototype
    • First Version of 3D Painting
  • Conducted more than three alpha tests targeting students learning Unity. Through this, we were able to receive a wide range of feedback and enhance the completeness of UModeler X.
  • In 2022, a lot of time and effort were invested in adding new features, creating a stable and scalable system, and addressing technical debt. As a result, the existing command system, prefab, and tool usage workflows were significantly improved. Continuous testing led to the identification and resolution of many issues. While these improvements may not seem significant externally, they ultimately laid the groundwork for a stronger leap forward.

In 2023

  • First Closed Beta (March 2023~)
    • Conducted a closed beta for Zepeto creators. Zepeto uses Unity as a development studio for creators.
    • Launched a landing page in January and granted access to users who left their emails on March 29.
    • Although the number of people who actually used UModeler X was not as high as the number who applied, we were able to receive helpful feedback from real Zepeto creators, which greatly aided in improving UModeler X.
    • Improved rigging and export features to accommodate various body types of Zepeto.
    • Opened the Official UModeler X Manual Site, built using the Docusaurus solution.
  • Second Closed Beta (July 2023~)
    • Held an invitation event. Invitations could be received either from someone who was already invited or by applying directly on the website. In retrospect, it might have been better not to conduct this event as part of a viral marketing strategy.
    • Began to inform existing UModeler users about UModeler X. We created a new UModeler X category in the UModeler Discord channel and simultaneously announced the news of UModeler X's second closed beta in communities where Unity developers are active.
    • Released the first demo video.
    • Released tutorial videos to help get started with UModeler X, serving as an excellent guide.
    • Added an auto-rigging feature similar to the Mixamo concept. Setting guide points automatically generates a skeleton for human and quadruped meshes and assigns weights to vertices.
    • Implemented AI texturing in collaboration with the game company nerdystar, working with Stable Diffusion + WebUI. This allows for direct projection of AI-generated images onto 3D models in the scene view, simplifying the cumbersome texture creation process.
  • Open Beta (September 2023~)
    • From this point on, anyone can use UModeler X simply by signing up.
    • Released the second demo video.
  • Launched UModeler X on the Unity Asset Store. Now anyone can download UModeler Hub from the Asset Store and use UModeler X.
  • Opened a course on Unity's Official Online Learning Site (learn.unity.com) for getting started with UModeler X.
  • Created a demo video showcasing the advantages of using UModeler X with Synty Studios' assets in Unity, allowing for direct editing and animation.

In the future

Our goal with UModeler X is to upgrade the Unity editor, used by over 1.1 million people monthly, into an easier and more convenient tool for creating 3D content. If anyone using the Unity editor can fully unleash their imagination with UModeler X, the world will become more exciting and colorful. To achieve such a world, UModeler X will continue to develop and evolve without cease.

In 2024

This year, we plan to implement the sketch-based smart modeling that made the original UModeler special, into UModeler X as well. Also, hotspot texturing and the Curve editor are expected to be integrated into UModeler X soon. Additionally, AI Texturing version 2.0 is waiting for you. We are preparing many more features, so you can look forward to them.

Getting Started with UModeler X

To install UModeler X, you first need to install the Hub from the Unity Asset Store. This Hub is responsible for the installation and updating of UModeler X and allows for the download of other necessary assets. After running the Hub, create an account and log in to install UModeler X.

Once the installation is complete, you can start using it right away by referring to the previously introduced UModeler X online manual.

Community and Support Channels

If you have any improvements, questions, or issues you'd like to discuss while using UModeler X, try using the UModeler Discord server. You can receive direct feedback from developers or other UModeler X users there. You can also get the latest news about UModeler X on this server. Feel free to inquire through the UModeler Unity Forum or Email.

Resources

For the latest information, follow UModeler on Twitter, Facebook, and Instagram.