Mod Ren'Py Universal Ren'Py Mod / URM [2.4] (mod any Ren'Py game yourself)

5.00 star(s) 35 Votes
Jul 31, 2021
217
716
Hi so I'm not sure if it's something on my end and I've only seen maybe one post about this on here but whenever I launch COTE: Red Sonata [v0.14.3] it sends me a traceback error followed by the URM mod getting deleted. I'm using the latest version so I'm not sure what it is that I'm missing. Was this something the dev of that game did intentionally and if so, is there a way to bypass that or am I SOL? Cheers.
 

theMickey_

Engaged Member
Mar 19, 2020
2,166
2,735
Hi so I'm not sure if it's something on my end and I've only seen maybe one post about this on here...
If you did search for "red sonata" you should have found 0x52's reply on this issue though...?! The game dev intentionally deletes any modification to the game, but 0x52 does mention a "workaround" for that -- I haven't tested it myself, so I can't tell if it's still working.
 
Jul 31, 2021
217
716
If you did search for "red sonata" you should have found 0x52's reply on this issue though...?! The game dev intentionally deletes any modification to the game, but 0x52 does mention a "workaround" for that -- I haven't tested it myself, so I can't tell if it's still working.
I actually didn't see that they posted a reply to that other post, sorry mate. Will try the workaround and see if that helps. Cheers.

Edit: That did the trick, but it doesn't want to open the URM menu when I press alt + m. :confused:

Edit 2: Nevermind, I guess it was just the prologue that wasn't allowing me to use it? :FacePalm:
 
Last edited:
  • Like
Reactions: theMickey_
Jul 17, 2020
395
273
Hi so I'm not sure if it's something on my end and I've only seen maybe one post about this on here but whenever I launch COTE: Red Sonata [v0.14.3] it sends me a traceback error followed by the URM mod getting deleted. I'm using the latest version so I'm not sure what it is that I'm missing. Was this something the dev of that game did intentionally and if so, is there a way to bypass that or am I SOL? Cheers.
game seems to run aggressive python scripting for anti-tamper? doesn't even want to run vanilla under sandbox environment (file access restrictions/networking blocked)
 
  • Like
Reactions: Fantasy Catharsis

SimReaper18

Member
Jan 11, 2019
112
134
Unity games aren't editable like Ren'Py games, so there's nothing you can really do without some proper hacking AFAIK. Unless the game creator allowed for some sort of scripting on top of the engine, which is unlikely for this genre.
More specifically, Unity games don't follow a particular pattern like RenPy does, such as some specific, set variables and whatnot. You can't just pop a file into Unity and expect to be able to change a character's name or whatever, because that game might use its own code to make a VN, so you'd have to know that code specifically and target it. It's practically impossible to make a "universal" Unity mod that has a lot of the same high-level functionality that URM has, just because of that variation and the nature of Unity as a game engine. A Unity game can be anything, anywhere from a VN to the next Fallout NV, and because of that fact, no Unity mod can be as universal as URM.

However, Unity games are editable like RenPy, if you're willing to use/learn BepInEx, MelonLoader, or any similar modding framework. Those are just easy-to-install modding frameworks that hooks into Unity games and allows certain plugins to be ran, such as or even my mod for Femboy Survival.

TL;DR: Unity can be as moddable (if not more) as RenPy, but there is no plug-and-play, "universal" Unity mod that functions like this one, especially not if the Unity game is a VN.
 
  • Like
Reactions: 0x52 and MaxRichard

Bingoogus

Engaged Member
Sep 5, 2021
3,262
8,241
I have a bit of a random question about this mod. In some games the mod is fluid as can be but in some it's really gluggy, typing into it or deleting text is very slow and i'm just curious what could be causing it? I know that's not giving useful details but i'm just hoping it's a simple sort of thing that really only has one answer, like the game takes up too much RAM or something, i dunno.
 
  • Like
Reactions: Guz007

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,645
6,336
this is great mod, r u considering launching a simplified Chinese language?
It's in my notes, but it's complicated to accomplish

I have a bit of a random question about this mod. In some games the mod is fluid as can be but in some it's really gluggy, typing into it or deleting text is very slow and i'm just curious what could be causing it? I know that's not giving useful details but i'm just hoping it's a simple sort of thing that really only has one answer, like the game takes up too much RAM or something, i dunno.
Does this always happen with specific games or when doing something specific?
 
  • Like
Reactions: Feyd

Bingoogus

Engaged Member
Sep 5, 2021
3,262
8,241
Does this always happen with specific games or when doing something specific?
I've only noticed it here or there, it's pretty rare, i can go a whole bunch of games without seeing it and then some odd one has it. Only real way to notice it is to try typing with the menu up, it's pretty consistent overall, if the game has the problem. Since it's so rare i've never managed to remember long enough to try and find a pattern but i was just figuring it was something simple you'd already know about, like old Renpy versions or a specific module some devs use when they should use another one instead but they're new and don't know better. The fact your asking tells me you're unfamiliar with it which actually surprises me and now i feel like a dipshit for not coming to you with actionable information.
 
  • Like
Reactions: Guz007

DaFinker

Member
Apr 24, 2024
237
554
I'm going to assume the answer is "yes", but if attempting to use URM on a VN that has been finalized and had an independently developed WT mod merged into it, will this cause a conflict?

I'm playing a completed VN for whom someone had done a WT Mod, and the Dev incorporated that mod into the VN and re-issued the "Modded" VN after completion.

I'm trying to go back and change the MC name without restarting, but the script file is .rpyc (or .rpya - I always get those confused when I'm not looking directly at the directory) instead of .rpy, and the definition isn't showing up in any other .rpy file as I've usually found, suggesting that URM is my only real solution outside of completely rewriting the few files I can access with the simple tools I have, or completely restarting the routes from the beginning.

