Search Unity

NoesisGUI : XAML-based User Interface [RELEASED]

Discussion in 'Assets and Asset Store' started by sfernandez, Jul 23, 2013.

  1. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Yes :) One of the UT developers told us that it will be compatible with native plugins (ported to .js). Really good news! There will be a version of noesisGUI for the web.
     
  2. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    In Unity we don't control the render loop. As soon as this feature is implemented in Unity we could use it because we know in each frame if the GUI needs to be updated or not. In fact, for future releases we are working in incremental rendering, only updating the parts of the screen that changed.
     
  3. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Awesome :)
     
  4. rpotter

    rpotter

    Joined:
    Jan 12, 2014
    Posts:
    1
    Wouldn't that also require a separate WebGL implementation? Since it doesn't use Unity for rendering.
     
  5. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    I don't think so, I suppose that it will be the same as native, rendering the GUI to the active WebGL context.
     
  6. [RV]CWolf

    [RV]CWolf

    Joined:
    Jan 24, 2013
    Posts:
    33
    Hi guys,

    Just read through all 23 pages here to get a better understanding on what NoesisGUI offers. From what I can see it sounds pretty good.

    I've come from an NGUI then Daikon Forge GUI background. Recently I've been really struggling with producing a high quality, scalable, aspect-ratio agnostic user interface. Research into this area has led me down the 'use vectors' mindset. With this in mind and being my focus, I have the following questions I was wondering if you could help me with please?

    1) I presume due to the use of vectors the UI will, whilst on the same aspect ratio, scale perfectly and always be 'pixel-perfect'?

    2) In regards to aspect ratios (especially 16:9, 16:10, 4:3, 5:4), how does the resizing work? If I have multiple UI elements on screen do I need to pay special attention to supporting all these aspect rations to prevent overlaying UI / text etc - or will things reposition themselves intelligently (or is this all left to the programmer / designer working on the xaml?). My previous experience with developing UI to support changing aspect ratios is extremely painful to say the least.

    Moving on from aspect ratios and scaling questions, our game plans to provide some level of mod support (as much as we can get with Unity anyway).

    3) I saw in a previous question / answer that the xaml can be created / edited at runtime. Is it also possible for the xaml to be loaded from the file system at runtime, then loaded to create the UI? It would be ideal to expose the UI design to the modders.

    4) We plan to support Window (32bit and 64bit), Mac (32bit and 64bit) and Linux stand alone platforms. I see these are fully supported but also noticed Linux support is 'relatively' new. How is Linux support?

    5) There are possible plans to expand to PS4 and Xbox One - are there any plans to support these new generation of consoles?

    Sorry for the long post but with these questions answered it would make me feel much safer in following up on this asset.

    As a side note, one benefit that no one has mentioned in regards to NGUI / Daikon Forge is that the source code is provided. With such, developers are able to correct any of the developing company / author's mistakes if so required. While NoesisGUI seems good from the first impression, moving to a closed system makes me a little nervous.

    Thanks =)
    - Rich

    EDIT: Sorry, thought of two more questions.

    6) What are your plans for Unity 5 support?

    7) What is Oculus Rift support like?

    Thanks again!
     
    Last edited: Mar 28, 2014
  7. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Hi Rich,

    Yes, as long as you design the interface using vector paths and no bitmap images (although we support 9-slice images if you want to use bitmaps), your UI will scale perfectly and stay pixel-perfect.

    You have to design your UI knowing in which aspect ratios it would be used, and play with available containers (Grid, StackPanel, WrapPanel, DockPanel, Canvas, TabControl) to adapt your UI correctly. The layout system is very powerful and allows you to easily design from simple to very complex interfaces, specially if you use a XAML editor tool like Expression Blend.

    Almost everything that you can express in a XAML, can be created from a script by instancing NoesisGUI classes.
    To load a XAML file in runtime, the xaml must be previously processed (built in a similar way as Unity converts .jpg to texture assets). Then you can load the xaml from your scripts and insert it into the active UI, or just change your UI totally.

    There are some customers already working in Linux, so there should be no major problems.

    It depends on the demand. We are a small team and need to focus on the bigger audience right now.
    The first moves are to get DX11 working and release WP8/Win Store versions.

    We will support Unity 5 for sure. One of the upcoming features in Unity 5 that we are waiting for is WebGL. Many people is asking for browser support, and that will let us implement it.

    As said before, will work on it if necessary and there is a true demand.

    If you are interested in the code to be able to fix bugs by yourself, we also offer Professional licenses with source code. You can contact us if you need more info.

    Kind Regards,
    - Sergio
     
  8. [RV]CWolf

    [RV]CWolf

    Joined:
    Jan 24, 2013
    Posts:
    33
    Thank you for replying. It's given me something to think over.
     
  9. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    It's good to know that it helped you. Remember that our forum is the best place to ask questions about noesisGUI. The notification system of the Unity forums is quite erratic.
     
  10. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    NoesisGUI v1.1.6

    >> Buy from Asset Store

    • Added Debug Marks wrapping GUI render for PIX or similar.
    • Improved text rendering quality when vertically flipped.
    • Added support for CornerRadius properties in extended classes.
    • Fixed: Text rendering problem with kerning and space characters that was causing strange wrappings.
    • Fixed: TextBox not capturing correctly focus when inside another control.
    • Fixed: TabControl content layout was not deterministic.
    • Fixed: DataTemplate were not found when stored by type in a ResourceDictionary.
    • Fixed: ItemsPresenter was not filled with items sometimes when ItemsControl.ItemsSource was set.
    • Fixed: UserControl root element used by VisualStateManager to look for VisualStateGroups must be UserControl.Content.
    • Fixed: ItemsControl not regenerating items when ItemsPanel or ItemsTemplate properties are modified.
    • Fixed: ItemsControl not correctly cloned when it was part of a template.
    • Fixed: ContextMenu defined in a Style or ResourceDictionary was not opening.
    • Fixed: TouchMove and TouchUp were not correctly promoted to mouse events when hit testing returned null.
    • Fixed: Crash when changing selected item in a ComboBox with a SelectionBoxItemTemplate set.
    • Fixed: Unnecessary clipping when mixing elements with different UseLayoutRounding values.
    • Fixed: Horizontal size of ComboBox Popup gets clipped if inside a Viewbox bigger than screen width.
    • Fixed: Improved error descriptions from filesystem.
    • Fixed: Error when trying to register classes from assemblies returning empty reflection information.
    • Fixed problem when noesisGUI was not the only native plugin present in an Unity project.
    • Fixed: rare crash when pressing Stop inside the editor.
     
  11. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    NoesisGUI v1.1.7

    >> Buy from Asset Store

    • Added HitTest sample to Unity First Steps Tutorial.
    • Fixed: Error with files and paths containing Unicode characters.
    • Fixed: Error with ListBoxItem container not found.
    • Fixed: Text wrapping being applied when it shouldn't due to precisions problems.
    • Fixed: Crash in Mouse::SetOver.
    • Fixed: SetCaretIndex() right after SetText() have no effect.
    • Fixed: Performance issues with Storyboard of Duration=0 and RepeatBehavior=Forever.
    • Fixed: Crash when rendering stroked text.
    • Fixed: ContentPresenter incorrectly raising an error when another ContentPresenter was present in the same template.
    • Fixed: Crash when device was lost in scenes using Unity Render Textures as XAML images.
    • Fixed: Casting fix in BaseComponent.As<T>.
     
  12. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
  13. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    noesisGUI on Madness Sale! :eek:

    You can get noesisGUI for just $87,50, less than any other popular GUI package like NGUI or DF.
    Don't miss the opportunity to get this fabulous product now, and get all the continuous upgrades and updates for free.
     
  14. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    584
    Hi NoesisGUI team,

    I've been keeping an eye on NoesisGUI for quite some time now.

    However, even at the sale price, I'm hesitant to buy it as I'm not entirely sure how much programming knowledge is required to implement a full UI. I have no experience with WPF or XAML, and basic C# experience.

    I've been using DF-GUI, and it has been extremely easy to use. I've only had to do very minimal coding because of DF-GUI's large list of Playmaker actions, as well as event-binding scripts and tweens, all done in the Unity inspector. However, I'm leaning towards NoesisGUI mainly because of its resolution independence (being vector-based), and what looks like fast support.

    I'd really appreciate if you could answer the following questions:

    1) How much programming knowledge is required to implement the GUI once the visual aspect is done in a tool like Blend?

    2) How much XAML will I need to learn in order to fully implement a GUI?

    3) I think you mentioned earlier in the thread that you're looking at developing a way to create GUIs without much coding. Is this still being considered? I'm asking because some of the other GUI solutions have many ways of controlling the data side of the GUI without needing to have any programming knowledge at all.

    4) Would you ever consider adding Playmaker actions to make it easier to control the GUI?

    5) There are many other assets which have NGUI and DF-GUI integration, like cutscene creators, energy bar assets, dialog and localization assets, even some audio solutions (which have event scripts to trigger interface sounds). However, I don't see any of them with NoesisGUI compatibility. Is this because they wouldn't work with how NoesisGUI is structured?

    6) If I needed to use other assets' bitmap-based elements (like minimap assets, etc.) in addition to Noesis vector-based elements, will they play nice with each other? Will it be easy to implement those things in Noesis instead, without needing other assets?

    Thanks for letting me air out my concerns. I really want to pick-up Noesis, but as a designer with basic programming knowledge, the learning curve seems a little daunting. I'd appreciate if you or any user of NoesisGUI could put my mind at ease.
     
  15. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Hi! Thanks for your interest in noesisGUI.

    Let me honestly answer your questions,

    It depends on the complexity of what you want to achieve. I would say that 90% of the times you will be binding events, inserting items in a list or triggering animations. All that can be done easily in C#.

    A minimum knowledge of C# is needed of course. In fact the ideal working scenario is having an artist in the Blend side and a programmer with the C# api.

    In noesisGUI, the learning curve is steeper than in the rest of packages. You need to invest time to start feeling conformable. But once you reach that point the versatility is a lot better than our competence. Look at this game



    and tell me how you would do it with NGUI for example.

    Anyway, as a designer you don't need to know all the internal details about XAML if you use powerful tools like Blend.



    Yes, one of the things that we are programming for our next big version (v1.2) is automatic code generation. That way, when you drop a xaml into Unity, a .cs class is automatically generated with all the member and events ready to be consumed.


    We are also studying a playmaker integration. It has been requested several times in the past. So, the answer is, yes. :)

    I would say it is a question of the kind of customers we have. I don't know if this is good or not but our audience is usually a small studio more than an individual developer. At this level, it is ridiculous paying for example for the HUD package that all the indie games are using because you can do it yourself with noesisGUI without extra packages. Yes, may be, a little more complex, but totally different to the rest of games that compete with you.

    Yes, we play nice with other GUI assets. :) But as you said, if you start to use noesisGUI you probably don't need that assets.

    Thanks!
     
  16. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    584
    Thanks for the quick and thorough response. I'll be picking up NoesisGUI within several days.

    I'd love to be able to create a GUI as shown in the youtube video you posted (Void Expanse). Hopefully it won't take too long to get to that level of proficiency!

    Looking forward to the automatic code generation as well as the PlayMaker integration. As I am still several months away from any GUI work, I'll be learning XAML and reading WPF Unleashed in the meantime. Are there any other resources in particular you think will be helpful in learning Blend?
     
  17. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    I would say that if you read that book you will become an advanced user of our tool. :D

    Thanks for buying!
     
  18. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    1. How is the performance of NoesisGUI on Iphone 4 ? Something like a scrollView with lots of internal components. Like the ones in the Video demo above.
     
  19. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    noesisGUI was implemented with a mobile friendly architecture since the first day. This means that there are not hidden traps like low FPS when you move things, etc etc. Obviously there are several things to improve (specially for older mobiles) that are being worked on in v1.2.

    In the current state, I think that our performance is good, and we have several studios using our framework.

    But you can request a trial an try it yourself. ;)
     
  20. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    PlayMaker integration, yeah thats what I will need too :)

    thanks

     
  21. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Does the trial include example test projects that can be fired up so that I can see how it works. The reason is that I don't know much about XAML and cannot create a scene that can test the performance.

    Cheers.
     
  22. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
  23. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Yes, there are several examples inside the trial. Please contact us.
     
  24. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    Such a hard decision !!!

    I really want this one, but the research concerning what pack i might actually use and is best for my needs is a tremendous amount of work

    From what i have read fast, the pack is not in C#, so one question is whether this could be limiting in any way

    Another question is about how versatile it is to move a vector drawing from programs like Corel or Inkscape to the system and how it integrades images that might be used there (along with vectors)

    Last is the matter of controlability and integration, can i use this as easilly as i use Unity own GUI in programming ? How easy is it to get a complete menu going ? I work on a RPG with all bells and whistles this comes with, so would it be realistic to setup such a menu with this system ?

    Hope it is not much bother all these questions :)
     
  25. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Yes, our API is C#.

    As shown in our forums (http://www.noesisengine.com/forums/viewtopic.php?f=12&t=188) it is very easy to import from Inkscape. The same for the .ai format and rest of popular vector formats.

    In theory, there should be no problem in the integration of noesisGUI with other solutions (including uGUI), we know several customers tried it although I must say that it doesn't make much sense using unity GUI if you buy noesisGUI.

    Do you have a screenshot or the menu you want? Let me see if I can do a fast XAML showing you how to do it.
     
  26. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    My menus right now are

    1. a Circular menu used for choosing powers (just icons around a point, selectable by joystick)

    2. ORK Framework menus, the ready menus provided with the pack, editable within ORK forms. These are used to show the hero, stats, items, logs etc

    An example of the basic form - http://orkframework.com/game-tutorial/2014/01/02/36-menu-screens-2/

    3. Some Unity GUI indicator icons for some 3D objects and enemies

    So, much of the work is within ORK and the question is how easy would be to bypass and use Noesis instead.

    This is a two fold question, one part is making the menu arrangment and the other is binding the ORK variables and lists to Neosis parts.

    So, i guess one question is how easy it is to setup a hero stat/equip/inventory screen with XAML and then how close the menu control is to the binding structure Unity GUI uses, so i could have any hope to transfer the ORK data structures to that menu and have it working and populated with ORK items etc


    EDIT: Another thing that came to mind, is that since i use vector based 2D for my sprites, i could have my creatures shown directly to menus in their vector form, is that ammountt of complexity possible ? That would be very cool

    EDIT2: The target menu is something like this, but with multiple heroes and the hero shown in the menu





    EDIT3: Is the pack compatible with the more exotic Unity varieties, like PS4, xbox one etc ?
     
    Last edited: May 8, 2014
  27. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Hi nasos_333,

    Just an example on how easy is to create a UI panel and bind it to data, I created a simple design of the stats panel shown in your screenshots.

    First we create a xaml that describes the interface of a Stats control (that could be reused to show the stats of various players at the same time if you want):

    Assets/RPG/StatsPanel.xaml
    Code (csharp):
    1. <UserControl
    2.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4.     x:Class="StatsPanel">
    5.    
    6.     <UserControl.Resources>
    7.         <Style x:Key="HeaderText" TargetType="TextBlock">
    8.             <Setter Property="Foreground" Value="White"/>
    9.             <Setter Property="FontFamily" Value="#Barkentina 1"/>
    10.             <Setter Property="FontSize" Value="13"/>
    11.             <Setter Property="Margin" Value="12,2,0,0"/>
    12.             <Setter Property="Stroke" Value="#80000000"/>
    13.             <Setter Property="StrokeThickness" Value="0.75"/>
    14.         </Style>
    15.         <Style x:Key="StatText" TargetType="TextBlock">
    16.             <Setter Property="Foreground" Value="White"/>
    17.             <Setter Property="FontFamily" Value="#Barkentina 1"/>
    18.             <Setter Property="FontSize" Value="20"/>
    19.             <Setter Property="Stroke" Value="#80000000"/>
    20.             <Setter Property="StrokeThickness" Value="1.5"/>
    21.         </Style>
    22.         <Style x:Key="StatBar" TargetType="ProgressBar">
    23.             <Setter Property="MinHeight" Value="5"/>
    24.             <Setter Property="Foreground" Value="Silver"/>
    25.             <Setter Property="Background" Value="Gray"/>
    26.             <Setter Property="Margin" Value="8,0"/>
    27.             <Setter Property="Template">
    28.                 <Setter.Value>
    29.                     <ControlTemplate TargetType="ProgressBar">
    30.                         <Border x:Name="PART_Track" Background="{TemplateBinding Background}" CornerRadius="1">
    31.                             <Grid x:Name="PART_Indicator" HorizontalAlignment="Left">
    32.                                 <Border Background="{TemplateBinding Foreground}" CornerRadius="0.5" Margin="1"/>
    33.                             </Grid>
    34.                         </Border>
    35.                     </ControlTemplate>
    36.                 </Setter.Value>
    37.             </Setter>
    38.         </Style>
    39.         <LinearGradientBrush x:Key="SeparatorBg" EndPoint="1,0" StartPoint="0,0">
    40.             <GradientStop Color="#0CFFFFFF"/>
    41.             <GradientStop Color="#F2FFFFFF" Offset="0.15"/>
    42.             <GradientStop Color="#F2FFFFFF" Offset="0.85"/>
    43.             <GradientStop Color="#0CFFFFFF" Offset="1"/>
    44.         </LinearGradientBrush>
    45.     </UserControl.Resources>
    46.    
    47.     <Border BorderBrush="#FFDEEA68" BorderThickness="2" CornerRadius="2" Padding="8">
    48.         <Border.Background>
    49.             <LinearGradientBrush EndPoint="0.5,0" StartPoint="0,0" SpreadMethod="Reflect">
    50.                 <GradientStop Color="#BD000000"/>
    51.                 <GradientStop Color="#8F000000" Offset="0.25"/>
    52.                 <GradientStop Color="#BD000000" Offset="1"/>
    53.                 <GradientStop Color="#8F000000" Offset="0.75"/>
    54.             </LinearGradientBrush>
    55.         </Border.Background>
    56.         <StackPanel MinWidth="200">
    57.            
    58.             <TextBlock Text="HEALTH" Style="{StaticResource HeaderText}"/>
    59.             <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
    60.                 <TextBlock Text="{Binding Health}" Style="{StaticResource StatText}"/>
    61.                 <TextBlock Text="/" Style="{StaticResource StatText}" Margin="2,0"/>
    62.                 <TextBlock Text="{Binding HealthMax}" Style="{StaticResource StatText}"/>
    63.             </StackPanel>
    64.             <ProgressBar Value="{Binding Health}" Minimum="0" Maximum="{Binding HealthMax}" Style="{StaticResource StatBar}"
    65.                 Background="#FF3F892F" Foreground="#FF46FF00"/>
    66.  
    67.             <Rectangle Height="2" Fill="{StaticResource SeparatorBg}" Margin="0,2"/>
    68.  
    69.             <TextBlock Text="ATTACK" Style="{StaticResource HeaderText}"/>
    70.             <TextBlock Text="{Binding Attack}" Style="{StaticResource StatText}" HorizontalAlignment="Center" Padding="0,0,0,5"/>
    71.  
    72.             <Rectangle Height="2" Fill="{StaticResource SeparatorBg}" Margin="0,2"/>
    73.  
    74.             <TextBlock Text="DEFENSE" Style="{StaticResource HeaderText}"/>
    75.             <TextBlock Text="{Binding Defense}" Style="{StaticResource StatText}" HorizontalAlignment="Center" Padding="0,0,0,5"/>
    76.  
    77.             <Rectangle Height="2" Fill="{StaticResource SeparatorBg}" Margin="0,2"/>
    78.  
    79.             <TextBlock Text="GOLD" Style="{StaticResource HeaderText}"/>
    80.             <TextBlock Text="{Binding Gold}" Style="{StaticResource StatText}" HorizontalAlignment="Center" Padding="0,0,0,5"/>
    81.  
    82.             <Rectangle Height="2" Fill="{StaticResource SeparatorBg}" Margin="0,2"/>
    83.  
    84.             <TextBlock Text="EXPERIENCE/NEXT" Style="{StaticResource HeaderText}"/>
    85.             <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
    86.                 <TextBlock Text="{Binding Experience}" Style="{StaticResource StatText}"/>
    87.                 <TextBlock Text="/" Style="{StaticResource StatText}" Margin="2,0"/>
    88.                 <TextBlock Text="{Binding NextLevel}" Style="{StaticResource StatText}"/>
    89.             </StackPanel>
    90.             <ProgressBar Value="{Binding Experience}" Minimum="0" Maximum="{Binding NextLevel}" Style="{StaticResource StatBar}"
    91.                 Background="#FF2F8589" Foreground="Cyan"/>
    92.  
    93.             <Rectangle Height="2" Fill="{StaticResource SeparatorBg}" Margin="0,2"/>
    94.  
    95.         </StackPanel>
    96.     </Border>
    97. </UserControl>
    Then we create the class that backs up this panel and provides the bindings to the data:

    Assets/RPG/StatsPanel.cs
    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections;
    3.  
    4.  
    5. [Noesis.Extended]
    6. [Noesis.UserControlSource("Assets/RPG/StatsPanel.xaml")]
    7. public class StatsPanel : Noesis.UserControl
    8. {
    9.     public StatsPanel(PlayerStats playerStats)
    10.     {
    11.         SetDataContext(playerStats);
    12.     }
    13. }
    14.  
    15. [Noesis.Extended]
    16. public class PlayerStats : Noesis.BaseComponent
    17. {
    18.     private float _health;
    19.     public float Health
    20.     {
    21.         get { return this._health; }
    22.         set { if (this._health != value) { this._health = value; NotifyPropertyChanged("Health"); } }
    23.     }
    24.  
    25.     private float _healthMax;
    26.     public float HealthMax
    27.     {
    28.         get { return this._healthMax; }
    29.         set { if (this._healthMax != value) { this._healthMax = value; NotifyPropertyChanged("HealthMax"); } }
    30.     }
    31.  
    32.     private float _attack;
    33.     public float Attack
    34.     {
    35.         get { return this._attack; }
    36.         set { if (this._attack != value) { this._attack = value; NotifyPropertyChanged("Attack"); } }
    37.     }
    38.  
    39.     private float _defense;
    40.     public float Defense
    41.     {
    42.         get { return this._defense; }
    43.         set { if (this._defense != value) { this._defense = value; NotifyPropertyChanged("Defense"); } }
    44.     }
    45.  
    46.     private float _gold;
    47.     public float Gold
    48.     {
    49.         get { return this._gold; }
    50.         set { if (this._gold != value) { this._gold = value; NotifyPropertyChanged("Gold"); } }
    51.     }
    52.  
    53.     private float _experience;
    54.     public float Experience
    55.     {
    56.         get { return this._experience; }
    57.         set { if (this._experience != value) { this._experience = value; NotifyPropertyChanged("Experience"); } }
    58.     }
    59.  
    60.     private float _nextLevel;
    61.     public float NextLevel
    62.     {
    63.         get { return this._nextLevel; }
    64.         set { if (this._nextLevel != value) { this._nextLevel = value; NotifyPropertyChanged("NextLevel"); } }
    65.     }
    66. }
    67.  
    Then, you can create this panel any time and show it in the UI:

    Code (csharp):
    1. void ShowStatsPanel(PlayerStats playerStats)
    2. {
    3.     var statsPanel = new StatsPanel(playerStats);
    4.     this._statsPanelContainer.SetContent(statsPanel);
    5. }
    And the result would look like this:

    $SimpleStatsPanel.png
     
  28. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    Very nice

    I am 99% on bying :)

    Will it work on platforms like PS4 if need be ?

    Also what complexity does it support in vectors ? Can i use my vector original for my creatures for example directly in a menu or will it be too much ?

    Thanks again, looks really cool
     
  29. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    That would be great :)

    Consoles are not yet planned because our resources are quite limited and we have to focus on the most demanding features, although it is in our milestone reaching those platforms.

    You can take a look at our Time.xaml example to see how well we support complex vector graphics. I will recommend almost always to use vector graphics because that way you will get pixel perfect results independently of the screen resolution.
     
  30. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    There is a time plan for PS4 support for example ? My game is a ongoing project, i dont even have Unity Pro yet, i am only finished on environments and creatures, the gameplay and interface are ongoing matters that could take more than 1.5 year to finilize or even more (depends a lot on when i will be able to afford Pro too)

    So, what are my chances that this will also work on PS4 when and if i finally manage to release it :) ?

    Also is it probable that it may work on PS4 even at this state with extra programming from my part ? I can code efficiently on any of the involved languages, but i cant tell about the complexity of such an attempt, for example what would be the main reasons this would not work with PS4 etc

    Oh and another question i forgot about, how easy is it to embed 3D models on one of the system panels ? I guess one solution would be to just use projection at a fixed range from the hero and overlay/instantiate the 3D model on top in full 3D
     
  31. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    I would say that in 1 year we will be in nextgen consoles. For now, there is no specific plan, but we have several customer already pushing this.

    Implementing a renderer in noesisGUI is not specially complex (two weeks man). It could be an option if you are really in a hurry here, although my advice is that you wait for us to implement it.



    This is what you want. :cool:

    http://www.noesisengine.com/forums/viewtopic.php?f=12&t=294
     
  32. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    Great, thanks for all the answers, i am definitly getting it :)
     
  33. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    I've been doing almost daily XAML development since Silverlight 1.0 and just the other day I was thinking it would be really great if there was a XAML based GUI for Unity.

    But I thought the idea was just too good to be true so I didn't even bother to search for one.

    I was so surprised to see this on sale in the asset store.

    The reviews were good and the demos were impressive so I picked it up without delay.

    So far I've only had time to scratch the surface but it looks great. I feel right at home with the XAML.

    Thanks so much for this package.

    After a little more use I'll post a proper review in the asset store.
     
  34. super-cypher

    super-cypher

    Joined:
    May 10, 2014
    Posts:
    117
    ok 2 things that i feel need addressing for NoesisGui and ultra FAST!

    1. Video Tutorial series! This is an absolute must (unless its already done and ive missed it), from the most basic first installation to a step by step guide. Most if not all of the most successful assets have a very clear and concise tutorial series. Playmaker, ngui, dfGui etc etc.

    2. Playmaker actions. again this is an absolute must.
     
  35. shadowndacorner

    shadowndacorner

    Joined:
    Mar 9, 2013
    Posts:
    16
    Hey, I bought this off of the asset store yesterday. Haven't had much of a chance to play with it yet, but from the little that I have it seems pretty freaking awesome!

    Sorry if this has already been answered, but do you have any sort of timeframe for DX11 support? It's not a big deal for my current project, but I have another project coming up where that'll pretty much be a must.
     
  36. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Thanks! Remember to send us the invoice number and we will provide you rights to download directly from our forums.
     
  37. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Thanks to you for buying. Remember to visit our forums to get support and send us the invoice number to verify your account.

    And thanks for the review! It helps us a lot!
     
  38. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Yes, you are right. We do not have tutorials right now. We have this one (http://vimeo.com/65549290) but it is outdated and low quality. Is there anybody out there that could help with this?

    We are in contact with hutonggames (the creators of Playmaker). They are helping us in this area.

    Thanks a lot for your suggestions!
     
  39. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Thanks for buying! As said above, please send us your invoice number to download from our forums.

    Yes, DX11 is coming: http://www.noesisengine.com/forums/viewtopic.php?f=3&t=322
     
  40. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    Is it easy to animate a character made of vector parts on the system ?

    I saw you can animate parts with Unity animation, so would it be possible to use vector characters directly animated in their vector form in a menu with Unity animation ?
     
  41. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Hi!

    Yes, you can easily animate vector parts in noesisGUI, as shown in several of our samples.

    It is better if you write directly in our forums requesting help. Please tell us what do you exactly want to achieve and we will try to help you there.

    thanks!
     
  42. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    Thanks, i will use the forums for the extra details
     
  43. Wigen

    Wigen

    Joined:
    Aug 31, 2013
    Posts:
    33
    Hey noesis team!

    So I have a dilemma, I have been working with WPF/XAML for about 5 years, so I am very familiar with xaml and this UI framework looks amazing to me.

    This is on its last day of the madness sale for 60% off which is so much better for being indie than the $250 price tag.

    Now the dilemma.... this only works on Unity Pro and the sale is ending today! I got to play with it with a 30 day pro trial and absolutely love it. Our game is probably about 80% complete and we are currently working on UI with NGUI.

    I really want to buy it but the way unity works with the free version means I need to have pro to use this which I hope to get one of these days :(

    So great job on making this I can't wait to play with it more!
     
  44. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
  45. nasos_333

    nasos_333

    Joined:
    Feb 13, 2013
    Posts:
    13,348
    That is what i did :), just bought it last day of the offer, could not resist even though i dont have Pro yet

    Having vector based GUI is rather big deal
     
  46. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Thanks! Remember to visit our forums and send us the invoice number to verify your account.
     
  47. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    584
    I noticed that the same author also released this book recently: Windows 8.1 Apps with XAML and C# Unleashed

    If you look at the comment on that page which outlines the chapters in the book, would you say that this book might be a better fit for learning XAML? I'm asking because in the reviews for WPF Unleashed 4.5, it is mentioned a few times that an expert knowledge of C# is required to get the most out of the book, which I don't have.
     
  48. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312

    We recommend the WPF book because that is the API we are following. Although WPF Windows8 share a big subset, there are a few differences. I would say that both books require the same level of c#.
     
  49. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    NoesisGUI v1.1.8

    >> Buy from Asset Store

    • TextBlock: Justify implemented, Wrap implemented (we only had WrapWithOverflow) and Trimming implemented. Added a new xaml in the Text tutorial showing all the combinations.
    • Added support for RenderOptions.BitmapScalingMode. Created a new entry in the Image tutorial explaining it.
    • Added support for SelectAll command (Ctrl+A) to the TextBox.
    • Now XAMLs are automatically built if they were modified during Editor Play.
    • Changed default 3D scene used as background in our samples because performance was not good on old mobiles.
    • Fixed: Runtime Error on Progress Bar Animation: the target name 'IndicatorIndeterminate' cannot be found in the xaml namescope.
    • Fixed: Error handling improved when trying to use Items collection while ItemsSource is set. Class documentation updated to explain this scenario.
    • Fixed: Items displayed twice when being added to a ComboBox.
    • Fixed: Small Arc CW flag not working properly.
    • Fixed: In Viewbox.SetChild, old child could be accessed after destroyed.
    • Fixed: NameScope of UserControl not correctly copied when used as the root of a template.
    • Fixed: Touch events not working properly when a scale was being applied to a ScrollViewer.
    • Fixed: Numeric converters are now able to convert from integer to float and vice versa.
    • Fixed: ProgressBar control was assuming that its template always contained "PART_Track" and "PART_Indicator" elements. Now it is optional.
    • Fixed: StaticResource evaluation in templates, it was not reapplied and resource look-up could fail (crash in Browser Gallery when changing theme).
     
  50. VacuumBreather

    VacuumBreather

    Joined:
    Oct 30, 2013
    Posts:
    68
    I got a couple of questions: What are XAML files exactly in the unity world? Are they some kind of customasset that sits in the assets folder and can be loaded by your planelcomponent? If that is so, can those xaml files be dynamically replaced at runtime, even with xaml files loaded from the users harddisk?

    The use case woult be that my main XAML has a ContentControl somewhere that is databound to a UserControl that I specify and that a modder could potentially replace in a usermod directory to change the look of the UI.

    Another thing is that you write in your docs that images are not treated as resources yet like fonts e.g. What if an image is databound? Let's say my XAML has a databinding for the image source path that is bound to a string property in my ViewModel. Can I still specify any path on the users hard disk or even the web to make XAML dynamically load that image and display it?

    Use cases would again be modding and/or the user being able to use a custom avatar image or a squadron batch or stuff like that.

    The new Unity GUI comes with the possibility to asign shaders to any sprite control. That makes me ask: Is there any control you have that could render something with a custom Unity shader? Like a canvas control maybe? Or could I even assign a shader to the entire UI somehow or any control? For postprocessing stuff e.g. Unity showed stuff like refraction and lighting influenced shaders in their GUI demos. How easy or at all possible would that be with your XAML solution?

    And finally, can I render any Unity mesh in your UI. From what I can remember you can render 3D meshes in WPF. I have never done that though. Is that possible in your UI and how would one go about that?

    Thanks

    PS: What about dialog/popup windows, is that possible?

    PPS: How does the UI handle mouse clicks. Does it prevent them from tickling through? meaning if I click on a control that occludes a gameobject in 3d space, will that 3d object still get a MouseDown event or will the GUI correctly swallow that up? If so, based on what 'shape', the bounding rect of the control?
     
    Last edited: May 30, 2014