Unfortunately, Skyrim does not support permanent magic effects on NPCs if they are added in-game. Whenever an NPC is unloaded/reloaded from memory, all
magic effects, including wings, are removed. (If I am wrong, someone please tell me how!) To get around this, NPCs have hidden "Activator" items added to their inventory when they are granted wings. On first loading the mod, the player character is equipped with a hidden "scanner" cloak spell that periodically scans nearby NPCs. If a scanned NPC has an activator (indicating they should have wings) but doesn't have wings, they automatically have the wing toggle spell cast on them
and their wings are refreshed. The scanner has two modes, both active by default:
- Scan on load: Automatically scans all NPCs in a one-cell radius (configurable) around the player whenever a save is loaded or a new cell is loaded. This should suffice if you only grant wings to followers who follow you around. This option is less taxing on your system, but it won't work a lot of the time for regular NPCs since they'd have to be within your radius whenever one of the load events is triggered.
- Periodic scans: Automatically scans all NPCs in a one-cell radius (configurable) around the player every 5 seconds (also configurable). This is the most reliable option and will guarantee that any NPC you've granted wings to will have them still when you see them, so long as you haven't configured the radius or interval too much the wrong way. The scripts that do this are all lightweight and shouldn't be an issue for most users, but periodically scanning all NPCs in a large radius can start adding up if you have a lot of other scripts and things going on at the same time. Consider reducing the radius or increasing the interval if you think this is causing too much load.
If you choose to disable automatic scanning and find an NPC that is supposed to have wings but doesn't, you can cast Wings of Another on him and the wings should re-appear.