I just installed Octane for Unity but so far only limited success. Using Unity 2017.1.0f2. and a native Unity scene (not orbx).
The first install went fine, but I got a nullreference exception a few times per second in the Unity console. Then I uninstalled Octane for Unity (via the Unity menu, not the exe) and installed again. After going to Unity->Octane->Install again, I got this error with the installation failed (no menu items but install available):
IOException: Sharing violation on path C:\Users\USER\AppData\Local\Octane\Unity\2017.1.0f2_0.9.2.801\octane.dll
System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/FileStream.cs:320)
System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
(wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int)
System.IO.File.Create (System.String path, Int32 bufferSize) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/File.cs:135)
System.IO.File.Create (System.String path) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/File.cs:130)
System.IO.File.WriteAllBytes (System.String path, System.Byte[] bytes) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/File.cs:594)
OTOY.OctaneUnityPackage.Unpack (System.String inputFile, System.String outputDirectory)
UnityEditor.OctaneInstaller.OctanePluginManager.DownloadCompleted (System.String file, Boolean success)
OctanePlugin.ServerClient.DownloadUpdate ()
OctanePlugin.ServerClient.Update ()
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs:109)
Then I closed Unity, uninstalled Octane via windows control panel, installed the exe again, and started Unity. Then I clicked on Unity->Octane->Install again. This time no install error.
But after loading Octane in Unity, I got this error many times again:
NullReferenceException: Object reference not set to an instance of an object
OctaneUnity.ResourceMapper.UpdateInstance (UnityEngine.GameObject obj)
OctaneUnity.Scene.AddObject (UnityEngine.GameObject obj, OctaneUnity.SceneGraphNode parentNode)
OctaneUnity.Scene.UpdateGameObject (UnityEngine.GameObject gameObject)
OctaneUnity.Scene.UpdateChanges (OctaneUnity.SceneChanges changes)
OctaneUnity.Scene.Update (Boolean forceUpdate, Boolean blockRender)
OctaneUnity.PluginController.Update ()
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs:109)
When unloading Octane, Unity crashed. Started Unity again and loaded Octane. Same error returned. Adding a PBR render target did not solve the issue.
Then I tried to get the caustic example to work. I created a new scene and imported the unitypackage. It should be mentioned in the manual that you need to install Octane via the Unity menu first after creating a new scene before you can drag and drop an orbx file into the scene. Aside from that, when I drag and drop the caustics orbx scene into the Hierarchy, nothing happens and no error is shown. When I drag and drop the orbx scene into the Scene window, I get this error:
NullReferenceException: Object reference not set to an instance of an object
OctanePlugin.ORBXFileDragAndDrop.PlaceOrbxSceneObject (Octane.OrbxScene orbx)
OctanePlugin.ORBXFileDragAndDrop.SceneOnGUI (UnityEditor.SceneView view)
UnityEditor.SceneView.CallOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2403)
UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:1721)
UnityEditor.SceneView.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:1553)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:272)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:265)
UnityEditor.HostView.InvokeOnGUI (Rect onGUIPosition) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:232)
Now I tried using a fresh scene with just a standard Unity cube. First I did Unity->Octane->Install but was stuck at Downloading Octane, connecting... Internet is fine. Why does it need to re-download Ocatane for the 10th time in half an hour? Surely it should be up to the user if he wants to download the latest version or use the previously downloaded version on disc.
Restarted Unity and tried installing, and auto downloading again. This time downloading works. If forcing the user to download the latest version (which is the latest anyway), perhaps adding a timeout and retry would be helpful.
Anyway, after installing Octane in Unity, I added a cube to the scene, then loaded Octane. This time no error. Yay! Rendering works fine.
Feedback:
-Fix the error I get with my scene. PM me for the source.
-Fix the ability to drag and drop an orbx scene in the Hierarchy and Scene window.
-Display the render result in the Game window instead of a separate render preview window.
-The manual states Unity mappings: Render target, but there is no such thing as render target. What you mean is Hierarchy->PBR Render Target (game object)->Inspector->PBR Render Target Component->Camera->Select camera.
-Don't force to download the same thing over and over.
-Right clicking on the Hierarchy "Create PBR render target" should have the name Octane in it and it doesn't work if Octane is not loaded yet.
-Closing Unity when Octane is loaded, crashes Unity.