net8floz
Topic Author
Posts: 27
Joined: 16 Dec 2025, 02:34

Noesis studio extensions, view scripting intentions, and nine slicing

19 Dec 2025, 18:31

My background is using unreal UMG for a very long time and stumbling upon this project by accident so I am coming in completely cold. As far as I can see there is no other multiplatform engine agnostic game UI library unless you want to deal with html5 which I do not so I am very excited about Noesis. I've integrated the native SDK into my game but I am confused on some of the intentions here. It seems there is no way to do coding for the view which is potentially problematic. I understand that much can be done with Interactivity and Binding but some things cannot, at least with my current level of experience.

As an example Nine Slicing from Studio seems to be missing from the SDK, it is available as a sample in Blend projects but I cannot find evidence that it can be registered in my game from the sdk and posts on this forum seem to back this up. So I steal the c++ example and upgrade the namespaces so it reads as a GUIExtension like how studio formats it, steal the xaml, but it doesnt quite work in game still. Debugging: Thickness Top,Left,Bottom,Right *do not bind* in my game. Not even to a textblock with {Binding Slices.Top }. So I do some scripting and steal the thickness in OnSlicesChanged which does have the correct values even tho they dont bind and assign it to 4 individual floats. I bind the new floats to the xaml instead of default Slices.Top etc and now Nine Slicing from studio works in my game!

But now because the xaml is now different and studio has no idea about my custom controls it doesnt show in Studio correctly xD. I ended up solving that by only loading the xaml overwrite game side.

So I see sort of a disconnect here which makes things like playing the UI in editor or even much designing in editor not nearly as useful since my game and my designer cannot share the same controls or even visuals. Is the intention eventually I build studio from source so I can share components between my game and studio? If so is there any update on when indie license owners can have access to this? Can I really make a game UI without any ability to do view scripting? Is there some way I can build this nine slice component ( which really is just some bindings and some rectangles ) without c++ at all in a re-usable way that i just set the outer slices and image source that i am totally overlooking?

I think more documentation could be prepared about the transition from Blend ( which ive never used before so have surface level understanding of ) with its code-behind layer to Studio which focused only on Commands and Data Binding since the philosophy does not seem clear an outsider ( or i am too thick to find this information :) ). its not clear how i can build the same complex apps that are shown in the blend examples if all my code is not seen by studio.

It was also a little disappointing for this rabbit hole to be specifically about Nine Slicing as this is the Bread and Butter of UI in my opinion. It would be great if nine slicing was available as an Image Brush, you even already have all the controls ready for editing the corner regions with similar properties the like Viewport regions.

One other small feedback is it would be very great if asset selectors ( like choosing ImageSource ) had a filter, if you load up the project with many many assets its super difficult to find what you want. It would be nice if i could just start typing and it would filter.

I have 0 interest in using Blend or Visual Studio to design UI so my focus here is entirely on Noesis Studio. Many thanks to the devs for releasing the beta and letting me try it out and thank you for reading!

Small edit: the more controls I use in Studio the more difference I am seeing in engine using the default themes. Are they really quite out of date with eachother or have I done something wrong? Specifically now I am seeing that the mouse triggers for the scrollviewer cause my entire app to stop rendering. I redid the scrollviewer xaml entirely and it works in my game now but it only scrolls on mousewshell if it has FOCUS ( i must click on it first ) , not just when hover like in Studio. So again I am not finding Studio and my Game to have 1:1 functionality.

I am also missing: Unknown element type 'noesis:LayoutScaler' (NoesisGUIExtensions.LayoutScaler), maybe i am doing something very wrong. But i cannot find any gui extension components to register.
 
User avatar
jsantos
Site Admin
Posts: 4825
Joined: 20 Jan 2012, 17:18
Contact:

Re: Noesis studio extensions, view scripting intentions, and nine slicing

21 Dec 2025, 03:21

Hello! Thanks a lot for taking the time to write such a detailed post and for trying Noesis Studio. Feedback like this is extremely valuable, especially coming from someone with a strong UMG background.

Unfortunately, almost everything you are running into is a consequence of Noesis Studio still being in beta and using a runtime that is not fully aligned with the current stable core (3.2.11). This disconnect is exactly what you are experiencing: missing controls, theme mismatches, and behavior that isn’t 1:1 between Studio and your game.

This is about to change very soon with the release of the first C++ SDK 4.0, where Studio is fully integrated with the runtime. With that version you will be able to:
  • Extend Studio with your own custom controls, converters and effects
  • Share the exact same components between Studio and your game
  • Embed the Studio view inside your own tools or executables
  • Fully tweak and configure the default theme so Studio and runtime match 100%
For Unreal and Unity users, we have already released preview versions of Noesis 4.0 with Studio integrated, which removes many of the issues you’re currently seeing.

About scripting, MVVM, and “no view code”

You are also correctly noticing that Studio is intentionally focused on a designer-first workflow, avoiding patterns that require programmers in the middle. This means:
  • No code-behind
  • Heavy reliance on pure MVVM, bindings, commands, and interactivity
