I noticed while testing a world that occasionally a lot of triggers in the game would break; for example pens would no longer write, objects could no longer be deleted via OnEnterCollider->DestroyObject triggers, etc.
After much testing and heartache, I found that it was being caused by deleting a prefab with a disabled game object inside of it.
It did not matter if the prefab existed at world startup, or if it was a spawned prefab. Both would break the world.
~~ Replication ~~
I have a prefab that looks something like:
Object
--Enabled ON button
--Disabled OFF button
--Several Other Child Objects
Trigger: OnEnterCollider (TrashLayer) -> DestroyObject (parent of prefab)
Once this object is trashed, it seems that many triggers were broken; a perusal of the vrc output log found this error appearing when I would try activating one of the triggers (as an example) :
---
[Log:6/16/2018 7:01:48 PM] Assets/_Worlds/Prefabs/Markers/large_marker_orange.prefab (Dynamic Clone 858113:1004) triggered AnimationBool
[Log:6/16/2018 7:01:48 PM] Replicating [3EC00000000 AnimationBool/AlwaysUnbuffered w: 1 s: draw i: 0 f: 0 b: False B: 0 p: :3EC00000000/Emitter1]
[Exception:6/16/2018 7:01:48 PM] NullReferenceException
VRC_EventDispatcherRFC.BPMPABEHGGC (VRCSDK2.VrcEvent ADINHJNPBBM)
VRC_EventDispatcherRFC.DECODOLHNFL (VRCSDK2.VrcEvent ADINHJNPBBM, VrcBroadcastType FDIDEPPNDBB, Int32 AIPPAANABKF, Single OMOHDCODLIA)
VRC_EventDispatcherRFC.TriggerEvent (VRCSDK2.VRC_EventHandler KNMJAPDEEMI, VRCSDK2.VrcEvent ADINHJNPBBM, VrcBroadcastType FDIDEPPNDBB, Int32 AIPPAANABKF, Single OMOHDCODLIA)
VRC_EventLog.FMLNFNLECHI (.NDPOEEFOCPM HEEJDHOMCEG, VRC.Player ICOPGBDHELL)
VRC.EventReplicator`2[EventType,EventEqualityComparerType].OKCHENJJFCC (.EventType HEEJDHOMCEG, Boolean GJCKIFLLOKK, .NALJHKLMIHL ICOPGBDHELL)
VRC.EventReplicator`2[EventType,EventEqualityComparerType].ProcessEvent (.EventType HEEJDHOMCEG, .NALJHKLMIHL ICOPGBDHELL)
VRC_EventLog+EventReplicator.ProcessEvent (.NDPOEEFOCPM HEEJDHOMCEG, .NALJHKLMIHL ICOPGBDHELL)
VRC_EventLog.LogEvent (VRCSDK2.VRC_EventHandler JGENKKDMBGF, VRCSDK2.VrcEvent EGKJDMANNLA, Int64 GJAIGDGIFOA, VrcBroadcastType FDIDEPPNDBB, Int32 AIPPAANABKF, Single OMOHDCODLIA)
VrcSdk2Interface.GKJHHJHODMB (VRCSDK2.VRC_EventHandler JGENKKDMBGF, VRCSDK2.VrcEvent EGKJDMANNLA, Int64 GJAIGDGIFOA, VrcBroadcastType FDIDEPPNDBB, Int32 AIPPAANABKF, Single OMOHDCODLIA)
VRCSDK2.VRC_EventHandler.InternalTriggerEvent (VRCSDK2.VrcEvent e, VrcBroadcastType broadcast, Int32 instagatorId, Single fastForward)
VRCSDK2.VRC_EventHandler.TriggerEvent (VRCSDK2.VrcEvent e, VrcBroadcastType broadcast, Int32 instagatorId, Single fastForward)
VRCSDK2.VRC_EventHandler.TriggerEvent (VRCSDK2.VrcEvent e, VrcBroadcastType broadcast, UnityEngine.GameObject instagator, Single fastForward)
VRCSDK2.VRC_Trigger+<ExecutionIterator>c__Iterator4.MoveNext ()
UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
VRCSDK2.VRC_Trigger:ExecuteTrigger(TriggerEvent)
VRCSDK2.VRC_Trigger:ExecuteTriggerType(TriggerType)
VRCSDK2.VRC_Trigger:Trigger(GameObject, TriggerType)
VRCHandGrasper:PKPMEPLIIIO(TriggerType)
VRCHandGrasper:CILCGCEJGIP(Boolean)
VRCHandGrasper:EDANBPJOJCO()
VRCHandGrasper:Update()