Search Unity

Packaging URP / HDRP textures, materials, model for publishing on the store

Discussion in 'Assets and Asset Store' started by MonkeyPuzzle, Jan 10, 2023.

  1. MonkeyPuzzle

    MonkeyPuzzle

    Joined:
    Jan 17, 2016
    Posts:
    119
    Hello,

    Pretty much what the title says. I have a package I am hoping to get on the Asset Store and was hoping that someone can provide insight.

    I have two projects, a URP version and one for the standard render pipeline.

    I put all of the URP textures, models, and materials in a URP folder in the main project and was going to use the Asset Store Tools to upload/validate.

    Is this the proper way to handle this? I have seen others have self-extracting files for different pipelines. I am not sure if this is a requirement or how to accomplish..

    Thank you.
     
    Last edited: Jan 11, 2023
  2. BetaMark

    BetaMark

    Joined:
    Sep 27, 2014
    Posts:
    229
    Not sure if there is a "proper" way according to Unity, but what I've seen (and I like) are where the package comes with its shaders and materials setup for built in renderer (for the new users who haven't gotten to the chapter about SRPs yet), and then a URPUpgrade.unitypackage (and optionally HDRPUpgrade.unitypackage) which overwrites all of the built in mats and shaders.

    For the assets that would have gigantic unitypackages for the separate SRPs, I've seen "free upgrade" assets on the asset store which splits them up into 3 assets: 1) main asset package (built in render pipeline) 2) URP upgrade asset 3) HDRP upgrade asset.

    Keep in mind that however you ship, you'll have the headache of keeping them in sync as you push updates on your package too.
     
    MonkeyPuzzle likes this.
  3. MonkeyPuzzle

    MonkeyPuzzle

    Joined:
    Jan 17, 2016
    Posts:
    119
    Thanks! This worked great. I needed to overwrite the models and prefabs too for some reason. I had hoped that the models would pick up the new textures if I kept the folders and names the same, but I couldn't get that to work.
     
    BetaMark likes this.
  4. BetaMark

    BetaMark

    Joined:
    Sep 27, 2014
    Posts:
    229
    That's a really good callout. This is probably because inside of the models, they don't refer to the materials and textures by file name / folder but instead refer to them with the GUID that is created when Unity imports or creates the asset. You could write something in an Editor script included in your package that checks if the new resources were just imported and updates your models to point at the new materials instead of the old ones (perhaps during the OnValidate of the editor script), but that would require you talking to the Unity engine's inner workings for the .meta files. That is totally possible if your models are huge though.
     
  5. Charlesf2

    Charlesf2

    Joined:
    Jan 12, 2013
    Posts:
    6
    I'm also brand new to marketplace publishing and haven't used Unity in forever. I've just made textures for both URP, HRP for my assets. If I want to offer my assets for all unity pipelines, do I need to create different projects or is it a matter of enabling all the necessary packages and creating alternative materials?