Friday, September 25, 2026

Simpleton v1.7.0 Released: Multiple Registrations in Deferred Reference & UniTask Integration!

I am excited to announce that Simpleton v1.7.0 is now officially available on the Unity Asset Store!


Simpleton is a lightweight, minimalistic Dependency Injection (DI) framework designed specifically for Unity game development. In this update, we are expanding the capabilities of `IDeferredReference<T>` by adding support for multiple instance registrations and broadcast notifications, as well as seamless asynchronous operations with UniTask integration.



πŸš€ What's New in v1.7.0


1. Multiple Registration & Broadcasting in IDeferredReference<T>

`IDeferredReference<T>` is designed to safely handle dependencies that are instantiated and destroyed at runtime (such as dynamic UI popups and spawned game views). In v1.7.0, multiple instances implementing the same interface can now be registered to a single deferred reference simultaneously.


By calling `ExecuteIfPresent(Action<T> action)`, Simpleton iterates and delivers the action to all currently registered instances in their registration order. If no instances are present, it safely skips execution without throwing exceptions or requiring explicit null/collection checks.


• Backward Compatible: The `.Value` property continues to return the most recently registered instance. When an instance is destroyed, `.Value` automatically reverts to the previous instance (or `null` if all are gone).

• Benefit: Perfect for broadcasting game state updates or notifications to multiple spawned views (e.g., world-space HUD indicators, minimap icons, status bars) without the sender needing to track how many views currently exist.



2. UniTask Integration (ExecuteIfPresentAsync)

For projects using UniTask, we have introduced the `DeferredReferenceUniTaskExtensions.ExecuteIfPresentAsync` extension method (available under the `FigCodeFactory.Simpleton.UniTask` assembly).


You can now trigger asynchronous tasks across all registered instances and await their collective completion via `UniTask.WhenAll` with a single line of code:


```csharp

await views.ExecuteIfPresentAsync(async view =>

{

    await view.PlaySpawnAnimationAsync();

});

```


If zero instances are registered, it returns an immediately completed `UniTask`. Simpleton automatically enables this extension when UniTask is installed via the Unity Package Manager (UPM).


• Benefit: Simplifies coordinating asynchronous UI transitions, cutscene triggers, and parallel visual effects across dynamically spawned GameObjects.



3. New Sample Scene & Updated AI Skills

• Sample 15 (15_DeferredReferenceMultipleRegistration): A new sample scene showcasing multiple time display views (SystemTimeDisplay and ElapsedTimeDisplay) dynamically toggled at runtime, receiving broadcast updates from a single presenter.

• Updated AI Skills: The built-in AI Skills (under `AI/Skills/`) have been updated to asset-version 1.7.0, complete with new scenario test coverage (S004) so AI coding assistants (like Claude and Gemini) can reliably adopt multi-registration patterns and UniTask workflows.

• User Guide: The User Guide PDF has been updated with detailed explanations, best practices, and code examples for multi-instance registration and UniTask usage.



πŸ“– Full Changelog


[1.7.0] - 2026-09

• Added multiple instance registration support to IDeferredReference<T>.

• Updated ExecuteIfPresent to broadcast actions to all registered instances in registration order.

• Maintained backward compatibility for IDeferredReference<T>.Value (returns the most recently registered instance and reverts to the previous one on unregistration).

• Added UniTask integration extension ExecuteIfPresentAsync for asynchronous broadcast operations.

• Added new sample scene: 15_DeferredReferenceMultipleRegistration.

• Added documentation for multiple registrations and UniTask integration to the User Guide PDF.

• Updated AI Skills to asset-version 1.7.0 with new benchmark scenario coverage.



πŸ”— Get Simpleton Today!


Update your project or get started with Simpleton today on the Unity Asset Store:


• Unity Asset Store: https://assetstore.unity.com/packages/tools/utilities/simpleton-326289

• Official Website: https://fig-code-factory.blogspot.com/


Thank you for using Simpleton! If you have any questions, suggestions, or feedback, please feel free to leave a review or reach out.

Friday, September 18, 2026