This is powerful but not trivial to grasp at first, especially if you’re coming from UMG where view scripting is common and expected. We recognize that this philosophy is not yet well explained, and we plan to address this with better training guides, especially for users coming from Unreal/UMG or Unity.

Nine slicing, extensions, and Studio visibility

The fact that Studio cannot “see” your custom controls is a known limitation of the beta. This is precisely one of the main problems 4.0 is designed to solve.

GUI extensions like LayoutScaler are missing unless explicitly registered, which today is not possible in Studio.

Longer-term, nine slicing is something we agree is fundamental UI functionality, and your suggestion of exposing it as an ImageBrush-like feature (with editable corner regions similar to viewport regions) makes a lot of sense. I’ll make sure this feedback is passed along to the team.

Asset selector filtering
It would be nice if I could just start typing and it would filter
This is something we’re already aware of. Many areas of Studio are still unfinished or provisional, and the overall UX is not yet final. Asset selection is just one example among several workflows that are still missing polish, consistency, or completeness.

Theme differences

Studio currently uses our default Blue theme, while your runtime is using your custom theme. Until this is better resolved in 4.0, I strongly recommend:
  • Merging your runtime theme into Studio’s global dictionary
  • Avoiding reliance on default theme behavior unless explicitly shared
The ScrollViewer behavior differences you describe (focus vs hover wheel scrolling) are another symptom of theme and runtime mismatches rather than incorrect usage on your side.

Summary

You’re not “doing something very wrong” 🙂 All of this is actively being addressed in Noesis 4.0.

Thanks again for the thoughtful feedback, your patience, and for giving Studio a serious try. Please keep the feedback coming, posts like this genuinely help shape the product.
 
net8floz
Topic Author
Posts: 27
Joined: 16 Dec 2025, 02:34

Re: Noesis studio extensions, view scripting intentions, and nine slicing

21 Dec 2025, 06:52

Thank you for the detailed reply I will spend some time thinking about all of this. I'm glad to know that it is a known limitation I am running into instead of implementation errors on my end. Please let me know if there is anything i can do to help accelerate the release of 4.0, including testing or writing code / bugfixing or even writing tutorials or training materials. It would be great even to just have an expected release date but I understand this is not always possible.
 
net8floz
Topic Author
Posts: 27
Joined: 16 Dec 2025, 02:34

Re: Noesis studio extensions, view scripting intentions, and nine slicing

21 Dec 2025, 18:38

Unfortunately I think i must put noesis down at least for now. Almost nothing works from studio in engine and if you even look at it wrong itll mess up all the rendering i am guessing somethin with a clipping region stack. Atm I am unable to make a simple splash screen for my game of just showing a few images.

Maybe the desync should be more prominently labled in the downloads section as i have invested a significant amount of time getting the sdk up and running and publishing my works on github only to discover i cannot actually use it even for simple things. I understand it is beta but just setting the expectation I think is important. https://www.noesisengine.com/docs/4.0/G ... About.html

the branding currently boasts that its "production ready from the start" and provides "perfect 1:1 parity". I dont mean to be a downer here just sharing my experience, I am sure 4.0 release will be great :)
 
User avatar
jsantos
Site Admin
Posts: 4825
Joined: 20 Jan 2012, 17:18
Contact:

Re: Noesis studio extensions, view scripting intentions, and nine slicing

22 Dec 2025, 03:37

Honestly, I’m not sure we’re talking about the same issue here.

If you use the same theme in Noesis Studio and in the runtime, and you avoid the few Studio-only extensions (such as MathConverter, RadialGauges, NineSlice, and some Effects), then you should get correct 1:1 results. These items are Studio integration samples, not core features, and they are not intended to be part of the Noesis 4.0 core. If you need them right now, their source code will be available in the upcoming 4.0 SDK, and we can also provide early access if this is critical for your project.

We have multiple clients using Noesis Studio in production. The product is currently in feature lock, and our main focus is stabilization and bug fixing, not adding new functionality. That said, it is still a beta, so expectations should reflect that, patience and detailed feedback are essential to help us understand and address issues.

Rather than a broad “this can’t be used” conclusion, it would be much more helpful if you could point out a specific, minimal reproducible issue you’re encountering (for example, a particular control, layout, or rendering case that behaves differently between Studio and runtime). That way, we can actually help diagnose and fix it.

We fully understand the frustration when expectations don’t line up, and we appreciate the feedback, but concrete examples will let us improve things much faster.
 
net8floz
Topic Author
Posts: 27
Joined: 16 Dec 2025, 02:34

Re: Noesis studio extensions, view scripting intentions, and nine slicing

22 Dec 2025, 06:32

Sure I'd be happy to talk more about it. My setup i am loading default blue into my engine, I am using the themes i found in App/Themes and mixing other resources on top of it as needed, i do not have a custom theme or anything like that. The only theming / resources on top i am doing is to fix things that are broken by default like the view scroller or nineslicing

