InstantGUI allows to create interface system for the game with maximum convenience and as fast as prototyping it!
GUI creation is done with no scripting. Now an artist or game designer can create interface the way they like. Of course there a script interactions with GUI which are done with events (messaging) and direct get/set element parameters.
No special additional cameras, scene planes, gizmos and helpers. InstantGUI forms a simple and logical hierarchy of elements – and only elements – under one root object.
All the work is done directly in a Game view. No need to place elements in a Scene view looking at result in a Game view – like in other GUI plugins. Game view is your only canvas!
What You See Is What You Get: your in-game interface will look and act directly as you see it in on your canvas.
InstantGUI comes with demo GUI themes that has graphics for all basic interface elements. Feel free to use theme for demo purposes, prototyping or in a final product.
You can download evaluation version to to get an idea of what is it. Evaluation version has the following limitations:
it cannot be used in a final product. If you like InstantGUI please consider purchasing it. )
it does not support your own style creation. Evaluation version visual appearance is limited to “Glow” style only.
The first thing I thought when I saw the new gui thread was “oh no, not another GUI system” but after watching your video I can see that this is the way I want to create my UI. You kind of read my mind
Now I’m thinking if I could use this for complex UI. My UI is very dynamic. The UI I’m trying to create will change depend on the weapon + the type of missile that is in that weapon. For example: I might have a missile that is a simple fire and forget, or one that has detonation timer on it. The ui would display different options.
Do you think your system will work with this sort of thing?
It’s all the matter of enabling and disabling game objects with UI. You should have prepared controls for different rockets - GUI element for detonator rocket, GUI element for fire and forget rocket, etc. If a rocket with detonation timer is equipped than a detonator GUI element should be enabled.
You can make a script that watches equipped weapon and enables and disables GUI elements, or you can enable or disable elements on equipping.
You can try the demo to find out if such a system suits you.
Devision4, to create a style set right-click on a folder where style set should be placed, select Create → InstantGui style set. Like any other asset, actually )
TokyoDan, I’ve made a separate link for evaluation version in first post. Sometimes in-text links are not highlighted, don’t know why.
I’m pleased to report that new version 1.04 is now on asset store. It brings minor bug fixes and more stable work. Thanks Christopher Lambert and Michael Bocs for finding out bugsl
Thanks for an excellent plugin! Just got it yesterday and I’m really happy with it. It is really easy to use and you can get menus/huds up and running very fast.
The only thing that could make it even faster for prototyping would be if there was a psd template included with the basic components sliced and named ready to draw and export. Might just create one myself
It looks really nice, I’m only concert about the transitions between screens.
If it works just enable/disable windows, there’s time for an animation between them before turning off?
I have not thought about smooth enabling and disabling elements. Right now they appear and disappear instantly. But this should not be hard to implement, and most probably I’ll do it in next version.
Hi, It looks fantastic! I’ve one question. Is it possible to make a tutorial of how to add the behaviors to de buttons, sliders etc? It would be awesome to see the complete workflow for a basic action. And it will help people to choose this gui interface!
Cheers!
(edit)
I’ve downloaded the evaluation version and reports this error.
Assets/InstantGuiEvaluation.zip Folder/Scripts/InstantGuiFrame.cs(48,22): error CS0117: UnityEditor.Undo' does not contain a definition for RecordObject’
am i doing something wrong? i simply drop the folder into assets. If i move it to the plugins folder it reports more errors!
Danirey, what is you Unity version? InstantGUI requires 4.3.1 or higher.
Special settings for elements are simple and intuitive, so I thought that they do not require separate tutorials. But but of course on my side everything cannot be in sight. I’ll think about series of short tutorials, each will be dedicated to on of the elements.
Hey Denis, I am coming across a functional error when using the popup menu element. When trying to use it with the scroll bar, hitting the scroll bar instantly closes the popup. I can’t select anything! I edited some code in the InstantGUIPopup.cs line 41 (set false to true), and it keeps it open now but won’t close it once I make a selection. Could you please take a look for me and let me know what might be causing this issue. Thanks!
I’m having a blast prototyping with your InstantGUI just can’t figure out why it won’t scroll my long drop down Other than that it is totally awesome and worth every penny.
Awesome! Thank you so much! InstantGUI really is easy to use and fast, so for that, I thank you.
I would also be interested in a little tutorial or something that shows how to send and receive events from the GUI, like on the popup, if I select one of the options, how do I tell my game/app to do something? I know the button has an event message built in which is awesome, but I am kind of an amateur.
Thanks for your quick help on my issue! Looking forward to your updates.
There are two ways to get element parameter changes: the first one is send message events, and the second - getting changes by comparing current parameter value with the old one:
public class Test : MonoBehaviour
{
InstantGuiPopup popup;
int oldSelected = 0;
void Update()
{
if (popup==null) popup = GetComponent(InstantGuiPopup);
if (popup.selected != oldSelected)
{
//do some action
oldSelected = popup.selected;
}
}
}
This is a nice way, even a bit faster then message and it can get access to all public variables, but, as you can see, it requires a bit of coding.