FindObject only works after explicitly opening an asset

They are both used based on if the object is loaded or not. If the object has already been loaded or created, then you can use FindObject(). If the object has not been loaded and still needs to be, then LoadObject() is the correct call to use. Based on your screenshot I don’t see where it is being loaded so you may want to try using LoadObject instead.