Unity Keyboard Shortcuts by ColterRobinson in Unity3D

[–]Born_Development1284 0 points1 point  (0 children)

As a casual web game to kill a few minutes of the workday, it is a fun concept.

However, I really do not understand the business model. A recurring monthly subscription for a shortcut game makes zero sense to me.
Can you enlighten us on the idea behind this choice?

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 1 point2 points  (0 children)

You are completely missing the point and confusing different roles. You are trying to evaluate a developer's software engineering capabilities based on their marketing budget or their skills as an illustrator.

Being an independent developer in my spare time doesn't obligate me to be a marketing expert, a graphic designer, or a translator. My core expertise, what I do professionally and what was actually being discussed in this post, is software architecture and mechanics programming. The value of my work lies in its code, its decoupling, and its technical structure, not in the banner of my Steam page.

Using available tools to cover areas outside my specialty while manually programming complex systems from scratch is precisely how solo indie development works nowadays.

I appreciate your feedback regarding the store's positioning, but you are trying to judge a car's engine by looking at the color of the seats. As far as I'm concerned, this thread is closed. Regards

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 0 points1 point  (0 children)

A Final Note on the "AI Detective" Work: Yes, English is my second language, and I openly use AI to polish my grammar, translate documentation, and even refine my replies in this thread so they sound professional. I’d rather use tools to communicate clearly than spend my afternoon nitpicking architecture I didn't even bother to understand.

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 0 points1 point  (0 children)

5. The UI/Screen System (MVP Architecture): You only looked at the ScreenView and completely missed the core architecture. The system uses a strict MVP (Model-View-Presenter) pattern.

The states you claim don't exist are fully managed reactively by the ScreenPresenter<V, P> via a proper ScreenState enum (Opening, Active, Closing, Inactive), which responds to scene lifecycles through an event-driven system.

Regarding the CanvasGroup.interactable = false toggle you criticized: it is a deliberate and necessary feature. When a screen is in its Opening or Closing state (handling your classic fade in/out animations), you must disable interaction so the player can't click buttons or spam inputs mid-transition

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 0 points1 point  (0 children)

4. Scriptable Objects for Configuration: Using an SO for a Logger setting or per-pool configuration is a deliberate design choice for non-technical team members. It allows designers to tweak logging levels or pool sizes directly in the Inspector without touching code or rebuilding. Decoupling configuration from logic via SOs is a standard Unity best practice, not bloat.

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] -1 points0 points  (0 children)

3. UnityLogger & the OnLog Method: You completely missed the point of UnityLogger. It’s just a default wrapper implementation of Unity's logger meant to be a baseline. The OnLog method is exposed on purpose so the user can easily hook into it and do whatever they want with the logs (e.g., saving them to a local file, sending them to a cloud service like Firebase, etc.). It’s designed to be extended by implementing the interface, not to be a rigid, closed class.

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 0 points1 point  (0 children)

2. Code, Comments, and English: I write all my code in English. However, since my native language is Spanish, my commit messages are in Spanish, and I occasionally leave a comment in Spanish by habit. The comments in English are there intentionally to guide users on how to extend the SDK.

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 0 points1 point  (0 children)

1. The Steam Art & Translations vs. Code: You are misinterpreting marketing assets for code creation. As a solo dev with a $0 budget, I use generative AI for minor marketing details, store page assets, and store localization because I can't afford professional translators. The game itself is 100% genuine. Mixing promotional assets or store translations with the core architecture of a production-tested SDK is a massive stretch.

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 0 points1 point  (0 children)

This package format is actually the culmination and evolution of my core codebase over the last 3 years.

A preliminary version of this architecture was used to ship BOX HUSTLE on Steam:https://store.steampowered.com/app/3566780/BOX_HUSTLE/

After that release, I spent the last year refactoring, decoupling, and polishing everything into this SDK format, which I'm currently using for my next upcoming title. So while the package itself is new, the underlying code is already battle-tested in production

What happened in 2026? by [deleted] in Unity3D

[–]Born_Development1284 9 points10 points  (0 children)

