Question / Help 'New Profile' deletes previous Profile

Roninpawn

New Member
The better way to say this is that it "eats" the already created profile, because the scenes aren't actually deleted, just unlinked, somehow.

I had a profile named "Untitled." I created four scenes with lots of sources... took ages to put together. Anyway, I went to the Profile dropdown on the menubar, selected 'New Profile,' named it 'Recording,' and it made me a new profile. Then I went back to the menubar and selected my previous "Untitled" profile, only to find there are no scenes.

So I looked in the folders for scenes and profiles under %appdata%, and the scenes I created are right there in Untitled.json, but they don't load when I select that profile. I got around it by creating yet another profile named 'Main.' I put a new source into the scene in 'Main' just to see what would happen in the files. When I did that the 'Recording.json' ended up with my new sources in it, and there's no Main.json even created.

I fixed my own setup by replacing 'Recording.json' with 'Untitled.json' and now I have all my scenes back. The side effect is I found a very clear bug here. New profiles are linked incorrectly to the Scene JSON of previous profile in the list.

Please reply if you can confirm the bug.
This one should be easy to squish.
 

Sapiens

Forum Moderator
Profiles and scene collections are totally separate, it sounds like you're conflating the two. Profiles contain all of your OBS settings, scene collections contain your scenes and sources. They aren't linked and must be saved/loaded separately.

When you save a settings profile, it's stored in %appdata\OBS\profiles. When you save a scene collection it's stored in %appdata%\OBS\sceneCollection. When you pick a scene collection to load in OBS, it's copied from the .\sceneCollection folder into the scenes.xconfig file in the base %appdata%\OBS folder.
 

Roninpawn

New Member
This all came up when I transferred into OBS Studio. And I think you're referencing the way the old OBS works. Am I in the wrong forum maybe? I only signed up to report the bug so that could be the case. Anyway, everything I'm referencing is happening under the 'obs-studio\basic' directories 'profiles\' and 'scenes\.' I may have my directories confused or their inter-relations misunderstood, but I set everything up from scratch; I didn't move files from the old obs to the new obs-studio. I only started tinkering with the directories when everything broke.

The fact remains that when I made a new profile under a clean install of obs-studio my scene collection for the first profile disappeared from the interface. I can also add to this bug report that the custom settings for resolution, bandwidth, etc, also disappeared from the 'basic.ini' of the Untitled profile when the new profile was written. It was reset to just 'Name=Untitled,' and all my bitrate and resolution settings were lost.

As of now, my obs configuration is working again, without having to recreate all my scenes, and here's what I did to get it back: I created a third profile called 'Main.' And I made a scene in Main to see where that scene would be written in the 'obs-studio\basic\scenes' directory. It was oddly stored to the Recording.json created by the previous profile. So I took the contents of the original Untitled.json, which still had all my original scenes in it, even though they nolonger showed when I loaded that profile, and I renamed that file to Recording.json. When I opened OBS Studio, all my scenes were back, and were loaded under the 'Main' profile. Then I deleted the two other profiles and everything is fine.

So right now the new profile 'Main,' is pulling its scene collection from Recording.json, which was created along with a profile that no longer exists, and incidentally no Main.json was ever created. I may not understand exactly how everything is interconnected, but this can't be intended behavior. It seems to me that the problem is in profile-scene linkage. From afar I would guess that its as simple as an array somewhere in a 'New Profile' function that's writing the scene collection source from myArray[1] when it should be myArray[0] and overwriting previous linkages with values from the wrong profile.

I'm sure the bug can be easily recreated by making a few scenes in a clean install of OBS Studio, then creating a New Profile. The first profile should lose all its scenes in the interface, but you'll find them still stored within the original profile's name in the .json's under 'scenes\.'

If you find you can't recreate, it could have to do with the initializing profile never being given an original title. I left it 'Untitled.' Or maybe at some point in the mess I accidentally made a new profile with the same name as a previous one -- maybe I asked OBS to make the 'Recording' profile twice -- and it let me but that confused all the links.

I'm independently employed as a YouTuber/Livestreamer so I can't break my install again to investigate it further. But hopefully this report helps someone else track down the error. Or someone who has lost their scenes recover them without having to do it all from scratch.

Thanks.
 

Sapiens

Forum Moderator
Sorry, yes, this is the OBS1 support forum. I can move your thread to the right place. The correct directories for Studio are %appdata%\obs-studio\basic\profiles for your settings profiles and %appdata%\obs-studio\basic\scenes for your scenes, as I think you've discovered.

However in both OBS1 and Studio, profiles and scene collections aren't linked and don't depend on each other, so I'm having difficulty understanding what's going on. I think you may just be using the terms interchangeably? For example, when you say "I created a third profile called 'Main.' And I made a scene in Main" - you can't add scenes to profiles, because profiles just contain OBS settings (the stuff you see when you click on the Settings button). You add scenes and sources to a scene collection.
 

Roninpawn

New Member
Sounds like it's a misunderstanding of more than terms. I didn't realize that scene collections were totally independent in OBS Studio. I've been under the impression that the second profile had its own profile-dependent collections of scenes.

But that simplifies it, kind of. Then the bug I'm reporting might be reduced to more of a mismatched UI implementation. With the understanding that scene collections are totally separate... then when I make a new profile, is it intended behavior that the new profile also automatically create an empty scene collection and switch my selected scene collection to this new unpopulated one? If so, that's how we get here. The idea of the independence of profiles from scene collections is undermined by the automatic creation and unrequested swapping of new scene collections that occurs on new profile creation.

When I clicked 'Create Profile' and my scenes all disappeared, I was taught right there that profiles contained scenes, and a new profile meant new scenes. When I tried to go back to my old profile and the scenes didn't return -- I didn't go looking for a way to swap the scene collections, I assumed my previous Profile was corrupted. Then when I go looking through the backend trying to find my missing scenes, I find the Scene Collections share the names of the Profiles and... Tada.

I suppose if I'm the only one who thoroughly misunderstood the disappearance of all my scenes when I clicked "New Profile," then there's no need to change that implementation. But I'd be really surprised to find that users intuitively understand the separation of Profiles and Scenes given creating a Profile seems to create a new Scene Collection.

...or, maybe it's still just a bug. I have no idea, but I'm honestly having fun going back and forth trying to make sense of this.
 

Roninpawn

New Member
It just dawned on me... If I finally understand what's going on here: The ideal UI setup that maintains the flexibility of having everything independent but in an intuitive way! Profiles should remember the Scene Collection they were last set to.

The UI of it is intuitive because switching profiles will show the user what they expect to see: the scenes they were last using with that profile. When a new profile is made a new Scene Collection can be made to pair with it just as it is now, but switching back to a previous profile will also switch the scene collection so no one will have the WTF moment I did. Everything remains independently selectable just as it is now with scene collections changeable within a given profile and no direct marriage between them. And it's all implemented with a single added variable to the basic.ini of Profiles to store the Scene Collection in use.

PREfect. Good days work. I'm off to the pub.
 
Top