Skip to content
Ramsey Nasser edited this page Dec 18, 2018 · 6 revisions

Configuration for Arcadia is done via a user-supplied configuration.edn file that should be placed under Assets in your Unity project. Options to configuration.edn are given in the format of a Clojure map literal, and are documented in Arcadia/configuration.edn, which is also the default configuration file.

To determine the final set of configuration settings, Arcadia merges the user-supplied configuration.edn under Assets with the built-in Arcadia/configuration.edn; in other words, user settings overwrite those specified in Arcadia/configuration.edn. Please do not modify the default configuration file itself, as it provides the default behavior of Arcadia!

Noteworthy configuration options include:

  • :export-namespaces

    Vector of symbols of namespaces to compile when exporting.

  • :source-paths

    Specify paths to Clojure source Arcadia wouldn't pick up on otherwise.

  • :reactive

    Specify whether Arcadia should automatically respond to changes in the file system.

  • :reload-on-change

    Specify whether Arcadia should automatically reload Clojure files corresponding to already-loaded namespaces when they are saved, similar to Clojurescript's Figwheel library.

  • :non-serializable-hooks

    Specify how to react when non-serializable hooks (anything but vars) are attached to a GameObject. Possible values are:

    • :error throw an exception
    • :warning print a warning to the Unity console (this is the default)
    • :allow silently allow it
  • :repl/injections

    Specify forms to evaluate along with every form entered into the repl. Useful for things like always having the clojure.repl namespace available (ie, :repl/injections (use 'clojure.repl)).

See Arcadia/configuration.edn for more details.