Simpleton v1.6.0 Released: Buffered Pub/Sub Messaging & Code-Based Deferred Reference Registration!

 I am excited to announce that Simpleton v1.6.0 is now officially available on the Unity Asset Store!


Simpleton is a lightweight, minimalistic Dependency Injection (DI) framework designed specifically for Unity game development. In this update, we are introducing buffered messaging support for late-subscribing components, as well as code-based registration APIs to make deferred references and unit testing even more flexible.



πŸš€ What's New in v1.6.0


1. Buffered Pub/Sub Messaging (Replay to Late Subscribers)

We have added buffered Pub/Sub interfaces (IBufferedMessagePublisher<T> / IBufferedMessageSubscriber<T> for Scoped, and IGlobalBufferedMessagePublisher<T> / IGlobalBufferedMessageSubscriber<T> for Global).


Unlike standard Pub/Sub, buffered messaging holds onto the latest published message and immediately delivers it to any subscriber as soon as they subscribe. It also provides a TryGetLatest(out T message) method for synchronous, non-destructive inspection.


• Benefit: Perfect for UI views, HUD elements, or late-spawned game objects that need the current game state (e.g., player score, HP, current game mode) the moment they initialize, without waiting for the next event to be fired. Check out the new 14_BufferedPubSub sample scene included in the package!



2. Code-Based Deferred Reference Registration

You can now register instances into IDeferredReference<T> directly from C# code using ServiceProvider.RegisterToDeferredReference<T>(). The registration returns an IDisposable token, allowing clean and automatic deregistration when the provider or object is disposed.


• Benefit: Greatly simplifies unit testing by making it trivial to inject mock/stub implementations into deferred references programmatically, as well as registering runtime-created objects without relying exclusively on attributes or Inspector references.



3. Updated AI Skills & User Guide

The built-in AI Skills (under AI/Skills/) have been updated to asset-version 1.6.0, allowing AI coding assistants (like Claude) to automatically leverage buffered messaging and new deferred reference APIs following best practices. In addition, a dedicated section explaining buffered Pub/Sub has been added to the User Guide PDF.



πŸ“– Full Changelog


[1.6.0] - 2026-09

• Added Buffered Pub/Sub interfaces and implementations (IBufferedMessagePublisher<T> / IBufferedMessageSubscriber<T> and global variants).

• Added TryGetLatest(out T message) to buffered message subscribers for immediate state inspection.

• Added ServiceProvider.RegisterToDeferredReference<T> for code-based deferred reference registration.

• Exposed SimpletonContainer.GetDefaultAutoRegisterGenericImplementationType as a static method.

• Added new sample scene: 14_BufferedPubSub.

• Added a dedicated Buffered Pub/Sub chapter to the User Guide PDF.

• Updated AI Skills to asset-version 1.6.0 with full scenario coverage.



πŸ”— Get Simpleton Today!


Update your project or get started with Simpleton today on the Unity Asset Store:


• Unity Asset Store: https://assetstore.unity.com/packages/tools/utilities/simpleton-326289

• Official Website: https://fig-code-factory.blogspot.com/


Thank you for using Simpleton! If you have any questions, suggestions, or feedback, please feel free to leave a review or reach out.

Thursday, September 3, 2026

Simpleton v1.5.0 & Selectable Scroll v1.6.0 Released: Now with AI Skills Support!

I'm happy to announce that both Simpleton v1.5.0 and Selectable Scroll v1.6.0 are now live on the Asset Store!


πŸš€ What's New


Both releases add AI Skills — structured documentation that lets AI coding assistants (like Claude) understand and use these assets correctly right out of the box. Just ask your AI assistant to set up dependency injection with Simpleton, or scroll navigation with Selectable Scroll, and it can follow each asset's own best practices automatically.


πŸ”— Get Them Today!


- Simpleton: https://assetstore.unity.com/packages/tools/utilities/simpleton-326289

- Selectable Scroll: https://assetstore.unity.com/packages/tools/gui/selectable-scroll-316544


Thanks for your support!

Friday, August 28, 2026

