Solution: My approach to collisions used ToString conversions of hash values, this isn’t something that can happen in Release Versions of the game. The workaround is to check for the hash values instead of looking for partial string matches.
my game uses units that are Game Object instances, created by a factory.
When I load my game’s level, it initializes the game objects and the collision objects correctly, and detects collisions in general, but the URLs of these units, usually listed as GameWorld: <Instance#>: <Name of the Game Object> are instead being overwritten to not know the instance number or the Game Object name, but only in Release mode Bundles.
When I make a unit in the game, in a local build version, I get this value as the msg.url() (I used a msg.post to change a gui node to this value to debug in release mode):
when I build the unit in a Debug bundle, I get this value (the same one):
However, when I build the unit in a Release Mode bundle, I get this value:
I’ve tried manually setting the path to the URL, thinking it just didn’t automatically set in release mode, and it still lists itself as “GameWorld: <unknown>#<unknown>”, is there some kind of special nuance with Release bundles that would make the instance and Game Object values not assign to URLs properly?
Also in case it’s important, the normal lifecycle of the code is:
press a gui button > send a message to the Gameworld Script > Gameworld Script receives a message to make a Create a factory instance > factory creates a Game object Instance> game object instance initializes all its values.
I cut the life cycle down in places, even getting to the point where the units would just spawn once the level loaded in. but I still got the unknown instance and game object issue.