View Issue Details

IDProjectCategoryView StatusLast Update
0004632NoesisGUIStudiopublic2025-12-11 12:41
Reporterdstewart Assigned Todfranjic  
PrioritynormalSeveritymajor 
Status resolvedResolutionfixed 
Product VersionStudio_Beta 
Target VersionStudio_Beta 
Summary0004632: Backups Of The Last Open Studio Unity Project Can Spawn Into a Fresh Project
Description

Currently, it appears that our Studio Unity Backups are project-agnostic, and can be injected into fresh Projects that happen to contain the same .xaml filename.

This causes a Page from an old Project, to be injected into a brand new Project.

Video of the issue in action: https://youtu.be/YAKdksi1xN0


Repro Steps:

1) Download the latest version of the NoesisGUI-Unity plugin from: https://www.noesisengine.com/forums/viewtopic.php?t=3747
(I'm using NoesisGUI-Unity-4.0.0b7.zip for this.)

2) In a folder, create two directories side-by-side: 'Project_A' and 'Project_B'.


3) Open the Unity Hub and select 'Create a new Project'.

4) In the New Project creation interface, select the latest 'LTS' version of Unity (I'm using 6000.0.60f1'), then select the '3D (Built-In Render Pipeline)' Template.

5) Give the Unity Project a name of 'Project_A', pick to save it to a local location of the Project_A directory created in Step 2), then select 'Create Project'.

At this point, the Unity Engine will load the project. Wait until it has loaded before proceeding to the next step.

6) In Windows Explorer, navigate to the directory set in Step 4), and create a sibling directory to 'Packages', named 'Packages_External'.

7) Enter the 'Packages_External' directory, and copy-paste into it the unzipped NoesisGUI-Unity plugin folder downloaded in Step 1)

8) Return to the opened Unity Project, and navigate to the Toolbar's 'Window' option, then select 'Package Manager'.

9) With the Package Manager open, click on the '+' icon in the upper left of the window, and select 'Install Package from Disk'.

10) Navigate to inside of the 'Packages_External' directory created in Step 5), enter the NoesisGUI-Unity plugin's folder, then select 'package.json', and press 'Open'.
This will install the NoesisGUI-Unity Plugin into the current project.

13) Navigate to the Toolbar, and from 'Tools/NoesisGUI', select 'Open Studio Project'.
This will open Noesis Studio within Unity.

14) In Studio's Assets Panel, expand '/Scenes'.

15) Within '/Scenes', create a new Page named MainPage.xaml
Creating this Page will automatically open it in a tab within Studio.

16) Introduce a TextBlock to the Page within the RootGrid, give it a custom colour, and a custom text, and save all open documents.

18) In Unity, double-click the 'SampleScene' scene in the Project directory.

19) Click-and-drag the 'MainPage' Noesis item in the Project directory, on top of the 'Main Camera' in the Unity Hierarchy.
This will make the Noesis page render on Unity's 'SampleScene' Main Camera.

20) In Studio Unity, make any visible changes to the TextBlock (eg changing colour, Text, and Alignment)

21) Close Unity completely without saving beforehand. The most effective way to achieve the desired result here, is to End the Unity task from the Task Manager.
This, in theory, will bypass Unity and Studio's request to save before quitting, and place the changes made to the TextBlock in MainPage.xaml into the 'backups'.


22) Repeat Steps 3) through 15). but creating a Unity Project named 'Project_B', within the directory 'Project_B'.

23) Close the Studio window within Unity, and re-open it from the Toolbar. Under 'Tools/NoesisGUI', select 'Open Studio Project'.

Observe how the MainPage visible is the one created in Project_A.

PlatformAny

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2025-12-10 16:27 dstewart New Issue
2025-12-10 16:54 dstewart Description Updated
2025-12-10 17:34 dstewart Description Updated
2025-12-11 12:40 jsantos Assigned To => dfranjic
2025-12-11 12:40 jsantos Status new => assigned
2025-12-11 12:41 jsantos Target Version => Studio_Beta
2025-12-11 12:41 jsantos Status assigned => resolved
2025-12-11 12:41 jsantos Resolution open => fixed