Selectable Scroll v1.5.0 Released

Selectable Scroll v1.5.0 has been released on the Unity Asset Store.

Asset Store Page:

https://assetstore.unity.com/packages/tools/gui/selectable-scroll-316544

Release Notes (v1.5.0)

  • Added elastic bounce-back to the SelectableScrollerTouchController's touch flick scrolling.

  • When MovementType is set to Elastic and a flick scrolls past the first or last element, the content now eases back to the clamped position over a configurable elasticDuration instead of staying stretched.

  • Added an overscrollDecelerationRate field so the bounce-back kicks in promptly even when decelerationRate is set very low, preventing the content from lingering stretched past the edge for an extended time before settling.

Friday, August 14, 2026

Simpleton v1.4.0 Released: Self-Contained Prefabs, Fast Enter Play Mode Support & More!

I am excited to announce that Simpleton v1.4.0 is now officially available on the Unity Asset Store!


Simpleton is a lightweight, minimalistic Dependency Injection (DI) framework designed for Unity game development. In this update, I’ve focused on improving usability, reducing boilerplate code, and ensuring full compatibility with the latest Unity features.



πŸš€ What’s New in v1.4.0


1. Self-Contained Prefabs (Zero-Setup Installer)

Creating reusable prefabs with DI is now easier than ever. When the Target Game Objects array on SimpletonInstaller is left empty, it will automatically target and inject into its own GameObject and attached components.

- Benefit: You can simply attach a SimpletonInstaller component to a prefab without any Inspector configuration required. It just works!


2. Safety & Convenience: ExecuteIfPresent Helper

I’ve introduced the ExecuteIfPresent(Action<T> action) method to streamline handling deferred references and optional dependencies.

- Benefit: Safely execute logic only when a service or reference is initialized, eliminating repetitive null check boilerplate code.


3. Full Fast Enter Play Mode Support (Unity 6.6+)

Starting with Unity 6.6, Fast Enter Play Mode (Domain Reloading disabled) is the default setting for new projects. To support instant Play mode transitions without state leaks, Simpleton v1.4.0 automatically resets static fields and reflection caches on SubsystemRegistration.

- Benefit: Seamless performance during Play mode testing with zero state persistence across sessions.



πŸ“– Full Changelog


[1.4.0] - 2026-08

• SimpletonInstaller now injects into its own GameObject when Target Game Objects is left empty. This makes it possible to create self-contained prefabs by simply attaching a SimpletonInstaller, with no inspector setup required.

• Added ExecuteIfPresent(Action<T> action) method to allow safe execution of logic only when a value is present, reducing null-check boilerplate.

• Added support for Fast Enter Play Mode (Domain Reloading disabled) by automatically resetting static fields and reflection caches on SubsystemRegistration.



πŸ”— Get Simpleton Today!


Update your project or get started with Simpleton today on the Unity Asset Store:


- Unity Asset Store: https://assetstore.unity.com/publishers/114203

- Official Website: https://fig-code-factory.blogspot.com/


Thank you for using Simpleton! If you have any feedback or questions, feel free to reach out or leave a review.

Wednesday, December 3, 2025

SelectableScroll v.1.4.0 Released

SelectableScroll v.1.4.0 is now available.
This update focuses on improving control over looping behavior when navigating grid-based UI, enabling more natural cursor movement at the edges of the grid.

Release Notes (1.4.0 – December 2025)

  • 1.4.0 - December 2025

    • Added a new function in the SelectableScroll grid to control looping at the first and last elements.

      • When GridWrapAround is enabled, it allows temporarily disconnecting and reconnecting the wrap-around connections.

      • This enables implementing behavior where the cursor can pause temporarily at the start or end of the grid.

    • Updated the Sample07_WrapAround demo scene to include an example demonstrating this new feature.

Overview

In some UI layouts, continuous looping can feel too fast or make it easy to overshoot selections.
With this update, you can give users a sense of reaching the “edge” of the grid while still preserving loop functionality, resulting in more intuitive and controlled navigation.

Closing Notes

