Advanced Topics
Pack priority, ID rules, file paths, and finding package names
Pack Priority (Stacking)
When you have multiple packs installed, they stack in priority order. You can drag and drop packs in the NotiVR settings to reorder them.
Higher priority packs are checked first. If two packs both provide an icon for Discord, the one higher in the list wins.
Pack ID Rules
Your pack folder name is the pack ID. It must follow these rules:
- Only letters, numbers, hyphens, and underscores:
a-z,A-Z,0-9,-,_ - No spaces
- No dots
- No slashes or other special characters
Good: my-pack, cool_icons, SoundPack1
Bad: my pack, my.pack, my/pack
Packs with IDs that don't follow these rules won't be loaded.
File Path Rules
All file paths in pack.json (PNG and Ogg fields) are relative to the pack's root directory.
- Use forward slashes:
icons/discord.png - No
..path traversal allowed (NotiVR blocks this for security) - Paths are case-sensitive on Linux, case-insensitive on Windows
Finding Package Names
To create icon or sound mappings, you need to know the app's package name (Android) or bundle ID (iOS).
Android: The package name is what you see in the Google Play Store URL. For example, Discord's Play Store URL is play.google.com/store/apps/details?id=com.discord, so the package name is com.discord.
iOS: Bundle IDs are less visible. Common ones:
| App | Bundle ID |
|---|---|
| Discord | com.hammerandchisel.discord |
| Slack | com.tinyspeck.chatlyio |
com.apple.mobilemail | |
| Messages | com.apple.MobileSMS |
net.whatsapp.WhatsApp |
You can also enable "Developer Mode" in the General settings. This will show the package name for Android or bundle ID and category ID for iOS on any notification you receive.