Welcome to Assets (v1.9)

This is an advanced feature of Monkey allowing you to add content to the game.

The following are required to generate game compatible assets:
- Unity
- HDRP project
    The game uses the High Definition Render Pipeline.  All assets you create
    need to be generated from this type of project.
- Editor version v2022.3.0f1
    IMPORTANT: using a different Unity version will likely introduce hard to track 
    issues. Always follow the version recommended by the developer here:
    https://github.com/TValleGames/TValle.SMA.Modding
- Unity asset bundle browser
    Install instructions: https://docs.unity3d.com/Manual/AssetBundles-Browser.html
    
Monkey will allow you to load any valid asset bundle file with a .unity3d file 
extension located in the Config/Monkey/Assets folder.

You can provide a custom JSON specific to your assets. Use the same asset name but with 
a .json extension in the same folder.  If present, Monkey will automatically manage 
the loading and unloading.  Your UI elements will be displayed under your asset name
when loaded.  See JSON Quick Guide.txt for more information.

By design, Unity makes asset available one frame after the load operation completes.
Your JSON executes on the same frame the load completes allowing you to prepare the 
game before the scene is shown.  However, you may also need to add a one frame delay
if your elements are executed onload and reference your scene.

Some assets may not work due to game limitation.  Those were set by the developer 
and cannot be changed.  Always watch the console to see if your assets are generating 
errors and correct them as needed.


--

Tutorial

In this tutorial I'll go through the steps required to add a simple 3d cube to the game.
It assumes you already have unity installed with a working (free) account.

- Create a new unity project
    - From the unity hub, select new project
    - Set editor version to 2021.3.1f1
    - Select 3D HDRP core project
    - Download the template
    - Create Project

- When the editor opens, you should see a simple OutdoorsScene
    - Delete the main camera, sun and sky game objects as they may break the game
    - Add a cube, using GameObject->3D Objects->Cube
    - Set the cube position at -3, 2, -5
    - Save the scene (File->Save)

- Add the asset bundle manager
    - If git (https://git-scm.com/) is not installed, install then reboot
    - In Unity, go to Window->Package Manager
    - Select the +, and add package from git URL
    - Use: https://github.com/Unity-Technologies/AssetBundles-Browser.git 
    - If this isn't working, check the console for errors.
        Make sure you are logged in to Unity and validated. 
        Check your firewall and VPN so github is not blocked       
        
- Create the asset bundle
    - Open the browser you installed (Window-> AssetBundle Browser)
    - Drag and drop the OutdoorsScene to the configure panel
    - Select the build tab, adjust the path and click build
    - Add a .unity3d extension to the generated outdoorsscene and place it in 
      config/Monkey/Assets

- Start the game and load the new asset
    - Start an interview
    - In Monkey, Load->Asset->OutdoorScene
    - Greet your very own floating cube!