I ran into lots of issues, and these are all issues in the sdk. everything worked great in studio ( minus the odd bug or quirk here or there but nothing to complain about on a forum )

- nine slicing cannot be used in my game even tho its in studio
- layoutscaler cannot be used in my game even tho its in studio
- components and probably lots of other things cannot be used in my game either
- properties like thickness.top cannot be bound to
- scrollviewer completely disappears when hovered ( due to opacity bug )
- setting an elements opacity to other than 1 causes the entire UI to stop rendering sometimes
- using a ViewBox ( not to be confused with LayoutScaler ) causes my entire UI to get clipped to the size of the thing inside the box, even things that are not in branch under the viewbox. But only sometimes. I will set up my viewbox and it looks great and start working on something else and run the app and its broken. remove the viewbox and its fixed. which combination of elements causes this to happen i cannot say.
- scroll views do not have hover scroll functionality, they must be clicked into once to recieve focus and then they can hover

For the opacity bug i can repro it with
Page -> Viewbox -> Button
with button opacity == 0.5
the whole ui stops rendering!

Page -> Viewbox -> Button
with button BACKGROUND BRUSH COLOR ALPHA == 0.5
NO REPRO! UI is fine!

this is not limited to Viewbox also
Page -> Canvas -> Button repros
the whole ui stops rendering!

Page->Viewbox->Image
with image opacity == 0.5
NO REPRO! UI is fine!

Page -> Grid -> Button
with button opacity == 0.5
NO REPRO! UI is fine

but i am actually not sure if it is that simple i think i had elements in grids show the issue in the past too.

so some combinations of layouts allow opacity, others will stop rendering the entire app. brushes render opacity fine. this is with with d3d. I had actually mentioned this in my first post but you may have missed it as it happens in the ScrollView hover STORYBOARD that changes some opacity settings. so just using the scrollviewer breaks my whole UI out of the box. I thought you said this was known but maybe you only meant the "must click to scroll" bug.

There are many other things I had to wrestle with too, EventDataTriggers not having selectable events you must use xaml, OnLoad events trigger in Studio when you launch Studio. Not to be confused with the play button at the top I mean they trigger during design time. Really felt like any thing i wanted to do i had to do a lot of wrestling and debugging, which ultimately lead to me writing the "put it down post". No need to address these I understand bugs happen ( and ive already filed these in the tracker ) and this is beta, I just want to provide some context why I think using Studio is not possible right now.

As a user I don't really understand things not being "core features" or not. if theres a control like NineSlice or ViewScaler that i can use in studio by default but it wont work in my game then that feels like a broken feature. If it was an installable extension I would feel different but it came with my version of studio.

If better parity will be found in 4.0 then I do not want to waste your time with specific reproductions but if it is helpful for you I can prepare sample projects. I am not sure what that would look like. An exe and the noesis project?

If I am able to try a early sdk that should have better parity i would be more than happy to do that to as I have no UI solution for my game at the moment.

Thank you again for your continued support!
 
User avatar
jsantos
Site Admin
Posts: 4825
Joined: 20 Jan 2012, 17:18
Contact:

Re: Noesis studio extensions, view scripting intentions, and nine slicing

22 Dec 2025, 17:12

I ran into lots of issues, and these are all issues in the sdk. everything worked great in studio
For the opacity bug i can repro it with
Page -> Viewbox -> Button
with button opacity == 0.5
the whole ui stops rendering!
I’m starting to think this may be related to your integration. Are you able to reproduce the issue in the XamlPlayer included with the SDK? If so, could you please share the repro XAML?
 
net8floz
Topic Author
Posts: 27
Joined: 16 Dec 2025, 02:34

Re: Noesis studio extensions, view scripting intentions, and nine slicing

22 Dec 2025, 17:40

Thank you for the suggestion. Since the opacity bug seems like it should not be expected I will spend some time with my integration to discover why.
 
User avatar
jsantos
Site Admin
Posts: 4825
Joined: 20 Jan 2012, 17:18
Contact:

Re: Noesis studio extensions, view scripting intentions, and nine slicing

22 Dec 2025, 18:11

The best way to confirm is by checking against XamlPlayer.

Additionally, the source code for all Studio extensions can be downloaded here.
 
net8floz
Topic Author
Posts: 27
Joined: 16 Dec 2025, 02:34

Re: Noesis studio extensions, view scripting intentions, and nine slicing

22 Dec 2025, 18:31

Thanks again for your patience and for the additional extension source code - understanding that the render bug is not expected and not part of the desync, I investigated my integration some more and moving OffscreenRender out of my draw loop and into my update loop solved the rendering bugs for me. I am happy to report I am no longer able to reproduce opacity or viewbox scaling bugs. In the future I will consult with the XamlPlayer more thank you for pointing it out.

I am once again excited to build some UI in Noesis!

Who is online

Users browsing this forum: No registered users and 9 guests