Use case for Fusion / React etc

hello everyone,

i’ve heard a lot about stuff like Roact, Fusion, OnyxUI, etc…
heard that they’re used for making UIs. but is there a good use case for this? isn’t it just better to just make the UI right away and clone it if needed?

2 Likes

Personally I’ve never used them before, and probably won’t ever. I believe it’s a solution to a problem that I simply don’t have, or one that I can easily handle myself.

Fusion is also pre-1.0 software, it’s not recommended to use it in production currently.

Main arguments for using such frameworks are (I believe):

  • Declarative programming, where you describe what it looks like; though honestly I don’t see the point of this, if someone could chime in and explain the use case for this that’d be appreciated.
  • State driven updates, which lets the framework handle UI updates.
  • You can use git for version control/it’s better for working with teams.
1 Like

That just evil frontenders wanting to make our glorious Luau to get bloatwared :rage:
Never use them,just write code that you need “dynamic UI” can be handled completely through inserting instances you need inside “update” table or with new UI styling | Documentation - Roblox Creator Hub

1 Like

I don’t think UI styling entirely replaces frameworks, but it is a great feature as well.

You should only really use frameworks if it solves more problems that it creates.

They create more problems than they solve honestly and turning your code into a “TV remote” hello java :wave:. Updating UI theme can be done entirely using UI sheets now or just by using tables/tags and giving you more power than using glorified TV remotes hello python :snake:

1 Like

I get where you’re coming from, but I think you’re missing some pretty major benefits that these frameworks actually solve.

The “just clone it” approach works fine when you’re building simple, static UIs. But once you start dealing with complex state management, like having dozens of UI elements that need to update based on player data, game state, inventory changes, etc, manually tracking and updating everything becomes a nightmare.

Declarative programming is not about being fancy, it’s about reducing bugs. When you describe what the UI should look like based on the current state, you literally eliminate entire categories of errors. No more forgetting to update that one textlabel when the player’s gold changes, no more desynced UI states, no more “why is this button still enabled when it shouldn’t be?”

The performance argument doesn’t really hold water either. These frameworks are built by people who understand Roblox’s constraints. They’re not adding bloat for the sake of it, but solving real performance problems that come up when you’re manually managing complex UI hierarchies.

Sure, if you’re building a simple main menu or a basic shop ui, maybe you don’t need a framework. But once you’re dealing with dynamic inventory systems, real time game state displays, or any UI that needs to respond to multiple data sources at the same time, these tools start paying for themselves pretty quickly.

The “TV remote” comparison is kinda unfair too. Good frameworks actually give you more control, not less. You just express that control at a higher level instead of getting bogged down in the tedious manual updates.

At the end of the day, use what you are most comfortable with, but don’t hate on the other one just because you don’t use it.

@officialnabalt: Answering your question, I think both Roact and Fusion are great choices, you should try them out and see what you think afterwards. If you find it’s too much overhead for your UI needs, you’re not required to use it.

4 Likes

Fusion is for UI animation. Its a lot better than using the normie method of using tweens. You can tell basically by looking at the docs but also by actually using it.

Never used the others also react does not exist on roblox. Its Roact. React is for node.

1 Like

Since when having ultra wide arsenal and 100% freedom of codding is a “normie technique”?You can’t just call people who care about optimization “normies”

Once you use Fusion you will prefer fusion for UI animation. Also it was a joke.

All of that can be done by just knowing Ui api of roblox, its not an issue to came up with lightweight framework for all of your needs in a project instead of having to insert massive bloatwared code base and having to use only 5% of it at best.
This wave of developers who are lazy(uneducated) to make own code is insane and i don’t like it at all, its hard to call them developers at this point if they are using premade BLOATWARED code.

1 Like

I tried using fusion once and it was hell to work with

it’s unnecessarily complex but more importantly, impossible to get used to

I’m never using any library like that in a million years ever again

2 Likes

Its literally not even complex.

Here’s a pre-made example. This should be the correct files. It is a customisation of an old gui that some guy made which I redesigned a little. The frame structure is theirs and most of the code is theirs originally.

inv.rbxm (61.7 KB)
invitem.rbxm (16.5 KB)

Calling developers “lazy” or “uneducated” for using premade frameworks is pretty harsh, don’t you think? By that logic, are C++ developers lazy for not writing in assembly? Are web developers uneducated for using libraries instead of implementing HTTP from scratch? Sure, you can build your own lightweight framework, and if that works for your specific use case, great. But here’s the reality: most of us aren’t building frameworks, we’re building games. There’s a difference between understanding the underlying APIs (which you should) and reinventing solutions that have already been battle-tested by thousands of developers. I don’t understand how “only using 5% of the codebase” is an argument in your eyes. That’s like saying you shouldn’t use a car because you’re only using the engine, wheels, and steering, you’re not manually crafting every bolt and screw. Even though you’ve convinced yourself that everything is bloated, maybe you shouldn’t go around DevForum trying to get everyone to switch off frameworks just because it didn’t work out for you, or maybe you just didn’t fully grasp what these tools are actually designed to solve.

Edit: I’m done arguing, it’s clear you can’t grasp what these libraries are made for. This is like arguing with someone who thinks using a screwdriver is for lazy people because “real builders use their fingernails.”

1 Like

C and C++ does have one if not the best compilers known to man, if following strict principles their assembly will be the same as if writing in assembly dirrectly so your analogy crumbles apart.Yes web developers are kinda lazy infact because they are the ones who use such libraries most of the time and the only thing who i would justify use of such libraries would be UI Designers only because they are making prototypes and they are not even programmers most of the time.
Im a developer and not a cash grab dev, we are not the same.Good quality product or game would never use such frameworks unless very specific usecases where 90% or so of it is used rest are just either corporate slop or a cash grab.

React-lua does exist.

I put quality in my game and in fact I use many different frameworks for emersion. I use sound3d by boat bomber for the sound design of player footsteps and other sounds in the environment.

I use other systems too like ByteNet Max for my networking and Simple path for my path finding sometimes, I even use WindShake for the environment to look alive.

Does this make my game slop or a cash grab?

What is a sound3d?That sounds like some implementation of volumetric sound but roblox has already done that…
Networking libraries won’t help at all its fault at a design of game itself…
Data is already sierialized and desiarilized by roblox on both ends…
No it doesn’t make your game not slop nor cash grab but it stays kinda low effort unless you forked this modules to perfectly fit your game.

Topic was about fusion/roact :point_up: not other libraries.

They have no uses, they just create more problems than they solve

If you have that, that means you’re doing something seriously wrong

Also, CollectionService & Attributes can do just that
If you know how to code and how to makes UIs none of these are actually issues

This:

2 Likes

I am not entirely sure why you are saying ways to do the same thing, i never said it’s not possible (or atleast i don’t remember), please quote me wherever i said that if i am wrong though. But the use of the mentioned ui libraries make all of these a lot easier. If you think otherwise that just clearly shows that you haven’t actually used either of them or gave up after the first try, once again: do not reply to me again, i do not wish to argue with anyone that cannot state proper points as to why his argument is valid. Thanks.

I do think these UI Frameworks have their uses, though they only really benefit you if you use git/version control, work in a team, and also have complex UIs that can actually benefit from state updates and other features.

But if you don’t fall under those conditions, don’t feel pressured to use the “right thing” because the big guys are using it.

If you have the time and feel that these frameworks can benefit you, then great! If not, you shouldn’t use it and just stick to prefabricated UIs.

1 Like