If your UI relies on looping navigation, try out the new wrap-around control option.
SelectableScroll will continue to evolve to support smoother and more flexible UI development.

Monday, October 6, 2025

SelectableScroll v1.3.0 Released

 I’ve just released SelectableScroll v1.3.0!

This update addresses an issue where the scroll movement stopped working when Time.timeScale was set to zero.

Previously, the scroll animation during cursor movement relied on Time.deltaTime.
However, since deltaTime becomes zero when the game is paused (Time.timeScale = 0), the menu scrolling would freeze as well.

To fix this, I added a new GetDeltaTime() function that provides a customizable delta time value.
By default, it now uses Time.unscaledDeltaTime, allowing menu scrolling to remain smooth even when the game is paused or slowed down.

What's New

  • Added protected virtual float GetDeltaTime()

  • Default implementation returns Time.deltaTime

  • Can be overridden for custom timing behavior

Compatibility

This update introduces no breaking changes — existing projects using previous versions will continue to work as expected.

Wednesday, August 27, 2025

Simpleton: A DI Container for Unity – Now Available!

 

We are excited to announce the release of Simpleton, a lightweight dependency injection (DI) container for Unity!

Simpleton is a Unity-focused, simple and easy-to-use DI container.
It allows you to manage dependencies in an intuitive way.

For more details and a user guide, please check:
Simpleton User Guide (Zenn)

Friday, July 18, 2025

πŸ“’ Simpleton User Guide Now Available on Zenn

We’ve published the user guide for Simpleton, our lightweight dependency injection container for Unity, on Zenn!

This guide covers everything from the basics of registering and resolving dependencies, to more advanced features like Purpose-based implementation switching, Scope and Lifetime management, all with practical code examples.

If you're a Unity developer looking for a clean, intuitive DI solution, we invite you to take a look.

πŸ“˜ Read the full guide here:
πŸ‘‰ https://zenn.dev/fig_codefactory/books/795e0159157bbf

Your feedback and thoughts are very welcome!

Tuesday, May 27, 2025

Main Features of SelectableScroll

 I’ve written a new technical article (in Japanese) titled “Main Features of SelectableScroll”, introducing the core functionalities of my Unity UI tool for building efficient, keyboard-navigable scrollable lists.

Read it here πŸ‘‰ https://zenn.dev/articles/c885ebccab6f96

Even if you don’t read Japanese, the screenshots, animations, and code snippets might still give you a good overview of how the system works.

Saturday, May 24, 2025

SelectableScroll v1.2.0 Released

 I’m happy to announce the release of SelectableScroll v1.2.0, bringing new improvements to the wrap-around navigation experience for scrollable UI in Unity.


πŸ†• What’s New

Wrap-Around Control Enhancements

A new API has been added to temporarily disable and re-enable wrap-around connections at the edges of the list in WrapAround mode.

This enables more advanced input behavior, such as:

πŸ” Stopping at the edge first, then wrapping only after an additional directional input.

This kind of interaction is often seen in polished UI systems where users expect to pause at the boundary before looping around, enhancing precision and user experience.

Updated Demo Scene

The Sample05_WrapAround scene has been updated to demonstrate this new behavior in action, making it easy to understand how to implement it in your own project.


🎯 Why It Matters

Wrap-around navigation is a key feature for intuitive keyboard and gamepad input in scrollable lists, especially in console and PC games. With this update, SelectableScroll gives you fine-grained control over how and when wrap-around occurs—whether you want instant looping or a more deliberate, input-based behavior.


πŸ”— Get It on the Asset Store

You can find the latest version of SelectableScroll here:
πŸ‘‰ https://assetstore.unity.com/packages/tools/gui/selectable-scroll-316544


Thanks again for your support and feedback—more improvements are already in development, so stay tuned for future updates!

Sunday, May 18, 2025

My Unity Asset Only Sold 3 Copies During the Launch Sale — and Why I'm Still Glad I Released It

 

Introducing My First Unity Asset: SelectableScroll

