Godot Version
Godot 4.4
Question
So I am using Godot on my Mac computer and I need to export my game to windows however when I do so my game breaks, hazards dont spawn you can even see the walls and background. the style of my game uses 90% shaders to make the art and effects but that does not explain why lasers arnt even firing and on top of that why the game is completely broken. It works and runs fine in editor on Mac. and parts of it are broken running on editor on windows is it a rendering problem in the godot settings or do I need to completely remake my game for windows? if anybody has tips I really need it cause im pitching to a publisher in a week and need to get this exported to windows
MAC VERSION:
WINDOWS VERSION
1 Like
Does it work when exported?
I do a mix of making mine on linux and macos, but “play in editor” vs “play when exported” problems aren’t unique to the OS (or even engine, it’s a famously big issue on Unity and Unreal, too)
I figured out the problem for anybody wonder it is a problem with how textures work in godot 4.x basically when exported the go from resource.tres to resource.tres.remap this key .remap thing that godot does when exporting messes up resources if you try and fine the file with resources in it. you need to directly reference the resources and it works fine BEST OF LUCK TO YOU GUYS
Keep in mind that all resource names need to be in snake_case for windows exports or they will not show up. Any capital letters cause the images/sounds, etc to just not be there.
I think you’re talking about how windows handles files case-insensitively, in which one working from windows may name files with mixed capitalization and load with different capitalization (aka file named "My_Resource.tres" could be loaded with "my_resource.tres"), this will work while debugging but fail on export as the pack file does care about capitalization, and the windows quirk is removed. But developing on Mac or Linux does not have this quirk, mixed capitalization will be detected early and work for any other platform.
Based on their solution I’m guessing they did not use load to load most of their resources instead pathing to them and using a runtime loader, which could still work if they used ResourceLoader.list_directory, but any exported project, window, mac, or otherwise will fail to read the same runtime-path from res:// as the files are remapped and compressed.
1 Like