This is a Pokemon Catch game for YouTube where viewers can try to catch wild pokemon that appear and fill out their Pokedex. It was designed primarily for YouTube, but could possibly work with Twitch if the Streamer.bot sub-actions and C# code is updated.
Make sure your OBS has these two plugins installed. If you don’t, I have provided links to them:
Then import the OBS scene collection that matches YOUR base canvas resolution (1080p or 1440p)
Tools > Source Copy > Load Scene > Find the file and import into OBS
If for some reason your OBS filter and move actions don’t work you may need to go to Stream Apps > OBS > right-click on the connection > and update all actions to use “OBS [v5.x]”
Download the Pokemon cries and Sugimori art from veekun under “Other files”
Create a folder and unzip the compressed folders you downloaded into the new folder. Take note of where those folders are.
You may have to unzip using 7-zip first, and then extract it again after that. Not sure why, but that’s how I got it to work
Sugimori art folder make changes to the following images:
201.png> delete the file (it’s broken)
201-f.png> change to
386.png> delete the file (it’s broken)
386-[style of your choice]> change the style you want to appear to
Download this ZIP, unzip it, and put these folders in your new folder you created as well:
- Catch Chance
- Sound Effects
- Text Names
You should now have these folders in a location you can reference later:
Find a square image of a Pokeball like this and save it in the “sugimori” folder as
Update the image source on the [S0] Pokeball Scene to that
0.png image location
Optional - There is a “Success” image on the [S1] Catch That Pokemon scene that you can update to the Streamer.bot logo, or whatever you want
The following timers don’t import to Streamer.bot so you will have to set them up:
Pokemon Run Timer
a. Put the interval to 30-40 seconds
b. Set to Disabled
Poke Catch Game Appear Timer
a. I would recommend 150 seconds or more
b. You can make it a random time amount with a specific range as well
Pokemon Catch Game.sb (38.1 KB)
In Streamer.bot select the Import button from the top left menu.
Drag and drop the file or copy the text from the file and paste all the text into the Import String field.
There should be 37 actions and 13 Commands.
3 (Timed Action) - Poke Catch Run Away Action- add the timer trigger of “Pokemon Run Timer”
(example of where to find the trigger)
3 (Timed Action) - Pokemon Catch Appeared!- add the timer trigger of “Poke Catch Game Appear Timer”
(example of what this trigger will look like. The other will be similar with the appropriate name)
You will need to update file locations on the action “1 (Pre-Requisite Action) - Set Global Poke File Paths” so they are pointed to the correct file locations on your PC.
MAKE SURE TO USE " \ " and not to copy the file location from Windows Explorer or it won’t work.
pokeTextNamesFolder- The Text Names folder location
pokeCatchChanceFolder- The Catch Chance folder location
pokePictureFolder- The Pokemon Pictures folder location
pokeCriesFolder- The Cries folder location
soundEffectsFolder- The Sound Effects folder location
Once you are done, right-click the
Test trigger and test it.
If you hear the sound of a successful Pokeball catch and the toast notification looks correct, then it worked! This will assign the paths to global variables so the rest of the actions can work.
There isn’t a way to import Timers yet so we have to set these up by opening the TImer sub-action and selecting the timer
5 (Background Timer State) Disable Poke Catch Game Appear Timer- Timer (Poke Catch Game Appear Timer :: Disabled)
5 (Background Timer State) Disable Pokemon Run Timer- Timer (Pokemon Run Timer :: Disabled)
5 (Background Timer State) Enable Poke Catch Game Appear Timer- Timer (Poke Catch Game Appear Timer :: Enabled)
5 (Background Timer State) Enable Pokemon Run Timer- Timer (Poke Catch Game Appear Timer :: Disabled)
(double-click and select the correct timer for each)
By default, only a message will be sent in chat with the pokedex completion number and % complete. There are two additional optional ways for viewers to see their pokedex
- Discord Webhook - You can have the screenshot sent to a discord channel by setting up the webhook address in the “Show Pokedex Gen #” actions and enabling the sub-action
Make sure to do this for ALL 3
Only update the webhook name and the webhook address. Leave the majority of the content and image as is
- Pokedex scene appearing in OBS - You can have the images of the caught pokemon show up on screen by enabling the two OBS Source Visibility sub-actions in each “Show Pokedex Gen #” action
By default the sound of the pokemon cry is set to play in OBS through your Monitor ONLY, no output. Depending on your sound settings in OBS you may want to update this if you like.
By default it has Pokemon randomly appear from Gens 1-3 (#’s 1-386) but you can change it so that it selects a smaller range by changing the
Random Number between… sub-action on the
3 (Timed Action) - Pokemon Catch Appeared! &
5 (Background Action) - Pokemon Catch Appeared! (Redeem) actions.
Set argument %minimum% and
Set argument %maximum% and
Set argument minimum sub-actions on the
5 (Background Action) - Check Pokemon Range Limit action.
If you feel that pokemon are TOO EASY to catch or TOO DIFFICULT you can go into the code and change the number.
5 (Background Action) - Poke Catch Action go to the “Execute Code (Determines if Pokemon was Caught) sub-action and double-click
Find the number “160” in the code and change it lower if you want it to become easier, or higher if you want it to be more difficult to catch the pokemon
After updating the number, then hit “Compile” and make sure it compiled successfully.
Then hit “Save and Compile”
These are the commands that can be used when:
- A wild pokemon appears (anyone can use it)
- A user redeems
If a user redeemed the command, then Streamer.bot will only let the redeemr use the
There is an option to use
!catch2 because sometimes YouTube doesn’t let the
!catch command through. If users report their
!catch command isn’t working and you don’t see any message of it, then recommend that they use
This command is a redeem where a user can spend points to have their OWN chance at catching a random pokemon using
- If the random pokemon has already be caught by the user, then it will reset and refund their points.
This command is a redeem where a user can spend points to have their OWN chance at catching a SPECIFIC pokemon using a number after
!catchmypokemon 1 would make Bulbasaur appear.
By defauly the number will work from 1 through 386
Users will not be able to catch a specific pokemon they have already caught.
These commands will retrieve the user’s Pokedex count and % completion of Gen1, Gen2, & Gen3 respectively
Please see the Pokedex Setup in the Configuration section above for more options.
This command will show a user’s 6-slot pokemon party on screen
In order to set pokemon they have caught, the users will need to use the “!slot#” command
Once a user has caught a Pokemon, they can assign it to one of their 6 slots in their Pokemon party:
!slot1 [pokedex #]
!slot2 [pokedex #]
!slot3 [pokedex #]
!slot4 [pokedex #]
!slot5 [pokedex #]
!slot6 [pokedex #]
example - If a user wants to assign Mewtwo to slot 4 in their Pokemon party they would type:
if instead they wanted to assign it to slot 2:
Remember that they can only assign a Pokemon if they have caught it.
Also, If the pokemon is already assigned to a slot, they will need to assign a different pokemon first before they move it to a new slot
If needed there are two actions you can use to update slots or the Pokedex
By “testing” the trigger in this action, you can set a Pokemon as “caught” for a user.
Make sure to have their User ID ready
Make sure you know what Pokedex ID you want to use
Then enter the details in the input windows.
Their pokedex will update the next time they catch a Pokemon, but they will be able to assign it to their party.
Make sure to add System.Core.dll to the C# compiler within Settings > C# Compiler > Common References > Right-Click > Add reference from file…
This will help make sure all the C# code found in the sub-actions compiles.
This is available for anyone who used the old system and will update everything from the old system’s record.
To update the Pokedex records, “test” the trigger in this action.
It will NOT update the old system record, so use it only once, and only use it before implementing the new system LIVE
Idea for the game from Shane Alan Gower
Created and Designed by Haunter
Downloads from veekun