Recently, I released my very first Unity asset on the Asset Store — SelectableScroll.
To celebrate the launch, I offered a 50% discount for the first two weeks, hoping it would encourage more people to give it a try.

The result? Just 3 sales.

It might sound a little underwhelming, but honestly, I see it as a great start for my very first release.

πŸ‘‰ SelectableScroll – Unity Asset Store


What is SelectableScroll?

SelectableScroll is a scroll list solution for Unity, specifically designed to support the Selectable component.

When creating UI that supports gamepads or keyboard navigation in Unity, proper use of Selectable becomes essential.
However, most scroll list implementations either don’t support this well or require significant manual adjustments.

SelectableScroll addresses this pain point and offers a practical, flexible solution that just works.

Key Features

  • Fully supports Unity’s built-in Selectable system

  • Designed for gamepad / keyboard navigation from the ground up

  • Efficient item reuse with object pooling

  • Supports vertical and horizontal scrolling, grids, nested scrolls, and multiple view types

  • Extendable for mobile and touch input support

GIF Preview


Why I Made It

I'm a professional Unity developer working mainly on game projects.
Over the years, I’ve often had to reimplement or extend scroll lists from scratch for each project.

This was especially painful when gamepad navigation was involved — most existing assets or libraries lacked sufficient support for Selectable, and I had to customize everything myself.

So I thought,
“Why not create my ideal scroll list once and for all — something reusable and robust?”
That’s how SelectableScroll came to life.


The Reality of “3 Sales”

As mentioned earlier, I set a 50% launch discount for the first two weeks.
Even with that, I only made 3 sales.

It’s tough out there.
Since I didn’t do much promotion, I was mostly relying on search and Asset Store visibility — so in a way, this result was expected.


Not “Only 3”, But “A Whole 3”

But here’s the thing — three people decided to buy an unknown asset from an unknown developer,
based only on a description and a live-coding-style demo video.

That’s actually amazing.
To those early supporters:
Thank you so much. I truly appreciate your trust.


And Then… One More Sale After the Sale

A few days after the launch discount ended, something unexpected happened:
Another sale came in — at full price.

That one really surprised me.
It encouraged me more than I expected and made me want to keep going.


What’s Next?

I plan to write more posts about SelectableScroll in the future, including:

  • Technical deep-dives (design decisions and internal tricks)

  • Sample project walkthroughs

  • Updates on sales and feedback

I’m also thinking about ways to improve the asset or expand its use cases,
so if you’re interested, please stay tuned for future updates!


Thanks so much for reading.
If you have any comments, thoughts, or feedback, feel free to share — it means a lot to me!


πŸ‘‡ For More Info

πŸ‘‰ SelectableScroll – Unity Asset Store

Monday, May 12, 2025

SelectableScroll v1.1.0 Released

I'm pleased to announce the release of SelectableScroll v1.1.0, a UI scrolling component for Unity with enhanced flexibility and control.

πŸ†• What’s New

  • Custom Scroll Interpolation Function
    It’s now possible to assign your own interpolation function to control how scrolling behaves. Whether you're aiming for a snappy UI or a smooth glide, you can now fine-tune the scroll motion to suit your needs.

  • Built-in Easing Functions
    A new shared class with commonly used easing functions has been added. These can be used not only with SelectableScroll, but also in your own UI animations or transitions, making development more consistent and efficient.

🎯 Why It Matters

SelectableScroll is designed to make keyboard and gamepad navigation seamless within scrollable UI lists—something that standard ScrollViews often struggle with. With this update, you get even more power to define how scrolling feels, making it ideal for polished UI in PC and console games.

πŸ”— Get It on the Asset Store

You can check out the asset and try the latest version here:
https://assetstore.unity.com/packages/tools/gui/selectable-scroll-316544

Thank you for your continued interest and feedback. More updates are in the works, so stay tuned!

Friday, April 25, 2025

SelectableScroller is Now Available on the Unity Asset Store!

 I'm excited to announce that SelectableScroller, which I developed, is now officially available on the Unity Asset Store!

