Iris - Immediate Mode UI library, based on Dear ImGui

oh yeah i thought you said 7 oops

Hey can you please add the docs and github releases to the main page? It was hard to find in the comments

1 Like

This bug shows up constantly whenever I re-open Studio.

I made Iris support plugins and it was working great until I had to reopen the place. Suddenly, I’m blasted with these errors and the only way to fix it was to reinstall my plugin every time.

Error:

Happening:
4YSAoAeZmo

How it should look like:
RobloxStudioBeta_jPDPnq1TAS

I recommend trying out jammees fork, I’ve been using it and have seen no issues like this.

4 Likes

So, I started using this and, I learned quite a lot about it.
Anyways, for some reason Iris works perfectly fine in studio and when I join to test it in an actual game it just gives me an error, “unrecoverable state”
Does anyone have a fix for this?

when i click on a button the winow apear and disapear

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Iris = require(ReplicatedStorage.Modules.Iris).Init()


Iris:Connect(function()
	Iris.Window({"MyWindow"})
	
	local ServerButton = Iris.Button("Server")
	if ServerButton.clicked() then
		Iris.Window({"Server"})
		Iris.End()
	end
	Iris.End()
end)

That’s what your code is saying. The code is run every frame, so every frame it checks whether the button is clicked, and if it is, then it shows a window. You should get the button click to toggle the window open and closed using an outside variable. Please read through the examples and documentation to understand how it works.

Thanks i did it

1 Like

yo bro i’ll keep it a buck u gotta tell me how to download this and import it as an rbxm??

You’d have to build it through rojo but I’ll share the build I did
PluginIris.rbxm (105.7 KB)

3 Likes

thx for the quick response man <3

1 Like

yo lowkey can u send me an example of how u can make it work with widgets? i tried doing it it’s not showing anything on the widget

https://github.com/jammees/Iris-plugin/blob/main/example/plugin/Runner.client.lua you can find an example here

1 Like

does this happen to u by chance?

Each frame i just set the windows size to the size of the widget
image

how do you disable the window?

you can put isOpened in the window states table and have it be a iris state that can be toggled by things like checkboxes

local WindowOpened = Iris.State(false)

Iris.Checkbox({"Open Window"}, {isChecked = WindowOpened})
	
Iris.Window(
	{"windowName"},
	{isOpened = WindowOpened }
)

or just stop the code making the window by wrapping it in a if statment or return (works since Iris code runs every frame)

if CloseWindow == true then 
   return 
end

Iris.Window(
	{"windowName"}
)

by chance could you tell me how to increase the height of an input text box?
image

This is not currently an option. Changing the config options would change all the widgets. I’ll create a feature request for it.

1 Like

can u also suggest a multi line feature? thx

1 Like