• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Child room not updating

S

shrunkenmaster

Guest
New to parent/child rooms so please forgive me if I'm being stupid..

After creating a child room I have two issues:

1.
If I delete an instance via the room editor from the parent room, it is still showing up in the child room as an instance under Layer Properties, but with a question mark.
If I click the Layer Properties button twice it goes away, but this is rather annoying. screenshot.png

2.
If I draw any new tiles in the parent room I would expect them to display in the child room, but this is not the case.
The child room has the inherit button checked in Layer Properties for the tile layer.
The child room only displays what was initially in the parent room (before I created the child room).


Am I missing something?
 
T

troyleenall

Guest
nope. you hit the same problem as me.

i would like to point out that my camera and viewports are set to smaller 480x360 settings.

Ive also have found when clicking "inherit" on the child's tile layer, that the grid of the viewing port start to a higher setting
and then clicking inhernt button AGAIN finally gets my child to the correct 480x360 grid setting, but still no update from parent. :-(

ive gone back as far as SEPTEMBER of last year(2020) and have found similar bugs from people.
They just decided not to use room inherit in their projects BUT its something I was counting on.

I was seriously thinking of sinking more money into Gamemaker Studio as a developer when the time
rolled around BUT this has made me rethink it. While a small issue, and its been around for 6+ months
kindof makes me think differently about putting more money into Gamemaker Studio.
 

rIKmAN

Member
@shrunkenmaster @troyleenall
Have either of you submitted a bug report about the issue and provided a small example project and/or reproduction steps?
If not you should do, it won't get fixed if it doesn't get reported.

Use Help > Report a Bug in the IDE and fill out the form.

If you've already made a report then login and check the status of your ticket and follow up on it if it's been a long time with no reply from support.
 
S

shrunkenmaster

Guest
Hello! Have you get any response on that problem? It is really sad, that this bug still exists in new 2.3.2 :(
Sorry to hear the bug is still there. My solution to this and my tilesets constantly getting screwed over was to switch to Godot :)
 
S

shrunkenmaster

Guest
From memory I think they said they were aware of the issue
 

Leonardon

Member
Yoyo games when this "inheritance" issue going to be solved?
It has been around for quite some time.
I there any place we can follow to be aware of the resolution?
Thanks
 

Mightyjor

Member
I'm running into the same issue, really wish we would get some resolution to this. The new layers in my child rooms won't inherit and it makes going in and adding 7 parallax layers for 50 rooms a real pain in the neck.
 

Leonardon

Member
The child rooms inherit when you manually click on each of them.
If a layer was renamed or deleted it from parent room then the child rooms won’t update until you disable Inherit button and enable it again. Oh and you still have to manually rename or delete the layer on each child room.

this behavior seems correct in terms of bringing flexibility and not deleting or renaming anything undesired.

What is missing is a SYNC ALL CHILD ROOMS FROM PARENT button to keep the children exactly like the parent.

I bet it is easy for Yoyo to provide this update and really useful to everybody.

My project, for example, has more than 400 rooms so a layer change means hours of rework on each room.

Yoyo please add this feature for us.

thanks
 

Mightyjor

Member
I’ve also figured out that any layers you want to be inherited SHOULD FIRST BE DELETED FROM CHILD ROOM. If not, you’ll end up with a bunch of duplicated and non-functioning layers
 

muddrox

Member
In case anyone is wondering, room inheritance is still pretty busted in GameMaker.
  • Renaming layers at a parent level will not also rename children layers that are linked to it (although this appears to work with folders at least). In fact, doing anything at a parent level doesn't seem to do anything at all. Instead. . .
  • . . . you must individually open every single room in your game and double-click "inherit layers" which itself is problematic since you may not want to inherit everything all at once. This is because . . .
  • There are no dedicated buttons within the parent to update all children's attributes at once. Have 100 child rooms for a single parent? Have fun going into every single one and pressing "inherit layers" whenever you have to change anything at a parent level. This is a major problem that seems to cost me more time than room inheritance actually saves.
  • Back to discussing renaming layers at a parent level, you have to go to each room, delete the object with the old name, and then double-click "inherit layers" and the renamed one will finally appear. Say bye-bye to any of the changes you made to the child version of that layer. Rinse and repeat for every subsequent child room.
  • Clicking "inherit layers" also seems to shuffle around layer depths for some reason. So be sure to take a picture of your screen before clicking that button so you can manually reorder things again.
  • Sometimes clicking inherit duplicates existing instances in the layer instead of overriding them.
  • Deleting any objects within a layer at a parent level will cause a prompt to appear that asks if you want to delete these instances from all child rooms. After clicking "Delete all", nothing is deleted in the child rooms. So I don't know what that prompt even does.
  • Inheritance for every layer within the child's room is broken whenever a non-inherited layer is moved.
  • Doing anything with inheritance frequently causes Game Maker to throw an error at me saying "Fatal Error: Game Maker has become unstable. Please save changes and exit."
Room inheritance is an absolute disaster and I desperately hope GameMaker is planning on addressing these problems in the near future because they have been there for many years now. To yoyo staff who happen to read this, I LOVE GAME MAKER and I love you guys for supporting such an awesome engine. As a long-time Game Maker lover, please look into fixing the long outstanding issues that occur with room inheritance. Thank you!
 
Last edited:

MeBoingus

Member
In case anyone is wondering, room inheritance is still pretty busted in GameMaker.
  • Renaming layers at a parent level will not also rename children layers that are linked to it (although this appears to work with folders at least). In fact, doing anything at a parent level doesn't seem to do anything at all. Instead. . .
  • . . . you must individually open every single room in your game and double-click "inherit layers" which itself is problematic since you may not want to inherit everything all at once. This is because . . .
  • There are no dedicated buttons within the parent to update all children's attributes at once. Have 100 rooms? Have fun going into every single one and pressing "inherit layers" whenever you have to change anything at a parent level. This is a major problem that seems to cost me more time than room inheritance actually saves.
  • Clicking "inherit layers" also seems to shuffle around layer depths for some reason. So be sure to take a picture of your screen before clicking that button so you can manually reorder things again.
  • Sometimes clicking inherit duplicates existing instances in the layer instead of overriding them.
Room inheritance is an absolute disaster and I desperately hope GameMaker is planning on addressing these problems in the near future because they have been there for many years now. To yoyo staff who happen to read this, I LOVE GAME MAKER and I love you guys for supporting such an awesome engine. As a long-time Game Maker lover, please look into fixing the long outstanding issues that occur with room inheritance. Thank you!
It actually wouldn't be too difficult to write a small program that opens the room files and updates their layer names. You could probably do this in GM pretty easily if you disable the file system sandbox.
 

muddrox

Member
It actually wouldn't be too difficult to write a small program that opens the room files and updates their layer names. You could probably do this in GM pretty easily if you disable the file system sandbox.
I appreciate the suggestion but I really don't feel comfortable writing a program that goes in and changes a bunch of .yy files. I'm afraid my anxiety wouldn't be able to handle it haha.
 

Tangerine

Member
View attachment 57993

This just happened. A pretty common sight whenever I do anything at all with room inheritance. Neat
I feel your pain. I hope they focus a future update on improving the entire room editor. Right now the workflow is horrible with room inheritance.
Overriding a layer should only override the content of the layer and not its properties (depth and name)
I have to manually rename layers in tons of rooms one by one and "shift + ctrl + F" cannot be used to replace layer names.

Additionally, copying and pasting a group of instances sometimes does not position well when grid snapping is enabled or they don't keep the correct scale when it's different to 1, causing problems in pixel perfect collisions. It's not possible yet to assign sprites to intances, only change the image_index...
Not to mention the slowness of the IDE when using the room editor, and I don't have that many instances, if I ever add more it will be horrible...

In general, in my opinion it is very hard to maintain and organize rooms without having to spend time when a change is needed. The room editor is very bad in complex games with tons of rooms...


Don't get me wrong, I love Game Maker, but the state of the room editor is infuriating. I don't know if one day all of this will be considered and fixed.
I don't see many people complaining about this, maybe I don't truly understand the room editor :(
 

muddrox

Member
I don't see many people complaining about this, maybe I don't truly understand the room editor :(
Room inheritance is a busted, buggy, unintuitive nightmare. This isn't a matter of not understanding how something should work. An important IDE feature, room inheritance, at minimum, should work as originally intended by its creators but it doesn't. Sure, I suppose it does allow you to go into every room, one by one, and make changes by double-clicking "inherit layers" but this defeats the purpose of using room inheritance in the first place. If you have to go into every room to "inherit" a parental change then why not just manually update them all at that point without inheritance? At least then you won't have to worry about things bugging out. At best, room inheritance works to generate an *initial* template for whenever a new room is created. At its worst, it literally causes Game Maker to become unstable at any moment's notice, forcing me to exit and *git reset* any room.yy files that were corrupted by it.

Also, I have seen plenty of other posts on Reddit complaining about similar issues that go years back. I don't know why these problems seem to always get swept under the rug despite being so pervasive. The room editor is arguably one of the most essential parts of Game Maker and so it pains me to see room inheritance to be in such a decrepit state. I hope more people speak out about this because I think it really holds Game Maker back for those who are trying to manage projects with lots of rooms.
 

Tangerine

Member
Room inheritance is a busted, buggy, unintuitive nightmare. This isn't a matter of not understanding how something should work. An important IDE feature, room inheritance, at minimum, should work as originally intended by its creators but it doesn't. Sure, I suppose it does allow you to go into every room, one by one, and make changes by double-clicking "inherit layers" but this defeats the purpose of using room inheritance in the first place. If you have to go into every room to "inherit" a parental change then why not just manually update them all at that point without inheritance? At least then you won't have to worry about things bugging out. At best, room inheritance works to generate an *initial* template for whenever a new room is created. At its worst, it literally causes Game Maker to become unstable at any moment's notice, forcing me to exit and *git reset* any room.yy files that were corrupted by it.

Also, I have seen plenty of other posts on Reddit complaining about similar issues that go years back. I don't know why these problems seem to always get swept under the rug despite being so pervasive. The room editor is arguably one of the most essential parts of Game Maker and so it pains me to see room inheritance to be in such a decrepit state. I hope more people speak out about this because I think it really holds Game Maker back for those who are trying to manage projects with lots of rooms.
I have just checked the roadmap, seems that there is nothing new coming for the room editor other than adding text to rooms.

Maybe we would need to create a feature request for this in github
 

Tangerine

Member
I agree. However, I think they should fix the bugs plaguing it first. I can't even use it without risking Game Maker becoming unstable.
You may need to report the bugs.
Maybe someone has reported it before, but I guess if they see a lot of complaints they will give it a higher priority.
 

muddrox

Member
You may need to report the bugs.
Maybe someone has reported it before, but I guess if they see a lot of complaints they will give it a higher priority.
I just did a report a minute ago. Hopefully, I provided enough information. To anyone following this, I'm curious to hear who also relies on room inheritance. Have any of you experienced some of the issues I listed?

In case anyone is wondering, room inheritance is still pretty busted in GameMaker.
  • Renaming layers at a parent level will not also rename children layers that are linked to it (although this appears to work with folders at least). In fact, doing anything at a parent level doesn't seem to do anything at all. Instead. . .
  • . . . you must individually open every single room in your game and double-click "inherit layers" which itself is problematic since you may not want to inherit everything all at once. This is because . . .
  • There are no dedicated buttons within the parent to update all children's attributes at once. Have 100 child rooms for a single parent? Have fun going into every single one and pressing "inherit layers" whenever you have to change anything at a parent level. This is a major problem that seems to cost me more time than room inheritance actually saves.
  • Back to discussing renaming layers at a parent level, you have to go to each room, delete the object with the old name, and then double-click "inherit layers" and the renamed one will finally appear. Say bye-bye to any of the changes you made to the child version of that layer. Rinse and repeat for every subsequent child room.
  • Clicking "inherit layers" also seems to shuffle around layer depths for some reason. So be sure to take a picture of your screen before clicking that button so you can manually reorder things again.
  • Sometimes clicking inherit duplicates existing instances in the layer instead of overriding them.
  • Deleting any objects within a layer at a parent level will cause a prompt to appear that asks if you want to delete these instances from all child rooms. After clicking "Delete all", nothing is deleted in the child rooms. So I don't know what that prompt even does.
  • Inheritance for every layer within the child's room is broken whenever a non-inherited layer is moved.
  • Doing anything with inheritance frequently causes Game Maker to throw an error at me saying "Fatal Error: Game Maker has become unstable. Please save changes and exit."
Room inheritance is an absolute disaster and I desperately hope GameMaker is planning on addressing these problems in the near future because they have been there for many years now. To yoyo staff who happen to read this, I LOVE GAME MAKER and I love you guys for supporting such an awesome engine. As a long-time Game Maker lover, please look into fixing the long outstanding issues that occur with room inheritance. Thank you!
 

Tangerine

Member
I just did a report a minute ago. Hopefully, I provided enough information. To anyone following this, I'm curious to hear who also relies on room inheritance. Have any of you experienced some of the issues I listed?
Great!
Some of them are features that don't exist right now. You could create a feature request on github.
If you get enough 👍 maybe they'll prioritize it
 

muddrox

Member
They are asking about removing it: https://github.com/YoYoGames/GameMaker-Feature-Requests/issues/1359#issuecomment-1750765729

I hope it is because they are going to replace it with something better
Oh my word, why isn't the solution to update it to something that is usable? I feel like the only reason why room inheritance is under-used is because of how unreliable it is. Conceptually, it makes a lot of sense to include a feature like this because it allows the developer to make changes across many rooms at once. This would save a lot of time if you need to rename one shared layer across a dozen rooms. Of course, the feature is so broken that it really isn't worth using in its current state but I don't see why it should be cut outright without a better solution to stand in its place (as you mentioned).
 

gaspar

Member
Room inheritance sounded good at first, something that seemed to solve a problem I was having! I tried it out right now and found this thread when I noticed that changes to parent aren't actually synced to children... unfortunate. It'd be really great to have some kind of a parent to inherit a bunch of layers, instances, and code from. :(
 

muddrox

Member
Room inheritance sounded good at first, something that seemed to solve a problem I was having! I tried it out right now and found this thread when I noticed that changes to parent aren't actually synced to children... unfortunate. It'd be really great to have some kind of a parent to inherit a bunch of layers, instances, and code from. :(
Technically child layers will sync initially but that synchronization is very easily broken by making any changes at all to the child room. That's why you have to go into each individual room to toggle "inherit layers" anytime any minor change is made to the parent room which defeats the whole purpose of room inheritance.

This is assuming that it is working at all given how buggy and unstable it currently is. If I were to reverse time, I would have never implemented room inheritance into any of my projects because it really does more harm than good. It often corrupts my room.yy files and forces me to git reset. It makes Game Maker become unstable very regularly while using it.

In my opinion, room inheritance is the single worst thing about Game Maker by a long mile. So, whatever you do, stay far far away from using this feature until it is fixed/improved. The manual misleads a lot of developers, myself included, into thinking that room inheritance will make your project more manageable when really, it makes it so much worse. It is positively AWFUL and I would love to hear from yoyogames to make a statement about what they plan to do with this feature that is long overdue for an update.

Again, if any yoyo staff is reading this, I love you all and appreciate all that you do to make Game Maker great. My criticism here is meant with the best intentions. ❤
 
Last edited:

Leonardon

Member
yup. years later and I still go through same issue. I got so many rooms and updating one by one every time is painful...
 
Last edited:

Leonardon

Member
Anybody found a way to force the children room to get updated with the parent?
I was checking the properties of room source file…
Maybe we can find the property and do a find/replace on VSCode setting all to OFF.
Open gamemaker to force reload then find/replace again to TURN ON
 
Last edited:
Top