Iris - Immediate Mode UI library, based on Dear ImGui

not really a critical issue, but feels wrong and annoying that “Connect” function doesn’t show properly with “module-like” type of functions
image

2 Likes

This is an actual mistake on my behalf. Thanks for flagging this.

3 Likes

This is so good for admin panels and debugging UI

i would like to set a keybind using the ui library but i dont know how
i tried InputEnum but the documentation is outdated and dont explain how it works

Could you explain a bit more? I can’t understand what you mean? What part of Iris are you having issues with? Is this to do with a specific or custom widget? Do you mean as a global keybind? What does the keybind do? Thanks.

So I have this text input that when it changes it prints the text but it doesn’t stop, it prints it forever. Would be great if you could help me, docs don’t they’re kinda outdated. :slightly_smiling_face:

My code V
image

local TextValue = Iris.State("")

if Iris.InputText({"Input Text"}, {text = TextValue}).textChanged then
	if TextValue:get() ~= "" then
     	print(TextValue:get()
	end
end	

Output V
Screenshot 2024-01-21 160121

1 Like

.textChanged is actually a function. It should be .textChanged(). I though we changed this all on the docs. Could you link me to where you found this? Thanks

1 Like

Yea i didn’t see, sorry for the inconvenience !

2 Likes

Hi, I’m using Iris to debug a vehicle system. I’m a bit of a noob to this still, how do I get Iris to “destroy” itself when I get out of the vehicle?

Currently what I’m doing is:

local function onPlayerSeated()
   -- vehicle code here 
   Iris:Connect(function()
      -- stuff here
   end)
end

But I’m not sure how to get the windows to reinitialize with a different vehicle. For context, I have that in a Script with Client context inside the vehicle. I get the error:
image
Which I understand, but I’m more asking if the kind of structure I’m going for is a problem?

(sorry for the multiple edits, I keep accidentally pressing tab and hitting the “Save Edit” button)

Once you connect, you can’t generally disconnect it. Ideally you would define the Connect outside, and just create a variable which is updated when you enter and leave a seat and use that in the Connect to show the window or not.

1 Like

Gotcha. Thanks for the immediate response!

1 Like

I really love this library but I’m running into an issue where whenever a player dies the UI starts erroring infinitely and will never reopen. Id appreciate any help.

Can you teach me hwo to make that kind of admin panel/is it free/open source?

I’ve never heard of immediate mode until I’ve seen this resource. It is a pretty nice way to make UI libraries work, and it makes them easy to use! Retained mode libraries get messy to use, and making one could be even messier.

Iris inspired me to make my own immediate mode UI library! Not for debugging, but for a loading screen. I’ll probably separate the loading screen part and just release the immediate mode part. It could be used for a variety of things, like a plugin UI library! :thinking:

5 Likes

Who ever can make a admin panel like that ill pay them robux. Message me for more info or reply to me in this forum

is there an option to set a position at a certain scaled position?

is the problem resolved? i had a similar problem with react lua, and just using a localscript instead of runcontext script solved the problem for me.

I’m not sure what you mean? The problem was that this wasn’t the intended way to use Iris. The example code should give you some more information.

my bad, i had a similar problem by using runcontext instead of a normal localscript

2 Likes

Update v2.2.0

Description

This update changes many of the internals of Iris, allowing Iris to be more generalizable.
Notably, Iris is now able to be fully used in Plugins and Stories.

New Widgets

  • Iris.ProgressBar

Library Changes

  • New Shutdown function (Iris.Shutdown)

Internal Changes

  • Reorganised file layout and function locations, the library is now inside of /lib
  • now two seperate rojo project files for dev and use as a library
  • Stylua annotations
  • Improved event connections with dedicated wrapper functions
  • Removed window size check.

Important PRs

7 Likes