This is a minor annoyance in a non-default configuration, that can be easily avoided by running dot_clean or manual deletion, but still...
When storing ONI's game data on exFAT (or other writable, non-native filesystem), macOS creates these ._<filename> files, which hold infornation that can't be store natively - unix ownership/permissions, etc. I'm not sure why but ONI sometimes crashes when these files are present. Here's one crash after freshly extracting MapsNotIncluded into mods/local.
In-game log:
QuoteException while loading mod MapsNotIncluded_WorldParser at /Users/USER/Library/Application Support/unity.Klei.Oxygen Not Included/mods/Local/MapsNotIncluded_WorldParser.
System.BadImageFormatException: Invalid Image: /Users/USER/Library/Application Support/unity.Klei.Oxygen Not Included/mods/Local/MapsNotIncluded_WorldParser/._MapsNotIncluded_WorldParser.dll
File name: '/Users/USER/Library/Application Support/unity.Klei.Oxygen Not Included/mods/Local/MapsNotIncluded_WorldParser/._MapsNotIncluded_WorldParser.dll'
at (wrapper managed-to-native) System.Reflection.Assembly.LoadFrom(string,bool,System.Threading.StackCrawlMark&)
at System.Reflection.Assembly.LoadFrom (System.String assemblyFile) [0x00002] in <606c2e0a56af495988c860a4ac613e74>:0
at KMod.DLLLoader.LoadDLLs (KMod.Mod ownerMod, System.String harmonyId, System.String path, System.Boolean isDev) [0x00099] in <c0957303ae5744e8a0dda26621d5beb9>:0at UnityEngine.Debug.LogError (System.Object message, UnityEngine.Object context) [0x00000] in <6fa2428cdd664a9c966f9bcf636d85c5>:0
at Debug.LogError (System.Object obj, UnityEngine.Object context) [0x00000] in <a7677246e5a04e5fb63a80ed22547a4d>:0
at DebugUtil.LogErrorArgs (UnityEngine.Object context, System.Object[] objs) [0x00000] in <a7677246e5a04e5fb63a80ed22547a4d>:0
at DebugUtil.LogException (UnityEngine.Object context, System.String errorMessage, System.Exception e) [0x00000] in <a7677246e5a04e5fb63a80ed22547a4d>:0
at KMod.DLLLoader.LoadDLLs (KMod.Mod ownerMod, System.String harmonyId, System.String path, System.Boolean isDev) [0x00000] in <c0957303ae5744e8a0dda26621d5beb9>:0
at KMod.Mod.Load (KMod.Content content) [0x00000] in <c0957303ae5744e8a0dda26621d5beb9>:0
at KMod.Manager.Load (KMod.Content content) [0x00000] in <c0957303ae5744e8a0dda26621d5beb9>:0
at Global.Awake () [0x00000] in <c0957303ae5744e8a0dda26621d5beb9>:0
at UnityEngine.Object.Internal_InstantiateSingleWithParent_Injected (UnityEngine.Object , UnityEngine.Transform , UnityEngine.Vector3& , UnityEngine.Quaternion& ) [0x00000] in <6fa2428cdd664a9c966f9bcf636d85c5>:0
at UnityEngine.Object.Internal_InstantiateSingleWithParent (UnityEngine.Object data, UnityEngine.Transform parent, UnityEngine.Vector3 pos, UnityEngine.Quaternion rot) [0x00000] in <6fa2428cdd664a9c966f9bcf636d85c5>:0
at UnityEngine.Object.Instantiate (UnityEngine.Object original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation, UnityEngine.Transform parent) [0x00000] in <6fa2428cdd664a9c966f9bcf636d85c5>:0
at UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation, UnityEngine.Transform parent) [0x00000] in <6fa2428cdd664a9c966f9bcf636d85c5>:0
at Util.KInstantiate (UnityEngine.GameObject original, UnityEngine.Vector3 position, UnityEngine.Quaternion rotation, UnityEngine.GameObject parent, System.String name, System.Boolean initialize_id, System.Int32 gameLayer) [0x00000] in <a7677246e5a04e5fb63a80ed22547a4d>:0
at Util.KInstantiate (UnityEngine.GameObject original, UnityEngine.GameObject parent, System.String name) [0x00000] in <a7677246e5a04e5fb63a80ed22547a4d>:0
at LaunchInitializer.Update () [0x00000] in <c0957303ae5744e8a0dda26621d5beb9>:0
Build: U54-652372-SCR
Oddly enough, I usually don't get this on mods installed by Steam and/or updated by ModUpdater, even though the files are still present.
- Have writable exFAT volume (/Volumes/T7-exFAT), make a directory on it (App-data/ONI)
- Move ONI data directory to the exFAT volume (mv ~/Library/Application\ Support/unity.Klei.Oxygen\ Not\ Included/. /Volumes/T7-exFAT/App-data/ONI/
- Link new dir from the original location (rmdir ~/Library/Application\ Support/unity.Klei.Oxygen\ Not\ Included; ln -s /Volumes/.../ONI ~/Library/Application\ Support/unity.Klei.Oxygen\ Not\ Included
- Extract some zipped mod manually, like MapsNotIncluded: https://github.com/barratt/mapsnotincluded.org/releases
- Launch game
- Observe crash
A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now