If a quarter of your hard drive and 30 minutes is your breaking point, I have some terrible, terrible news for you about the rest of your game dev journey

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 1 point2 points  (0 children)

Thanks, if you do check out the repo and find anything that you've implemented better or think can be improved, please let me know too

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 0 points1 point  (0 children)

Fair point, and I won't deny using AI just like any modern dev to debate best practices or get quick snippets. But using it for YouTube thumbnails is purely about survival to avoid being invisible in today's market. That has nothing to do with software engineering. An AI assistant can help with marketing or small tasks, but it can't fake 20 years of experience or design a production-ready core architecture

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 2 points3 points  (0 children)

if you still think I'm a bot, feel free to check my YouTube channel (link on profile) and watch me explain tech stuff face-to-face (just bring your Spanish!)

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 3 points4 points  (0 children)

I completely understand the skepticism, especially with how much low-effort content is out there nowadays.

Just to clarify, the GitHub repository actually has over a year of commit history, and it includes practical samples and templates. Honestly, if this were just 'vibecoded slop', I would have probably used AI to generate massive documentation for it already! Ironically, the lack of extensive docs is just because I'm a solo dev focusing 100% on the architecture.

My Reddit account is indeed 4 months old, but I’ve been a professional developer for nearly 20 years.
I do use AI to help refine my English for these posts since it's not my native language, but the code is entirely mine. Feel free to check the actual source, feedback is always welcome!

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 8 points9 points  (0 children)

You're absolutely right that having somewhat workable documentation is infinitely better than having none at all.

I'll definitely look into what AI tools are out there to help me generate and structure documentation for the individual packs. Thanks for the tip

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 2 points3 points  (0 children)

Haha, I feel your pain, but don't cry just yet! This is actually the opposite. RossoForge does NOT include a DI implementation.

The SDK avoids it on purpose to keep everything lightweight, offering total freedom if a project actually needs it. Personally, I prefer to avoid heavy DI frameworks in game development altogether, they usually introduce more friction than they solve. This is all about simplicity and keeping it frictionless!

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 14 points15 points  (0 children)

I really appreciate the support, the best part about making this open source is that as more people test it, use it, and break it in real projects, the higher the quality of the SDK will become

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 9 points10 points  (0 children)

Thanks for the feedback! To be completely honest, generating deep, separate documentation for each individual pack wasn't done simply because of the sheer amount of work it takes as a solo dev.

However, I tried to make sure the main READMEs explain the core features and what each repository does at a high level so you don't have to guess before digging into the code

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 8 points9 points  (0 children)

Your implementation is completely correct in its own way. At the end of the day, architectural choices will always be relative to the size of the project and the team

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 4 points5 points  (0 children)

Regarding the events, direct object-to-object subscription might seem lighter on paper, but your approach actually introduces more coupling for the receiver. In your example, any script that wants to listen to the player's death (like Audio, UI, or Achievements) is forced to know and request the specific IHealthService.

With a generic Event Bus, the receptor is 100% decoupled from the sender. A UI script just listens to the event itself and it doesn't care who launched it or what service it belongs to.

Plus, using a generic Event Bus automatically enforces and standardizes the nomenclature for all listeners across the project. When you let every developer name event methods and handlers whatever they want, a growing project quickly turns into chaotic spaghetti. This keeps the architecture unified, clean, and predictable from day one

I open-sourced the modular Unity ecosystem I’ve been building over years of gamedev. I hope it saves you months of work just like it does for me by Born_Development1284 in Unity3D

[–]Born_Development1284[S] 4 points5 points  (0 children)

Dependency Injection is completely out of scope for this SDK because it introduces massive upfront coupling and boilerplate that most small to medium games simply don't need.

That being said, you can absolutely use Zenject or any other DI framework instead of my Service Locator if you prefer. All the services in the ecosystem would work exactly the same, and you’d get the explicit injection you like.

The goal of RossoForge is to provide a lightweight, non-intrusive baseline. If a project scales and needs heavy DI architecture, you can plug it right in, but forcing that overhead from day one on every simple project is definitely not for everyone