NokiMo
Rinvo
Rinvo

gumroad


Youtube Search Prefab for VRChat Worlds (PC/Quest)

Easy to setup prefab allowing to search youtube videos inside of VRChat on both PC and Quest

Youtube search prefab for VRChat worlds (u2b.cx api)

Latest update: 1.14 - bug fix for cases where search ui is disabled on startup

Demo World:
- https://vrchat.com/home/world/wrld_06c4e05c-3b64-484a-9b01-7891e5f144f6
Always try it before you buy it!

Setup tutorial:
- https://youtu.be/ZFFYQ5if_-M

Some info:

- Made to be reliable and has been field tested in multiple worlds (including worlds like Popcorn Palace, Rainy Cliffside Shack and many others)
- Can load playlists if link to the playlist is provided instead of search querry
- Queue plugins support (any 3rd party ones)!
- Support for showing title of the video instead of url in players that can do that
- Normal(in screenhots) and transparent/IwaSync UI Skins
- 2 UI Varients: Compact and big images!
- Easy to setup - minimal configuration needed
- Nice looking UI that should work for every world (at least i think so)
- Loading animations
- Compatible with USharpVideo, IwaSync and ProTV2/ProTV3 out of the box
- Compatible with virtually anything else via Other videoplayer option
- Pagination (Next page button, nice to have)
- Image previews (and version witout image previews/more compact UI)
- And other video data like views, length, etc.


More technical info:
Search is using Lamp's u2b.cx API that can be self-hosted if needed


How to use:
1. Drag and drop prefab into the scene
2. Select "SearchManager" inside the prefab to open the settings
3. Setup the prefab by assigning the reference to your videoplayer's UI Handler, VRCUrlInputField,
VideoName InputField (if your videoplayer has it) and typing in your personal pool name and size
4. Select your videoplayer type
5. Click Apply Settings
6. Upload the world/enjoy:3


Rules (Depends on the license):
- You are allowed to use it for personal, non-commercial purposes
- You are allowed to modify the product
- With personal licence you are not allowed to distribute the package or any of its parts, no matter if its modified or not, commercial licence allows including it in your products(gumroad/booth worlds)
- Commercial use is allowed if only if have a commercial license (gumroad worlds, public worlds made to generate profit, etc.)


Credits:

- Lamp (website - lamp.wtf) - huge, enormous props to the Lamp for creating the backend API, api is as good as it is only because of his skills, give him some love! (Gitea page of the API used)

Well and everything else is made from scratch so idk what to put here, thanks to all of you for support
Feel free to contact me on discord (rinvo) if need any help/stuff.

Thanks a lot for supporting me by purchasing this product!


Latest version - 1.14
Version 1.14 - Bug fix for search not initializing properly if being hidden by default

Fixes:

- Yeah, i thought i fixed it the last time but it was a side-effect, now it actually should work
when loading scene with the search disabled.
If you have setup error pop up in game and your search is hidden by deafult - update to this version

YoutubeSearch_Personal_v1.14.zip



Older versions:

Version 1.13

YoutubeSearch_Personal_v1.13.zip


Version 1.12

YoutubeSearch_Personal_v1.12.zip

Version 1.11

YoutubeSearch_Personal_v1.11.rar




If you use any verstions below 1.10 - migrate to this or anything above, it has important fix of the preview's being cut incorrectly as the size of the preview changes in the API

YoutubeSearch_Personal_v1.10.unitypackage


All versions below look kinda broken due to preview loading bug, but tehcnically still work if needed for anything:


DEPRECATED - 1.05 a ton of changes and improvements, check changelog.txt:

YoutubeSearch_Personal_v1.05.zip



DEPRECATED - 1.04

YoutubeSearch_Personal_v1.04.zip



How to use:

- Drag and drop prefab into the scene
- Select "SearchManager" inside the prefab to open the settings
- Setup the prefab by assigning the reference to your videoplayer's UI Handler, VRCUrlInputField
and typing in your personal pool name and size
- Select your videoplayer type
- Click Apply Settings
- Upload the world/use it:3

Assigning references is slightly differenty depending on videoplayer you use, here is the differences:
(Be aware that names/paths could be different depending on your setup - check pics in the archive)

More detailed How to use:


USharpVideo specific stuff:
- Video Player UI Handler is an object with name ControlsUI (USharpVideo -> ControlsUI)
- URL Input Field is an object called InputField (USharpVideo -> ControlUI -> InputField)
- Uncheck IsProTV if checked

ProTV 2 sdpecific stuff:
- Video Playuer UI Handler is an object with name ProTV (yeah, literally first one, that has TVManagerV2/TVManagerV3 script on it)
- URL Input Field is an object called MediaInput (Root -> Controls -> MediaInput) (You should be able to just click on little circle next to object reference and select it from there)

ProTV 3 sdpecific stuff:
- Video Playuer UI Handler is an object with name MediaControls V2 (that has MediaControls script on it)
- URL Input Field is an object called MainUrl (MediaControls V2 -> MainUrl)
You should be able to just click on little circle next to object reference and select it from there
Or you can find it in the list of media inputs in the MediaControls V2 object



Troubleshooting:

1. Url shows up in the URL Field of the videoplayer, but doesn't play automatically:
- Make sure you set the videoplaeyr type;
- Make sure Video Player UI Handler points to the correct UI Handler object
(you can make sure by looking if the UdonBehaviour on the object you selected has a field for
VRCUrlInputField, and they generally called something like ControlUI(for USV), MediaInput(for ProTV2),
MediaControls V2 (for ProTV 3))

2. Invalid URL when searching, no "Type YouTube Search Query Here ->" when clicking the input field:
- Apply the settings in the editor script (its on object called "SearchManager" inside the prefab)
(you can doublecheck if they are applied by opening "debug information" dropdown, if Current Pool size
is not 0 - everything is okay)

3. Search works, but videoplayer doesn't react:
- Make sure its not issue 1 by checking URL Input field of the videoplayer after trying to play the video
- Make sure you selected URL Input Field that videoplayer is using in its UI
(You can doublecheck that by looking for object you assgned as Video Player UI handler in the
list of VRCUrlInputField's events, it should be there)



Small FAQ for API specific stuff:

1. What is "pool name"?
- Pool name is just identifier of your world in the backend of the search
- Don't use same pool names on different worlds, it may lead to results getting mixed up

2. What is "pool size"?
- Pool size is the amount of storage on the backend allocated to your world, but selecting more than you need might lead to performance problems

3. What size should i select then?
- Select anywhere between 100 to 500 for small private worlds,
2_000 to 5_000 for small public worlds,
10_000 for fairly popular publics,
20_000 to 50_000 for huge publics,
50_000 to 100_000 if something has gone wrong and you made the most popular world in the game:3

4. Selfhosting API?
- https://gitea.moe/lamp/vrchat-youtube-search-api - everything is here

Youtube Search Prefab for VRChat Worlds (PC/Quest)

Related Creators