Page 1 of 1

Issue with crest water system

Posted: Fri Jul 29, 2022 1:17 pm
by matmalm
Hi, I added the ES3 manager to my scene, where I also have a water system from Crest asset.

If I go into settings in the ES3 maanger I can see some tiles which are part of the water system:
Image

But when I enter play mode those tiles appear in the hierarchy:
Image

When I exit play mode they are still there. The only thing I can do is to delete them manually

Re: Issue with crest water system

Posted: Fri Jul 29, 2022 1:31 pm
by Joel
Hi there,

The 'Scene' view in the Auto Save window shows the objects which are in the hierarchy of your scene. If you cannot see them in the hierarchy prior to runtime then it indicates that they are hidden (the Auto Save window shows them regardless of whether they are marked as hidden).

However, we've had a report of another issue with Crest where Tiles are instantiated at the top level of the hierarchy which might actually be the issue you're having. This is because having a reference to Crest Tiles causes them to be instantiated in the scene at runtime. Easy Save references them because we need to be able to save things by reference, and is quite a normal thing for assets to do.

This is an issue at their end rather than ours, so the only workaround we can provide is to manually manage references rather than allowing Easy Save to do it automatically:
  1. Go to Tools > Easy Save 3 > Settings and unselect 'Auto add references to manager'.
  2. Delete the Easy Save 3 Manager from your scene and then go to Tools > Easy Save 3 > Add Manager to Scene to re-add it. This will clear the manager.
  3. If you want to save something by reference you must add it to the manager by right-clicking it and selecting Easy Save 3 > Add Reference(s) to Manager.
  4. Ensure that you do not add anything related to Crest to the reference manager otherwise the issue will reappear.
Note that we've already created a script which isolates the issue to their end which I believe they're aware of:

Code: Select all

using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

// To replicate: import this script into a scene with an OceanRenderer and press 'Get Tiles' in the 'Testing' menu, then enter playmode.
public class Tiles : MonoBehaviour
{
    [SerializeField]
    List<Crest.OceanChunkRenderer> tiles;

    [MenuItem("Testing/Get Tiles")]
    static void GetTiles()
    {
        var oceanRenderer = FindObjectOfType<Crest.OceanRenderer>();
        oceanRenderer.gameObject.AddComponent<Tiles>().tiles = oceanRenderer.Tiles;
    }
}
All the best,
Joel