yobson1 / FavCat-Restored

FavCat but restoring the favorite functionality without VRChat+

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eac lol

VRChat added EAC so melonloader and related mods no longer work. pogchamp.

GitHub license GitHub all releases GitHub stars

FavCat-Restored

Forked from mister Felkon, original by knah.

FavCat with avatar favorites restored. Very cool.

Optional compatability with PlagueVRC's GithubModUpdater if you'd like to use it download GitHubModUpdater and place it in your VRChat/Plugins folder.

😎

This repo's fork will contain changes to revert the decision of having VRC+ to use any of the favoriting within FavCat, forked from the original VRCMods repo.

If you're looking for the download, click here to get the most recent version. Or click on the "Releases" over there 👉

I highly recommend supporting Knah and the original VRCMods developers, as they're the ones that set the foundation for FavCat.

I have added & plan on continuing to add some of my own tweaks & improvements including an avatar favorite button to the user select quick menu and recolouring support.

If you don't trust the releases i put up for whatever reason, I suggest cloning this repo and building it yourself. It's always safer if you build it yourself or understand how the code works, since you know exactly what's going into the .dll files that are generated. Hell, even decompile the .dll yourself and have a poke around, doesn't hurt to look.

See original VRCMods repo for original README file

This one has just been yoinked and reverted.

Canny Tickets

I recommend upvoting the Canny Tickets listed below, to show the VRChat team that these would be good additions to the game!

If you decide to comment on Canny, be respectful and avoid mentioning modding - the team still doesn't like it, obviously.
And yes, it will probably be ignored/forever hanging in "under review" like the majority of Canny posts. At least we'll have a nice big upvote number on our ignored posts.

FavCat

An all-in-one local favorites mod. Unlimited favorite lists with unlimited favorites in them and a searchable local database of content and players.
Requires latest UI Expansion Kit

Features:

  • Unlimited lists (categories) for favorites, each of unlimited size
  • Lag-free even with large lists
  • Freely changeable list height
  • Avatar, world, and player favorites supported
  • Modifiable list order and multiple list sorting options
  • Fully searchable database of everything you have ever seen
  • Changeable database location (it's recommended to store the database in a directory backed up to cloud storage, such as Dropbox or OneDrive, see below for setup)
  • Local image cache for even better performance
  • Categorize your own private avatars
  • Import avatar favorites from other local favorite mods (read below)
  • Exchange search database with friends (read below)
  • FavCat avatar favorite button in the user select quick menu to favorite another player's avatar without first cloning it. (Only for players with avatar cloning enabled)
  • Many more small things

Known limitations

  • Lists with over a thousand elements can take a bit of time on game startup/list creation

Changing database location

Steps to change database location:

  1. Run VRChat with the mod at least once
  2. Make sure that VRChat is closed
  3. Navigate to VRChat install directory (i.e. by clicking "Browse Local Files" in Steam)
  4. Navigate to UserData folder and open MelonPreferenes.cfg with Notepad or other text editor
  5. Find the line with [FavCat]
  6. Find the line with DatabasePath under it
  7. Change the value to absolute path to new storage folder. The new line should look like this: DatabasePath = "C:/Users/username/OneDrive" (with your own path, naturally; make sure to use forward clashes / instead of backslashes \\)
  8. Save and close the text file
  9. Copy the two (or four) database files (favcat-favs.db and favacat-store.db, and favcat-favs-log.db and favcat-store-log.db if they exist) from the old location (they are in UserData by default) to the new one.

If you want to move the image cache, use the same steps as above, but modify the line with ImageCachePath and copy favcat-images.db instead. It's not recommended to store the image cache in cloud storage due to its big size.

Importing avatar favorites from other local favorite mods

You can import favorites from other local favorite mods that use text files for storage.

  1. Run VRChat with the mod at least once
  2. Navigate to VRChat install directory (i.e. by clicking "Browse Local Files" in Steam)
  3. Find the avatar list of the mod you want to import from. Places to look like are UserData folder, game folder, or a mod-specific folder, such as 404Mods. The avatar list would usually be a plain text file or a JSON file - both are supported.
  4. Copy the file to UserData/FavCatImport folder
  5. In-game, click "More FavCat" on any big menu page, then click "Import databases and text files"
  6. Import process can take some time. Once it is done, a new list will appear in the menu. It's safe to close the game and reopen it - import will continue from where it left off (you'll need to click the button again though). Once it is done, the corresponding list will be deleted from UserData/FavCatImport folder.

Sharing search database with friends

You can exchange the search database with friends to be able to find things they have seen. Only accept databases from friends you trust - an intentionally malformed database can overwrite parts of yours with garbage
How to send database to a friend:

  1. Run VRChat with the mod at least once (duh)
  2. Make sure that VRChat is closed
  3. Navigate to where your database is stored (see "Changing database location")
  4. Make sure that there is no file named favcat-store-log.db. If there is one, it means that the game was not closed properly. In that case, run the game again, and use "Exit VRChat" button in settings menu to close it.
  5. Send favcat-store.db to your friend.

How to receive database from a friend:

  1. Run VRChat with the mod at least once
  2. Navigate to VRChat install directory (i.e. by clicking "Browse Local Files" in Steam)
  3. Put the database your friend sent you into UserData/FavCatImport folder. If you want to import multiple databases at once, you can rename them, as long as .db extension is kept.
  4. In-game, click "More FavCat" on any big menu page, then click "Import databases and text files"
  5. Import process can take some time. Once it is done, the corresponding database will be deleted from UserData/FavCatImport folder.

Note that your favorites are stored in favcat-favs.db - don't send it to your friends, favorite import is not supported. Most certainly don't send favcat-images.db to your friends - it's just a boring image cache.

Used libraries:

  • LiteDB for all data storage
  • ImageSharp, because unity is bad at loading images from streams on background thread

A long time ago this was based on Slaynash's AvatarFav and VRCTools, both licensed under the MIT license. Who knows how much of that still remains inside?

UI Expansion Kit

View the original repo's readme for info.

ILRepack

There's a copy of ILRepack.Lib.MSBuild.Task and ILRepack built for netcore/MSBuild 16 shipped with the repo.

Installation

Before install:
Tupper (from VRChat Team) said that any modification of the game can lead to a ban, as with these mods

To install these mods, you will need to install MelonLoader (discord link, see #how-to-install).
Then, you will have to put mod .dll files in the Mods folder of your game directory

Building

To build these, drop required libraries (found in <vrchat instanll dir>/MelonLoader/Managed after melonloader installation, list found in Directory.Build.props) into Libs folder, then use your IDE of choice to build.

  • Libs folder is intended for newest libraries (MelonLoader 0.4.3)

License

With the following exceptions, all mods here are provided under the terms of GNU GPLv3 license

About

FavCat but restoring the favorite functionality without VRChat+

License:GNU General Public License v3.0


Languages

Language:C# 100.0%