• Games
  • Industry
  • Resources
  • Community
  • Learning
  • Support
  • Pricing
Develop
Unity Engine
Build 2D and 3D games for any platform
Collaboration
Collaborate and iterate quickly with your team
Download Unity
Plans and pricing
Deploy
Multiplatform
Discover 25+ platforms Unity supports
LiveOps
Post-launch insights and live game ops
Grow
User acquisition
Get discovered and acquire mobile users
In-App Purchase
Discover and manage IAP across stores
Monetization
Connect players with the right games
Advertise with Unity
Monetize with Unity
Use cases
Mobile Games
Build & grow mobile hits with Unity
Indie Games
Ship big games with small teams
XR Games
Launch XR games across platforms
Multiplayer Games
Simplify multiplayer game development
Use cases
3D collaboration
Build and review 3D projects in real time
Immersive training
Train in immersive environments
Customer experiences
Create interactive 3D experiences
Industries
Manufacturing
Achieve operational excellence
Retail
Transform in-store experiences into online ones
Automotive
Boost innovation and in-car experiences
See all industries
Technical library
Documentation
Official user manuals and API references
Developer tools
Release versions and issue tracker
Roadmap
Review upcoming features
Glossary
Library of technical terms
Insights
Case studies
Real-world success stories
Best practice guides
Expert tips and tricks
Demos
Demos, samples, and building blocks
All resources
What's new
Blog
Updates, information, and technical tips
News
News, stories, and press center
Community Hub
Discussions
Discuss, problem-solve, and connect
Events
Global and local events
Community stories
Made with Unity
Showcasing Unity creators
Livestreams
Join devs, creators, and insiders
Unity Awards
Celebrating Unity creators worldwide
For every level
Unity Learn
Master Unity skills for free
Professional training
Level up your team with Unity trainers
New to Unity
Getting started
Kickstart your learning
Unity Essential Pathways
New to Unity? Start your journey
How-to Guides
Actionable tips and best practices
Education
For students
Kickstart your career
For educators
Supercharge your teaching
Education Grant License
Bring Unity’s power to your institution
Certifications
Prove your Unity mastery
Support options
Get help
Helping you succeed with Unity
Success plans
Reach your goals faster with expert support
FAQ
Answers to common questions
Contact us
Connect with our team
Download Unity
Get started
Language
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Social
Currency
Purchase
  • Products
  • Unity Ads
  • Unity Asset Store
  • Resellers
Education
  • Students
  • Educators
  • Institutions
  • Certification
  • Learn
  • Skills Development Program
Download
  • Unity Hub
  • Download Archive
  • Beta Program
Unity Labs
  • Labs
  • Publications
Resources
  • Learn platform
  • Community
  • Documentation
  • Unity QA
  • FAQ
  • Services Status
  • Case Studies
  • Made with Unity
Unity
  • Our Company
  • Newsletter
  • Blog
  • Events
  • Careers
  • Help
  • Press
  • Partners
  • Investors
  • Affiliates
  • Security
  • Social Impact
  • Inclusion & Diversity
  • Contact us
Copyright © 2025 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell or Share My Personal Information

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Balancing animation fluidity with player inputs in Bye Sweet Carole

Fergus Baird
FERGUS BAIRD / UNITY TECHNOLOGIESSenior Content Marketing Manager
Oct 9, 2025|6:45 Min
Key art from Bye Sweet Carole by Little Sewing Machine and Dreams Uncorporated | Made with Unity. Illustration of a young woman looking up fearfully at a red-eyed, mustachioed figure with long fingers who wears a tophat. Branches curl around the image.

Bye Sweet Carole (launching today) combines classic animated princess aesthetics with horror and the macabre, all brought to life using traditional animation techniques. We interviewed Chris Darill, writer and director at Little Sewing Machine and creator of the Remothered series, and lead programmer Alvaro Martinez from Dreams Uncorporated, to learn about the techniques and challenges of making hand-drawn graphics for a real-time environment in Unity.

Chris Darill describes Bye Sweet Carole as a tribute to the animated films he grew up with in the 1990s (as well as their infamously difficult spinoff games). “I’m a faithful supporter of traditional animation,” he says. “Bye Sweet Carole is difficult to define because each chapter is different, but it’s like a mix of old school classic horror games like Clock Tower and animated point-and-click games like Dragon’s Lair and The Secret of Monkey Island.”

This ambitious title features a huge number of traditionally animated assets and visuals, each hand-drawn by a team of 11 professional artists. Lead programmer Alvaro Martinez estimates that around 95% of the art assets in the final game are hand-drawn, with the remaining 5% produced by shaders and post-processing effects.

“Nearly everything in Bye Sweet Carole is in real-time, too. It’s pretty rare to find a game in this style with this many frames,” adds Chris. “It might be one of the most complicated games to animate in history!”

This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.

Identifying the challenge

