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.

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...