It isn't a huge deal, but there are many routes now, and I finally thought of a fitting name other than the default. Just a little point of "it would be better if", but it isn't an essential thing.
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,645
6,336
I'm going to assume the answer is "yes", but if attempting to use URM on a VN that has been finalized and had an independently developed WT mod merged into it, will this cause a conflict?
I don't see why this would cause a conflict
 
  • Like
Reactions: Feyd

RayJefferson

Member
Mar 4, 2018
332
149
Error with game my Legacy
https://f95zone.to/threads/my-legacy-v1-0-saddoggames.1356/
I'm sorry, but an uncaught exception occurred.

While running game code:
File "0x52-URM/classes/main.rpy", line 6, in script
File "0x52-URM/classes/main.rpy", line 7, in <module>
File "0x52-URM/framework/bootstrap.rpy", line 20, in load
Exception: 0x52: This mod (x52URM) does not support Ren'Py version 6.99.12.4.2187. Lowest supported version is 6.99.14

-- Full Traceback ------------------------------------------------------------

Full traceback:
File "E:\F95\F95 Games\1Complet\1Renpy\My_Legacy_v1.0-pc\renpy\bootstrap.py", line 295, in bootstrap
renpy.main.main()
File "E:\F95\F95 Games\1Complet\1Renpy\My_Legacy_v1.0-pc\renpy\main.py", line 419, in main
game.context().run(node)
File "0x52-URM/classes/main.rpy", line 6, in script
File "E:\F95\F95 Games\1Complet\1Renpy\My_Legacy_v1.0-pc\renpy\ast.py", line 814, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "E:\F95\F95 Games\1Complet\1Renpy\My_Legacy_v1.0-pc\renpy\python.py", line 1719, in py_exec_bytecode
exec bytecode in globals, locals
File "0x52-URM/classes/main.rpy", line 7, in <module>
File "0x52-URM/framework/bootstrap.rpy", line 20, in load
Exception: 0x52: This mod (x52URM) does not support Ren'Py version 6.99.12.4.2187. Lowest supported version is 6.99.14

Windows-8-6.2.9200
Ren'Py 6.99.12.4.2187
 