SelectableScroller is a highly efficient and feature-rich scroll list solution for Unity.
It leverages the standard Selectable component, enabling lightweight object pooling and seamless navigation connection management.
It also supports touch controls and nested scrolling, making it extremely flexible.
Compared to other popular assets like EnhancedScroller, SelectableScroller achieves even better performance.

If you’ve ever struggled with building complex UI lists in Unity, I highly recommend giving it a try!

▶ SelectableScroller on the Asset Store



Please consider purchasing it if you're interested!
I would love to hear your feedback and impressions.

▶ I'll continue to share updates and development news about SelectableScroller and other projects right here on this blog, so be sure to visit regularly!


Friday, April 18, 2025

Introduction

 I provide scripts that simplify time-consuming tasks in game development. Easily integrated into your project, they help you focus on what matters. My user-friendly tools make development smoother and more efficient, supporting your creativity with minimal hassle.

About Me

I'm a game developer with over 10 years of experience using Unity and a professional background in the game industry. I've developed titles across a wide range of platforms, including PlayStation 1, PlayStation 2, mobile apps, and Nintendo Switch.

Even outside of work, I enjoy programming as a hobby and continue to explore the fun and creativity of game development on weekends. Fig Code Factory is a personal project where I create development tools and scripts inspired by my professional experience, aimed at simplifying repetitive tasks and boosting productivity for fellow developers.

I value clean, efficient solutions that reduce friction in development, so creators can focus more on their ideas and less on boilerplate.

Contact

 fig.code.factory@gmail.com


Please note that, since I am handling this individually, responses may take some time and could be delayed by a few days or until the weekend due to my work schedule. Additionally, I can understand Japanese, so if you feel more comfortable, feel free to ask your questions in Japanese for a smoother communication experience. Thank you for your understanding!


Sunday, April 13, 2025

Introducing SelectableScroll: Intuitive Scroll UI for Unity, Coming Soon!

 

πŸŽ‰ "SelectableScroll" – A Scroll UI Asset for Unity, Coming Soon to the Asset Store!

Hello, this is Fig Code Factory!
We’re excited to announce that our new UI asset for Unity, SelectableScroll, will soon be available on the Unity Asset Store!



🧩 What is SelectableScroll?

SelectableScroll is a Unity UI asset that allows you to easily create scrollable UI elements that are fully navigable via keyboard or gamepad. It is designed to work seamlessly with Unity’s built-in Selectable components.

Whether you're building list views, menu screens, or other selection-based interfaces, SelectableScroll is tailored for smooth, intuitive navigation—especially in controller-supported and PC games.



πŸ’‘ Key Features

  • ✅ Supports both vertical and horizontal scrolling (perfect for menus, sliders, and more)

  • ✅ Fully compatible with Unity’s Selectable system – integrates smoothly with other UI elements

  • ✅ Offers infinite scrolling, grid-based control, wrap-around navigation, and an intuitive, easy-to-configure setup

  • ✅ Includes multiple sample scenes and clean, easy-to-understand code for a smooth integration experience

  • ✅ Highly customizable – easily adapt it to fit your unique UI design



πŸ›  Why I Built This

The idea for SelectableScroll came from my own experience developing games with Unity.
I often found myself thinking:

“I need a list UI that works smoothly with a controller...”
“But using the default ScrollRect with Selectables just doesn’t give me the control I need…”

So I decided to build it myself.

After many rounds of trial and error, I finally arrived at a solution that feels just right—and I’m excited to share it with others who might have faced the same challenges.



πŸ›’ Release Information

SelectableScroll is currently in the final stages of preparation for submission to the Unity Asset Store.
Once it’s approved and available, I’ll be announcing it here on the blog—so stay tuned!



✨ Final Thoughts

SelectableScroll started as a personal project—something I truly wanted for my own UI needs.
I hope it can be a helpful tool for other developers who are looking for the same kind of solution!

Simpleton v1.7.0 Released: Multiple Registrations in Deferred Reference & UniTask Integration!

I am excited to announce that Simpleton v1.7.0 is now officially available on the Unity Asset Store! Simpleton is a lightweight, minimalisti...