Quick answer: Unreal Game Feature plugin's action persisting changes after deactivate? Action's OnGameFeatureDeactivating must explicitly undo - implement the reverse of OnGameFeatureActivating.

Halloween game feature adds spider decorations. Deactivate; spiders stay. Action's Activate registers them but Deactivate is a no-op.

Implement Deactivating symmetrically

void OnGameFeatureDeactivating(...) {
  // undo every change from activating
}

Symmetric. Each Activate operation has its Deactivate inverse.

Or track changes for rollback

Activate records the actor IDs it created; Deactivate destroys them. Generic; works for cases where the inverse isn't obvious.

Test the activate/deactivate cycle

Toggle feature 10 times. State should match the activate-zero baseline. Drift = leak.

“Game Features are toggleable. Toggling requires symmetric setup and teardown.”

For each Game Feature action, write a tiny test that activates/deactivates 5 times. The cycle catches leaks immediately.

Related reading