Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a Demo Assembly containing every asset (scenes, scripts, textures) only used for manual testing #173

Open
ViMaSter opened this issue Feb 1, 2022 · 2 comments
Labels
feature New feature or request helps other team This change assists another team (composers, artist, designers, writers, etc) nice to have
Milestone

Comments

@ViMaSter
Copy link
Member

ViMaSter commented Feb 1, 2022

Description

As code can be created before assets like art, music or narrative scripts are finalized, we are currently creating automated tests and/or scenes which can be run to test new functionality by hand. Some of these include (but aren't limited to) screen shaking, save files, audio playback or UI elements like the evidence (court record) menu.

These files currently live inside the same Assembly that is ran by end-users, even though they are inaccessible via a normal playthrough.

Completing this should result in various developer-targeted UX improvements:

  • reduce compilation time
  • reduce binary size of the final game
  • referencing placeholder assets inside the game Assembly, will actually prevent the game from being built due to reference errors

Acceptance Criteria

This story will be finished when every file that is exclusively used to demonstrate new functionality and not required in the final game binary is moved to a new Assembly named Demo.

This Issue includes #118.

@ViMaSter ViMaSter added the feature New feature or request label Feb 1, 2022
@ViMaSter ViMaSter changed the title Create a demo Assembly containing every asset (scenes, scripts, textures) only used for manual testing Create a Demo Assembly containing every asset (scenes, scripts, textures) only used for manual testing Feb 1, 2022
@notexplosive
Copy link
Collaborator

Emphasizing the need for this: Ana almost put the script he was working on in TestScripts

@ViMaSter
Copy link
Member Author

ViMaSter commented Mar 15, 2022

Quick update on this: I played around with Assembly Definitions and noticed that they actually only affect C# scripts.
(Which should've been obvious to me from the name Assembly, but hey, better late than never.)
It should be possible to fulfill the acceptance criteria however using Addressables; the downside being, from what I've seen playing around with them, that will require a fair bit of custom code:

Unity (without Addressable) offers no simple platform-specific Asset management. Ideally, we'd just have this menu from the "Assembly Reference" inspector window, but for any kind of Resource:

The Addressables package also doesn't come with an easy drop-in platform selector, but - combined with AssetDatabase - they effectively allow full control over how Assets are parsed, deployed, and loaded. It should be possible to first label folders with PlayModeTest, EditModeTest, Demo and Game and then simply ignore any Assets that have labels other than Game if we're not building for the Editor platform. Haven't gotten anything running yet (working examples on this plugin are few and far between), just wanted to leave this here to save some time, if anyone else decides to take a look at it too.

@notexplosive notexplosive added nice to have helps other team This change assists another team (composers, artist, designers, writers, etc) labels Mar 26, 2022
@notexplosive notexplosive added this to the 1.0: Case 2 milestone Mar 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request helps other team This change assists another team (composers, artist, designers, writers, etc) nice to have
Projects
None yet
Development

No branches or pull requests

2 participants