
The Drazerk was developed as both a commercial VRChat avatar and a technical portfolio piece, providing an opportunity to demonstrate my approach to solving complex production challenges across the entire character pipeline. From 3D modeling and rigging to Unity implementation and facial tracking, every stage emphasized deliberate technical decision-making, maintainability, and balancing creative goals with platform constraints.
Drazerk 1.0
Project Summary
Duration: ~3 months to initial release
Focus: Technical Art, Character Art, Rigging
Tools: Blender, Unity, Substance Painter, Photoshop
The project was developed over approximately three months, from
initial concept to commercial release, encompassing every stage of production including modeling, texturing, rigging, Unity implementation, facial tracking, optimization, documentation, and distribution.




When designing the Drazerk model, I prioritized animation quality, maintainability, and long-term extensibility while working within VRChat's established performance guidelines. Rather than pursuing the lowest possible polygon count, I targeted the platform's recommended budgets to ensure the avatar remained performant without unnecessarily sacrificing visual quality. Edge flow was planned around deformation, with particular attention given to high-mobility areas such as the face, shoulders, hips, and hands to produce predictable animation and clean silhouettes. From the outset, I also treated the model as a modular production asset, allowing future additions such as clothing, accessories, hairstyles, and species variations to integrate cleanly without requiring significant changes to the underlying topology. This approach balanced artistic goals with technical constraints, resulting in an asset designed not only for release, but for efficient iteration and long-term support.



The rig was developed with a strong focus on deformation quality, maintainability, and user customization. Joint placement and weighting were refined to produce predictable deformation throughout the body, with additional twist bones incorporated into high-stress areas such as the forearms and knees to preserve volume and improve articulation during extreme poses. Consistent naming conventions and a structured hierarchy were maintained throughout the skeleton to simplify future development, debugging, animation, and content integration. Beyond animation quality, the rig was also designed around VRChat's ecosystem. A dedicated portion of the available bone budget was reserved for dynamic features such as PhysBones, enabling responsive hair, ears, tails, clothing, and accessories while remaining within the platform's performance guidelines. Rather than exhausting the available budget, I intentionally retained headroom for end users to extend the avatar with their own accessories and modifications, allowing for greater customization without exceeding technical constraints.



Implementation within Unity was approached with the same emphasis on maintainability and user experience as the asset itself. Avatar systems were configured using a combination of constraints, PhysBones, colliders, animation controllers, and parameter-driven logic to produce responsive and predictable interactions while remaining performant. Dynamic components were carefully tuned to provide natural secondary motion without introducing instability, and collision volumes were configured to achieve consistent behavior across a wide range of avatar interactions. Throughout development, systems were continuously tested and refined to ensure they behaved reliably under real-world use rather than only in controlled scenarios.
Where appropriate, functionality was designed to be modular and extensible, allowing individual systems to be updated or expanded without requiring significant changes elsewhere in the project. Particular attention was given to keeping the project organized through consistent naming, logical hierarchy structures, and clearly separated components, making the avatar easier to maintain, troubleshoot, and iterate on over time.



While Unity is not my primary engine, I approached implementation by first understanding the underlying systems before integrating them into the avatar. Rather than relying solely on established workflows, I evaluated the available components, their limitations, and the trade-offs involved in different implementation approaches. Configuring constraints, PhysBones, colliders, animation systems, and supporting components became an iterative process of prototyping, testing, and refinement, with decisions guided by performance, maintainability, user experience, and compatibility. This methodology allowed the project to evolve through informed technical decisions rather than trial and error.
Developing the avatar also reinforced an approach I rely on across projects: understanding the reasoning behind a system before deciding how to use it. Instead of treating Unity as a collection of independent features, I focused on how individual systems interacted, where their limitations existed, and what compromises were appropriate for the project's goals. This resulted in solutions that were not only functional, but easier to maintain, extend, and troubleshoot over time.
Early progress

Facial tracking presented a unique technical challenge due to the limited hardware available during development. While implementing the required blendshapes for expression tracking, I was unable to fully validate the system on the target hardware myself. To compensate, I relied on documentation, community resources, iterative refinement, and feedback from external testers to verify both the implementation and the resulting facial deformations. Despite these constraints, the system achieved reliable and expressive tracking within the project's timeframe, demonstrating the importance of structured problem-solving and validation even when direct access to the complete development environment is unavailable.
Given the available resources and development schedule, the objective was not to achieve absolute perfection, but to deliver a robust implementation that met both technical and user expectations. This experience reinforced the value of iterative development, where feedback and real-world testing guide continued refinement after an initial release.