• 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.

Antivirus users PLEASE READ --- How to fix blank sprites for GMS 2.3 builds

FrostyCat

Redemption Seeker
How to fix blank sprites for GMS 2.3 builds

Overview

This guide documents the procedures for allowing Igor.exe (the resource compiler) to access sprites on systems with Avast Antivirus or other heuristic ransomware protection software installed. Failing to do this may cause sprites to become blank in test runs and final builds.

Avast Antivirus
  1. Open Avast Antivirus, select Menu > Settings.
  2. Go to General > Allowed & Blocked Apps, click Add App under List of Allowed Apps.
  3. Click Select App Path and select the Igor.exe in these locations (where xxxxxx is the current runtime version):
    • Stable: C:\ProgramData\GameMakerStudio2-Beta\Cache\runtimes\runtime-xxxxxx\bin
    • Beta: C:\ProgramData\GameMakerStudio2-Beta\Cache\runtimes\runtime-xxxxxx\bin
  4. Make sure the Ransomware Shield box is checked, then click ADD.
You will need to do this again whenever you update the runtime on GMS 2.

Other Vendors

Put the Igor.exe in these locations on Allow for ransomware protection (where xxxxxx is the current runtime version):
  • Stable: C:\ProgramData\GameMakerStudio2-Beta\Cache\runtimes\runtime-xxxxxx\bin
  • Beta: C:\ProgramData\GameMakerStudio2-Beta\Cache\runtimes\runtime-xxxxxx\bin
You will need to do this again whenever you update the runtime on GMS 2.

Addendum: Why is this happening?

The current project format for GMS 2 saves sprite frames in PNGs with UUID4 file names like this:

Code:
C:\Users\Developer\Documents\MyProject\sprites\spr_example\0d81bef8-19ec-4b2c-a79e-dad42ab5857a.png
Many kinds of ransomware also overwrite files using UUID4 file names, and this similarity in behaviour causes ransomware protection to deny Igor.exe access to the sprite frames. When Igor.exe fails to find a sprite frame, it automatically replaces it in the build with a blank sprite, hence the missing graphics.
 

DaveInDev

Member
strange, I have AVAST on my machine and it does not complain about Igor (that is used in my VM compilation output log, I checked)...
The only "problem" I have with AVAST is that it performs a sandbox check the first time I run a new compiled GMS EXE, that's all.
 
V

Vanta1

Guest
This fix was working for me, but suddenly it stopped.

I have made sure to do this for all runtimes installed, so I don't think it has anything to do with not doing it for the latest runtime.

It's back to the old issue now, is anyone else having this issue? Does anyone have a fix?
 

DaveInDev

Member
Is it possible that this problem only occurs on the beta ? Because I run GMS2 last "stable" release + AVAST on Win10x64 without any annoying messages.
Then if it occurs only on the beta, should we inform the devs of this possible problem on the next official release ?
 

Evanski

Raccoon Lord
Forum Staff
Moderator
Is it possible that this problem only occurs on the beta ? Because I run GMS2 last "stable" release + AVAST on Win10x64 without any annoying messages.
Then if it occurs only on the beta, should we inform the devs of this possible problem on the next official release ?
It occurs in the stable builds aswell, just spend a few minutes in the programming section and you'll find many people with this problem
 

DaveInDev

Member
Ok, I just wonder what is different on my system, that can explain that I do not have the problem, and that might help others...

Does it mean that it can happen when you distribute your game, on the "client" side ? Or is this igor.exe only active when developing ?
 

Dan

GameMaker Staff
GameMaker Dev.
I will say we have had this covered in User Permissions and Internet Access Required by GMS2 for quite a while, and that guide has been linked-to on the bug-reporting page as part of the known issues for at least since early Dec also. However, yes, we are beginning to mention this issue at every opportunity, as there do seem to be a lot of Avast/AVG users and we're expecting more tickets as 2.3.2 betas roll out...

However, your suspicion/theory (if you have documented evidence from the AV providers, we genuinely would love to see this - not being sarcastic in any way!) that it's the filename format which causes this was not currently being considered, as GMS2 has always named files this way and yet this issue has only really started in the last 6 months or so at the very most.

I have already passed on all the information here, though, and we absolutely are going to try changing the filename format internally asap and see if it does fix this. I will update when we know the results of this.

Thank you for investigating it!
 
D

DerekBones

Guest
I've followed these instructions, managed to add Igor.exe to avast Allowed Apps.
Sprites are still not showing up. Is frustrating as I just purchased GMS 2 today, and was hoping to get right into development.
Stuck at this wall, and out a few hundred dollars, if I can't get it to work. :(


seems to be working now?
 
Last edited by a moderator:
I

IanBarkerArt

Guest
I uninstalled Avast altogether and restarted my computer. I still get the blank sprite issue (fresh install of GMS2 downloaded today). So I am guessing there are multiple problems resulting in blank sprites, and Avast is only one of them.
 

Evanski

Raccoon Lord
Forum Staff
Moderator
I uninstalled Avast altogether and restarted my computer. I still get the blank sprite issue (fresh install of GMS2 downloaded today). So I am guessing there are multiple problems resulting in blank sprites, and Avast is only one of them.
The basic run through
  1. is there a sprite assigned to the object?
  2. is the object in the room?
  3. does the object have a draw event that is overwriting the basic draw? then add draw_self()
  4. Avast
 

rIKmAN

Member
Check the texture groups and that the sprite(s) are in the default group.

I vaguely remember an issue where things weren't assigned correctly by default, although that may have been with imported/converted projects in an older version and has since been fixed. Still may be worth double checking just in case.
 
To be brutally honest I feel like this is becoming a chronic enough problem that persists across enough antivirus programs that YoYo needs to put altering the way files are saved to stop it happening on the list of vital bugfixes
 

gnysek

Member
I also think that IDE should detect some of most problematic antiviruses and display message when IDE starts, to remind that exceptions need to be added for antivirus.
 

Dan

GameMaker Staff
GameMaker Dev.
So I am guessing there are multiple problems resulting in blank sprites, and Avast is only one of them.
As mentioned above, there are a number of reasons they might legitimately not be drawing, but it sounds like you have investigated them. Your compiler log will already be telling you if there was a genuine issue with the sprite files themselves, so please ensure you review that.

However, as gnysek mentioned in the other thread, please ensure you have at least clicked the button to clean your cache, but be aware you could potentially need to go delete the files manually in Explorer/Finder. as we say in the guide I linked-to above. Because if your current cache files are not using suitable permissions for your Windows/Mac user account, then uninstalling Avast alone won't have fixed that.
 
I also think that IDE should detect some of most problematic antiviruses and display message when IDE starts, to remind that exceptions need to be added for antivirus.
That would for sure be a helpful stopgap until they managed to re-tool offending method of handling files to remove the bug completely.
 

gnysek

Member
Also, if there's problem with file saving (in compiler), it also should display error/alert message suggesting permissions/antivirus, that would be much more helpful, so people can search for reason.
 
Last edited:

gnysek

Member
I have already passed on all the information here, though, and we absolutely are going to try changing the filename format internally asap and see if it does fix this. I will update when we know the results of this.
Any news about this? I'm just curious, as it seems that reports about that issue aren't rising anymore nowadays.
 
Top