Right_Raven

New Member
Feb 22, 2017
13
4
Hi friends! Looks like Wife Trainer again spit new error
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 223, in script call
    call day_loop from _call_day_loop
  File "game/script.rpy", line 234, in script call
    call core_loop from _call_core_loop
  File "game/script.rpy", line 253, in script
    call screen wait_for_input
  File "renpy/common/000statements.rpy", line 671, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "renpy/common/00action_data.rpy", line 157, in __init__
    super(LocalVariable, self).__init__(sys._getframe(1).f_locals,
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/script.rpy", line 223, in script call
    call day_loop from _call_day_loop
  File "game/script.rpy", line 234, in script call
    call core_loop from _call_core_loop
  File "game/script.rpy", line 253, in script
    call screen wait_for_input
  File "renpy/ast.py", line 1971, in execute
    self.call("execute")
  File "renpy/ast.py", line 1953, in call
    return renpy.statements.call(method, parsed, *args, **kwargs)
  File "renpy/statements.py", line 349, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 671, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "renpy/exports.py", line 3420, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "renpy/ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "renpy/display/core.py", line 2166, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "renpy/display/core.py", line 2688, in interact_core
    root_widget.visit_all(lambda d : d.per_interact())
  File "renpy/display/displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/screen.py", line 480, in visit_all
    callback(self)
  File "renpy/display/core.py", line 2688, in <lambda>
    root_widget.visit_all(lambda d : d.per_interact())
  File "renpy/display/screen.py", line 491, in per_interact
    self.update()
  File "renpy/display/screen.py", line 697, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/main.rpy.x52", line 72, in execute
  File "0x52-URM/screens/main.rpy.x52", line 72, in execute
  File "0x52-URM/screens/main.rpy.x52", line 82, in execute
  File "0x52-URM/screens/main.rpy.x52", line 114, in execute
  File "0x52-URM/screens/main.rpy.x52", line 143, in execute
  File "0x52-URM/screens/main.rpy.x52", line 158, in execute
  File "0x52-URM/screens/main.rpy.x52", line 161, in execute
  File "0x52-URM/screens/main.rpy.x52", line 162, in execute
  File "0x52-URM/screens/search.rpy.x52", line 5, in execute
  File "0x52-URM/screens/search.rpy.x52", line 5, in execute
  File "0x52-URM/screens/search.rpy.x52", line 17, in execute
  File "0x52-URM/screens/search.rpy.x52", line 80, in execute
  File "0x52-URM/screens/search.rpy.x52", line 90, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 67, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 67, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 68, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 71, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 74, in execute
  File "0x52-URM/screens/search.rpy.x52", line 90, in execute
  File "0x52-URM/screens/search.rpy.x52", line 91, in execute
  File "0x52-URM/screens/search.rpy.x52", line 92, in execute
  File "0x52-URM/screens/search.rpy.x52", line 94, in execute
  File "0x52-URM/screens/search.rpy.x52", line 97, in execute
  File "0x52-URM/screens/search.rpy.x52", line 97, in keywords
  File "0x52-URM/screens/search.rpy.x52", line 97, in <module>
  File "renpy/common/00action_data.rpy", line 157, in __init__
    super(LocalVariable, self).__init__(sys._getframe(1).f_locals,
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

Windows-10-10.0.19041 AMD64
Ren'Py 7.7.3.24061702
The Wife Trainer Files 0.7r
Tue Sep  3 02:26:20 2024
Old fix even dnt found
 
Jul 17, 2020
395
273
Hi friends! Looks like Wife Trainer again spit new error
You don't have permission to view the spoiler content. Log in or register now.

Old fix even dnt found
When you get this exception (just showing it partially here):
return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

This is caused when a developer assigned something to Ren'Py's "sys".
By doing this they broke Ren'Py itself. You can fix this using these instructions.
You don't have permission to view the spoiler content. Log in or register now.
You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:
  • Like
Reactions: 0x52
5.00 star(s) 35 Votes