What You SHOULD Do
- When creating PARENT-CHILD relationships, ALWAYS make the PARENT first and use the right-click context menu to create a CHILD from that PARENT in the Asset Browser.
What Happens If You DON’T Do That
- Otherwise, if you set an object to be a PARENT or CHILD after the fact, GM will FORCE you to have to MANUALLY set EVERY PARAMETER to inherit by yourself. In other words, nothing will automatically be inherited. This is probably because GM doesn’t want your game to become completely broken by automated inheritance and wants you to knowingly set what should be inherited or not. However, this means PARENT-CHILD relationships essentially become USELESS and do not save any time since you have to set everything yourself. If the inherited property doesn’t match the original, it might not even allow you to select the INHERIT button at all.
- If you ACCIDENTALLY change an inherited property, it will change the property WITHOUT a warning, FORCE UNINHERITENCE, and DISABLE the INHERIT button. Changing the parameter back to the original will NOT re-enable the INHERIT button, EVEN if you completely restart GM.
Painful Solutions
If the INHERIT button does get disabled, here’s how to fix it.
- Manually look for the
.yy
file in therooms
directory of your project. - Open this in a text/code editor and look for the parameter you want inherit.
- Manually set
"inherit":
totrue
.- You don’t need to set anything else specifically; just set the
inherit
property and the others will be fixed after restart.
- You don’t need to set anything else specifically; just set the
- Restart GM.
- Actually, you don’t have to restart GM fully. You just have to restart the Room Editor, by selecting a different room and then returning to the one you edited. It is still probably a good idea to restart anyway though, in case there are some other things that need to get reset.
- CAUTION: There is a possibility GM will stupidly break all your instance links. The instance will be listed in the IDE, but the objected will not actually be scheduled to be created.
* Look in the same
.yy
file, for the following code and make sure your instance is there. If it isn’t, you might have to manually add it to the room again, so it will be HUGE PAIN."instanceCreationOrder": [ {"name":"inst_7DF93CD8","path":"rooms/rm_game_start/rm_game_start.yy",}, ],