Syncing Custom User Content

I’m not entirely sure where to post this question, but…

I’m making kind of a multiplayer board game where users can import custom OBJ files to use as their character. I want the players to all be able to see each other’s custom model, and I’m trying to figure out how to accomplish that.

I saw a Dropbox sync on the asset store that might work where the custom models would be uploaded there and then synced between the users’ clients, but every user would need access to that Dropbox.

Any ideas on how this could be done without relying on something like Dropbox?

You’ll need to load the OBJ at runtime like: c# - Loading a .OBJ into Unity at runtime - Stack Overflow

You’ll have to create it and assign materials/textures etc, these may need to be uploaded separate from the OBJ file.

A better way to host it would be on a web server or bucket/storage system at like Amazon S3, Azure or other. A simple node, C# .NET Core or python server to accept uploaded content and enter metadata and the files would be best.

There will have to be some sort of JSON list or database to have all the shared models listed to show and then a downloader. There are lots of samples of storing in buckets/storage in the cloud but the overall list or data for all models should be on a server only and pulled down.

A potential big problem will be the tris/polys in each model as they will probably be large and it may take a long time to load or not at all if over 100k+ depending on the platform.

Thanks for the info and advice! Yeah, that makes sense to have it tied to a database and just host the content on a server instead of making it download peer to peer. Yeah, I thought about the tri-count too, and I might either need to set a limit on the size of the models for both storage size and tri-count. I could always implement a python script with blender on the server to decimate the models if they’re too big and the user still wants to use the model.

Note that creating a centralized storage and distribution system for player provided models is going to put you on the hook for copyright enforcement of that content. If the game got popular, it won’t be long until some players use models ripped from other games or models that represent the IP of other big companies with legal departments just looking for some work to do (as in send you threatening letters, take down notices, or lawsuits for unauthorized distribution of their content).

The last thing you probably want is The Mouse breathing down your neck because your game got popular with Star Wars fans who won’t stop uploading models of X Wing fighters. You might want to talk to a lawyer specializing in this area before committing to it.