Creating a game in this visual style relies on detailed frames and smooth transitions. However, early tests revealed a significant disconnect between graphics and gameplay. While the animations for different actions looked great, the corresponding inputs didn’t feel natural, resulting in a sluggish and unresponsive experience. Balancing visual fluidity with input responsiveness quickly became a key challenge for the team to solve.

Bye Sweet Carole features a few different playable characters at different points in the game. In terms of animations, the main protagonist, Lana Benton (who can turn into a rabbit), is the most complicated, with a full suite of actions and animations both for her human and rabbit forms. The problem was blending all of these different animations these smoothly during transitions between different movements.

“We’re doing animations alternating between 15 and 24 fps, so if you just abruptly transition from one animation to another, it looks really bad,” says Chris. “At the same time, when we used really long animation blends, our gameplay just didn’t feel responsive.”

Screenshot from Bye Sweet Carole by Little Sewing Machine and Dreams Uncorporated | Made with Unity. A young woman rests precariously on a log jutting out from a misty swamp. She is being swarmed by bats and looks afraid.
Bye Sweet Carole | Little Sewing Machine | Dreams Uncorporated | Maximum Entertainment

Enter the matrix frame

For a game that combines tense platforming and hide-and-seek mechanics – where one wrong move can mean game over – this perceived lag was unacceptable. The team’s creative solution was to develop a system around what they call “the matrix frame.” They began by adapting Lana’s walk and run cycles to include a few similar-looking frames that could act as a bridge between movements. Within these cycles, they designate a specific frame (the matrix frame) that can serve as a universal starting point for other actions.

Under this new system, if the player hits the jump input while Lana is running, the game doesn’t wait for the run cycle to complete. Instead, it jumps to the nearest matrix frame, initiating the jump action from that specific point. This allows the animation to “originate” from a clean, predictable position, drastically reducing perceived input lag for the player. This technique allows for the kinds of abrupt, responsive actions players might need to make in a horror game, without compromising on the visual style.

Screenshot from Bye Sweet Carole by Little Sewing Machine and Dreams Uncorporated | Made with Unity. A young woman animated in traditional style hangs precariously in a root-filled shaft, clutching onto a vine.
Bye Sweet Carole | Little Sewing Machine | Dreams Uncorporated | Maximum Entertainment

Scoping out production

Bye Sweet Carole’s unwavering commitment to traditional animation meant the team needed to establish a rigorous, frame-by-frame workflow for asset creation. Chris outlined how a character animation typically comes together:

• Roughs/storyboards: Initial sketches to define the action

• Cleanup and tweening: Refining keyframes and adding frames for smoothness

• Coloring: Applying the final color palette

• Exportation: Preparing the files to be imported into the Unity Editor

Asset exportation proved to be the biggest hurdle. For cutscenes with a fixed camera, the process was straightforward, but the game’s many dynamic character animations proved more complicated. Each frame had to be exported with a central pivot point to ensure the character moved correctly within the gameworld. This was a meticulous process, especially for larger playable characters like Mr. Baese who had to be cut into pieces and reassembled around the pivot point in-Editor.

Concept art from Bye Sweet Carole by Little Sewing Machine and Dreams Uncorporated | Made with Unity. Line drawings and silhouettes of a tall figure clad in a long coat with a tophat.
Animation concepts for Mr. Kyn, the main antagonist of Bye Sweet Carole

Tackling performance and optimization

Bye Sweet Carole is launching simultaneously on desktop and consoles. Achieving a 60 fps target on most platforms with extremely high-resolution assets required disciplined optimization. Alonzo outlined some key techniques:

Leveraging Sprite Atlases: Sprites are organized and packed into atlases based on function. For example, each of Lana’s walking animations have their own atlas. (Alvaro notes that this is standard practice, but was critical for managing memory and ensuring fast rendering with Unity’s 2D Renderer).

Aggressive profiling: Memory overflow was a common problem. Deep profiling helped identify and fix CPU/GPU bottlenecks and memory leaks.

Asset compression and streaming: Each Sprite Atlas’s compression algorithm and format is carefully considered. Sound assets are loaded and unloaded as needed using asset streaming to minimize their memory footprint.

Screenshot of a sprite sheet from Bye Sweet Carole by Little Sewing Machine and Dreams Uncorporated. A grey and black chess board pattern overlaid with a female character's head and shoulders in different poses.
One of Lana's many sprite sheets in-Editor

Paying homage to the classics

By balancing technique and creativity with rigorous technical optimization, Little Sewing Machine and Dreams Uncorporated successfully executed on Chris Darill’s vision, blending the nostalgia of classical animation with the snappy and responsive gameplay players expect today.

“I’m really lucky to have been able to work with such talented professionals,” says Chris. “At the beginning, I wasn’t sure this crazy idea would work, but I’m really proud of everyone involved and what we’ve made.”

Bye Sweet Carole is out now on desktop and consoles. Explore more Made with Unity projects on our official Steam Curator page. Read more stories from developers on the Unity Blog and Resource Hub.