Skip to content

Simplify the asset management workflow #1259#1487

Open
rohitkulkarni97 wants to merge 42 commits intoRE-SS3D:developfrom
rohitkulkarni97:Issues/Simplify-the-asset-management-workflow-#1259
Open

Simplify the asset management workflow #1259#1487
rohitkulkarni97 wants to merge 42 commits intoRE-SS3D:developfrom
rohitkulkarni97:Issues/Simplify-the-asset-management-workflow-#1259

Conversation

@rohitkulkarni97
Copy link
Contributor

Summary

Simplifies asset management and makes it robust by using GUIDs instead of names for referencing. Step 1 to introduce the Addressables system.

PR checklist

  • The game builds properly without errors.
  • No unrelated changes are present.
  • No "trash" files are committed.
  • Relevant code is documented.
  • Update the related GitBook document, or create a new one if needed.

Pictures/Videos

Testing

Networking checklist

  • Works from host in host mode.
  • Works from server in server mode.
  • Works on server in client mode.
  • Works and is syncronized across different clients.
  • Is persistent.

Changes

  1. DatabaseAsset is removed instead, const strings are used in different asset database scripts, which now contain the GUID of the prefab instead of the name.
  2. WorldObjectAssetReference is now named as ObjectAssetReference, because it serves more than the one purpose it was designed for.
  3. RoleData and RoleLoadout use ObjectAssetReference instead of direct prefabs.
  4. ObjectAssetReference now stores the GUID of the preab and the GUID of the database instead of their names.
  5. GenericObjectSo uses ObjectAssetReference instead of prefabs directly.
  6. Scripts using a list of audio clips to play via the audio subsystem use ObjectAssetReference instead, as the audio subsystem loads the clip from Assets.Get() anyway.

Related issues/PRs

Closes #1259
Simplify the asset management workflow

…eters in asset creation methods, and removing DatabaseAsset.cs usage.
….Get method instead of DatabaseAsset's Prefab property, Create, Get<T>() & CreateAs<T>(...) functions, and different implicit operators.
…Creator and DatabaseScriptWriter for consistency in asset management workflow.
…, and Item to use Assets.Get method for improved consistency and clarity
…to use Assets.Get method for improved consistency
…and other places to streamline asset retrieval
…tepCraftable, and Item to simplify usage of Assets.Get method
…nce to streamline addressable asset handling and improve code clarity
…nstructionHologramManager to utilize WorldObjectAssetReference for improved asset retrieval
…bjectsSO prefabs to enhance asset management
…eferences throughout the codebase for consistency
…AssetReference, and implement IEqualityComparer for improved comparison
…lementation and simplifying equality and hash code methods
…eters in asset creation methods, and removing DatabaseAsset.cs usage.
….Get method instead of DatabaseAsset's Prefab property, Create, Get<T>() & CreateAs<T>(...) functions, and different implicit operators.
…Creator and DatabaseScriptWriter for consistency in asset management workflow.
…, and Item to use Assets.Get method for improved consistency and clarity
…to use Assets.Get method for improved consistency
…and other places to streamline asset retrieval
…tepCraftable, and Item to simplify usage of Assets.Get method
…nce to streamline addressable asset handling and improve code clarity
…nstructionHologramManager to utilize WorldObjectAssetReference for improved asset retrieval
…bjectsSO prefabs to enhance asset management
…eferences throughout the codebase for consistency
…AssetReference, and implement IEqualityComparer for improved comparison
…lementation and simplifying equality and hash code methods
…ment-workflow-#1259' into Issues/Simplify-the-asset-management-workflow-#1259
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simplify the asset management workflow

1 participant