On May 9, 2022, a new Extensions policy will be added regarding the experience provided within global overlay Extensions. For the purposes of this policy, a “global” Extension refers to any Extension that can be installed on any Twitch channel (i.e. it does not specify a broadcaster allowlist). This announcement is being provided so that developers are given time to update their Extensions before the policy addition if it currently does not meet the policy.
What’s changing?
The following policies will be added on the date above. Only one of these policies needs to be true for an Extension to meet the requirements of policy 4.10, not both.
4:10 Global Overlays
4.10.1 Global Overlay Extensions must display information related to or relevant to what is happening on the stream.
4.10.2 Global Overlay Extensions must be interactive. For example, they must change/enhance the outcome of what is happening on the stream.
In addition to the policy update, Extension best practices will be added to include the following guidance.
Component Extensions should display information related to or relevant to what is happening on the stream.
Extensions without any interaction should live in a panel.
Why are we making this change?
The goal for this policy is to improve the viewer experience that Twitch Extensions provide by ensuring the functionality is directly relevant and/or interactive with the content of the stream.
Will this policy be applied retroactively to currently released Extensions?
This policy applies to all Twitch Extensions. Two months after the policy goes into effect, an audit may be conducted for compliance. If an Extension does not meet the requirements of the policy, we will reach out to the developer directly to find a resolution.
Please feel free to provide any further questions below.
Is this not a decision the broadcaster themselves should be making as to what extension is the best fit for their channel and community, even if it may not directly relate to what’s happening on stream?
What if for example a broadcaster wanted to have some sort of minigame extension that users can interact with during breaks, or loading screens, or whatever. Such a minigame may have no relevance to the stream, so wouldn’t follow 4.10.1, and while interactive they wouldn’t be changing/enhancing the outcome of what is happening on the stream so wouldn’t follow 4.10.2 either.
Wouldn’t this also mean extensions like Prime Subscription and Loot Reminder would also fail to meet those new requirements?
Under the policy the extension is forced to be in a panel or component.
But if the developer enables all slots (including overlay) does the extension fail as it allows streamers freedom and control to put it in the overlay slot?
Since an extension might enable all slots to allow the streamer the ultimate control of what content they want where on their streams.
I’m all for these being guidelines, but not as rules, streamers should be free to do what they want on their channel.
At the end of the day, the Streamer should have ultimate control of what content they put where on their stream.
If a streamer wants to put, what Twitch now considers a “bad extension”, into the overlay slot, then the streamer should be allowed to do that, as it might work for them and their stream. Or they already have the componenet slots occupied by other extensions, and want to avoid users scrolling down the page and “missing” video
This being rules just reduces streamer choice and control of their channels. in my opinion.
Adding more rules to Extensions is also ok, but we also need devleopment on the platform to counter the more restrictiveness. The last major changes were
helixToken, still not available on mobile by the way,
csp security change, made sense, some argument for should of been in from the start, but “bad developers” gonna leave loop holes for exploits, but I digress,
extensions no longer being showed to banned/timed out users at all (not what I would of preferred)
changes to the moderation policy which were changed again with the above.
prior to these four (where one of them was just a contradcition of another) we’ve had pracitcally no improvement on extensions or fixing any of the many bugs and issues filed.
I thought the policy changes only applied to global overlay extensions? This makes it sound like you will also apply them to video component extensions.
I don’t see how policing what extensions a streamer uses will ever improve a viewer experience. The streamer knows their community and has the freedom to enable / disable whatever extensions they seem fit.
Additionally, I have gripes with 4.10.2 as it leaves up a lot for interpretation - what is considered “interactive” - is a single button that reacts to being clicked by showing a different text enough? Not all Extensions make changes to what is happening on stream, but rather fall into what @Dist said with “Minigames”, think the Pokémon or StreamLabs/Elements one where you click randomly appearing elements to “collect” something. This does not “influence” the Stream directly, but incentivizes users to pay attention to the stream and increases retention (and thus even theoretically Ad Impressions as Viewers are less likely to walk away).
In the end, i can see a more percise wording of these rules work. What Exactly do these Rules target? Are there exampley of “bad behaviour”? As far as I understand it, these rules aim to regulate Extensions that “Do Nothing” and don’t add value/information. For example a static image, which, to my knowledge, wouldn’t exactly pass review anyway. I agree that pure “Visual Blockers” should not be allowed, but Extensions allowing the flexibility of showing Info about the Streamer are a valid usecase, or maybe even be a decent spot to place sponsor rotations that the User can move to anywhere on the Screen where it least annoys them - or even hide them by disabling the Extension.
TL;DR: I can understand these new rules, but they need more percise examples of what is and is not allowed.
The way I interpret the best practices part, that this is just a little bit of advice.
Like you can still make a lot of interaction in a panel extension, and it is not smart because no one ever scrolls down to the about page to see it.
And you can make an informative component extension, and everyone will think it’s annoying because once they have read it, it has no further use while taking a very prominent space on the stream.
I understand the confusion is there because it’s a policy segment update, but I don’t think they are intended best practices to become strict rules.
As always, the replies following such announcements are appreciated. We’ll be discussing them shortly in order to provide more clarification, answer the above questions, and define anything that may need to be updated (i.e. more detail in documentation) before the policy goes into effect.
Hi folks. Here are answers to some of the questions above. I think there may be a couple more to address, but hopefully this covers most inquiries.
This would be an acceptable Extension. While it is not directly related to the content of the stream as defined in 4.10.1, it is interactive and therefore would be acceptable according to 4.10.2. Only one of these policy statements needs to be true.
We cannot comment on the status of individual Extensions.
Yes, the Extension would not pass review if an overlay slot was enabled and the overlay version did not meet either of the 4.10 policies. Those would need to be addressed or the Extension could be submitted as a component and/or panel.
This sentiment is understandable and one that has been shared with relevant teams for awareness. Policy efforts are separate from the engineering efforts. We are working on a potential way to be more transparent about the latest Extensions engineering efforts.
CVS-Gaming’s assumption is correct; the policy is only required for global overlay Extensions. There is a further suggestion in the best practices that component Extensions should be relevant to the streaming content or interactive, though it is not required.
Interactivity can be viewed as any of the following:
Viewer interaction with the Extension (your example)
Changes/enhances the outcome of what is happening on the screen or stream
Enhances the content on the stream
Requires full video space based on the Extension or users’ interaction