Migrating a Unity Blend project into Noesis Studio
Hey All,
Still enjoying using studio but I'm now experimenting with integrating and using Studio into an existing Noesis blend project for the sake of research. I realise this is a bit of a doozy so I quickly want to expand on what I've experienced and see if I am pursuing the correct path on this.
I've created a noesis studio file at the root of the relevant Noesis folders and the correct structure (and subsequent) xaml files appear in the hierarchy within the studio GUI. However a lot of the assets appear missing or Magenta, a sign (usually) of a missing style. As this is a fairly large scale project it's proving to be fairly cumbersome as a lot of styles are currently not being referenced correctly.
I saw an original post in this forum asking about a similar issue and saw it was a matter of merging the existing ApplicationResources.xaml into the GlobalResources.xaml which I have done. Unfortunately a lot of blank xaml files/magenta styled items but when loading the game in Unity it seems to all work however the fonts seem to fallback to their system default due to not finding the font files.
I quickly tried merging a specific xaml file kept in our global resources xaml, a button style, into a page's xaml and when that was done I was able to select the style on the button (for that page) in question but due to further broken references within the style it wasn't of much use.
Digging further and opening the original ApplicationResources.xaml in VSCode,there's (unsurprisingly) a fair amount of broken references, a lot of complaints seem to relating to unknown element types, assumedly due to the namespaces not being resolved correctly.
The project (expectedly) works completely fine in blend and Unity outside of this and has no issues there which makes me think that integration, whilst it might be possible, could end up being more time consuming than pursuing this purely in Studio instead, effectively 'porting' the interface and re-creating it under studio sensibilities instead.
This leads me to my question, is it currently worthing trying to migrate an existing Blend project into Noesis Studio and if so, is there any advise/reference on how to approach it or is it better to pursue a porting of the UI instead? No worries either way I just want to scope this out fully before commiting to an option.
Many thanks,
Jack
Still enjoying using studio but I'm now experimenting with integrating and using Studio into an existing Noesis blend project for the sake of research. I realise this is a bit of a doozy so I quickly want to expand on what I've experienced and see if I am pursuing the correct path on this.
I've created a noesis studio file at the root of the relevant Noesis folders and the correct structure (and subsequent) xaml files appear in the hierarchy within the studio GUI. However a lot of the assets appear missing or Magenta, a sign (usually) of a missing style. As this is a fairly large scale project it's proving to be fairly cumbersome as a lot of styles are currently not being referenced correctly.
I saw an original post in this forum asking about a similar issue and saw it was a matter of merging the existing ApplicationResources.xaml into the GlobalResources.xaml which I have done. Unfortunately a lot of blank xaml files/magenta styled items but when loading the game in Unity it seems to all work however the fonts seem to fallback to their system default due to not finding the font files.
I quickly tried merging a specific xaml file kept in our global resources xaml, a button style, into a page's xaml and when that was done I was able to select the style on the button (for that page) in question but due to further broken references within the style it wasn't of much use.
Digging further and opening the original ApplicationResources.xaml in VSCode,there's (unsurprisingly) a fair amount of broken references, a lot of complaints seem to relating to unknown element types, assumedly due to the namespaces not being resolved correctly.
The project (expectedly) works completely fine in blend and Unity outside of this and has no issues there which makes me think that integration, whilst it might be possible, could end up being more time consuming than pursuing this purely in Studio instead, effectively 'porting' the interface and re-creating it under studio sensibilities instead.
This leads me to my question, is it currently worthing trying to migrate an existing Blend project into Noesis Studio and if so, is there any advise/reference on how to approach it or is it better to pursue a porting of the UI instead? No worries either way I just want to scope this out fully before commiting to an option.
Many thanks,
Jack
-
-
sfernandez
Site Admin
- Posts: 3363
- Joined:
Re: Migrating a Unity Blend project into Noesis Studio
Hello,
If you already created the .noesis outside Assets/ folder, and merged into the GlobalResources.xaml the resource dictionary where you define your styles and templates, then the only remaining issues must be from custom controls and classes defined in your Unity project in C#.
As explained in other posts we don't have yet a version of Studio integrated into the Unity plugin. And the standalone version of Studio doesn't have access to things defined in Unity, so all references to custom classes and types will fail. We're actively working on that integration and will be ready in the following weeks.
Cheers,
If you already created the .noesis outside Assets/ folder, and merged into the GlobalResources.xaml the resource dictionary where you define your styles and templates, then the only remaining issues must be from custom controls and classes defined in your Unity project in C#.
As explained in other posts we don't have yet a version of Studio integrated into the Unity plugin. And the standalone version of Studio doesn't have access to things defined in Unity, so all references to custom classes and types will fail. We're actively working on that integration and will be ready in the following weeks.
Cheers,
-
- JoshCampbell_LuckyVR
- Posts: 2
- Joined:
Re: Migrating a Unity Blend project into Noesis Studio
I am running into similar issues migrating our project over to Noesis Studio. It is also a rather large project and also using Unity. I'm looking for advice on how to best get it set up.
On opening the project I encountered over 1000 issues many of which were fairly straight forward to resolve but some are proving to be more difficult.
After resolving a lot of the major conflicts, I noticed that some of our User Controls and other custom elements will load without issue but referencing these UserControls (or other elements) inside another file will break due to unresolved namespaces. Similar to the original post.
I'm seeing that the "Initialize Component" method cannot be found inside the VS Code project (but as OP stated, resolves as expected in the Blend solution) and assume that the failure to build and compile the project are the source of many of our issues.
On further investigation I discovered that the InitializeComponent() method is defined in a g.cs file (ie. XamlFileName.g.cs) which seems to be generated code presumably generated as part of the build process.
We currently use a mix of custom elements, control templates and styles and it would be a significant amount of work to move all of our Custom Elements that are implemented as their own classes (ie. Buttons, UserControls, etc.) into styles or control templates although this might be the way to go in the long term.
For context, our namespaces that contain these custom elements are all defined inside the blend project (outside of unity).
Here is an example: As you Can see above, the blend project resolves fine but in VS Code we get the following results: I'm wondering what the best process is to get past these issues. If initialize component is no longer necessary in the Noesis Studio workflow as it is in Blend then commenting this out is easy enough and after doing this I see that the VS code project will successfully build but still does not resolve the namespace issues.
A couple questions:
1. Will the lack of InitializeComponent have any impact on the functionality of Custom Elements we've created as classes? If so, what would be the easiest way to get Initialize Component to resolve?
2. Is there anything more required to get the Namespaces to resolve so these elements can be viewed properly in Noesis Studio when referenced in another XAML File?
On opening the project I encountered over 1000 issues many of which were fairly straight forward to resolve but some are proving to be more difficult.
After resolving a lot of the major conflicts, I noticed that some of our User Controls and other custom elements will load without issue but referencing these UserControls (or other elements) inside another file will break due to unresolved namespaces. Similar to the original post.
I'm seeing that the "Initialize Component" method cannot be found inside the VS Code project (but as OP stated, resolves as expected in the Blend solution) and assume that the failure to build and compile the project are the source of many of our issues.
On further investigation I discovered that the InitializeComponent() method is defined in a g.cs file (ie. XamlFileName.g.cs) which seems to be generated code presumably generated as part of the build process.
We currently use a mix of custom elements, control templates and styles and it would be a significant amount of work to move all of our Custom Elements that are implemented as their own classes (ie. Buttons, UserControls, etc.) into styles or control templates although this might be the way to go in the long term.
For context, our namespaces that contain these custom elements are all defined inside the blend project (outside of unity).
Here is an example: As you Can see above, the blend project resolves fine but in VS Code we get the following results: I'm wondering what the best process is to get past these issues. If initialize component is no longer necessary in the Noesis Studio workflow as it is in Blend then commenting this out is easy enough and after doing this I see that the VS code project will successfully build but still does not resolve the namespace issues.
A couple questions:
1. Will the lack of InitializeComponent have any impact on the functionality of Custom Elements we've created as classes? If so, what would be the easiest way to get Initialize Component to resolve?
2. Is there anything more required to get the Namespaces to resolve so these elements can be viewed properly in Noesis Studio when referenced in another XAML File?
Re: Migrating a Unity Blend project into Noesis Studio
Hi Josh,
You're on the right track, but to properly load your user controls and namespaces, you'll need the version of Noesis Studio that's integrated into Unity. We're currently working on this integration, but it's not available yet.
In the meantime, the most effective workaround is to move your user controls into control templates. This is generally a good practice, though it might not be feasible for all of your classes.
With the deprecation of Blend, #if NOESIS blocks will no longer be necessary, as everything will be handled by Noesis and compiled directly by Unity. You'll still need to use InitializeComponent(), we don't have any plans to change that for now.
We're planning to release version 3.2.8 later this week. After that, we’ll share more information about Noesis Studio integration in both Unity and Unreal. The team is actively working on it.
You're on the right track, but to properly load your user controls and namespaces, you'll need the version of Noesis Studio that's integrated into Unity. We're currently working on this integration, but it's not available yet.
In the meantime, the most effective workaround is to move your user controls into control templates. This is generally a good practice, though it might not be feasible for all of your classes.
With the deprecation of Blend, #if NOESIS blocks will no longer be necessary, as everything will be handled by Noesis and compiled directly by Unity. You'll still need to use InitializeComponent(), we don't have any plans to change that for now.
We're planning to release version 3.2.8 later this week. After that, we’ll share more information about Noesis Studio integration in both Unity and Unreal. The team is actively working on it.
Who is online
Users browsing this forum: No registered users and 2 guests