diff --git a/interface/resources/QtWebEngine/UIDelegates/Menu.qml b/interface/resources/QtWebEngine/UIDelegates/Menu.qml
index adfd29df9e..46c00e758e 100644
--- a/interface/resources/QtWebEngine/UIDelegates/Menu.qml
+++ b/interface/resources/QtWebEngine/UIDelegates/Menu.qml
@@ -1,7 +1,7 @@
 import QtQuick 2.5
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../qml/controls-uit"
+import "../../qml/styles-uit"
 
 Item {
     id: menu
diff --git a/interface/resources/QtWebEngine/UIDelegates/MenuItem.qml b/interface/resources/QtWebEngine/UIDelegates/MenuItem.qml
index b4d3ca4bb2..6014b6834b 100644
--- a/interface/resources/QtWebEngine/UIDelegates/MenuItem.qml
+++ b/interface/resources/QtWebEngine/UIDelegates/MenuItem.qml
@@ -1,7 +1,7 @@
 import QtQuick 2.5
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../qml/controls-uit"
+import "../../qml/styles-uit"
 
 Item {
     id: root
diff --git a/interface/resources/QtWebEngine/UIDelegates/PromptDialog.qml b/interface/resources/QtWebEngine/UIDelegates/PromptDialog.qml
index 089c745571..e4ab3037ef 100644
--- a/interface/resources/QtWebEngine/UIDelegates/PromptDialog.qml
+++ b/interface/resources/QtWebEngine/UIDelegates/PromptDialog.qml
@@ -1,7 +1,7 @@
 import QtQuick 2.5
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../qml/controls-uit"
+import "../../qml/styles-uit"
 import "../../qml/dialogs"
 
 QtObject {
diff --git a/interface/resources/qml/AudioScopeUI.qml b/interface/resources/qml/AudioScopeUI.qml
index 91908807e2..aa181dbf8d 100644
--- a/interface/resources/qml/AudioScopeUI.qml
+++ b/interface/resources/qml/AudioScopeUI.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 import QtQuick.Controls 1.4
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "styles-uit"
+import "controls-uit" as HifiControlsUit
 
 Item {
     id: root
diff --git a/interface/resources/qml/Browser.qml b/interface/resources/qml/Browser.qml
index 01de7a36f9..4474cfb2cd 100644
--- a/interface/resources/qml/Browser.qml
+++ b/interface/resources/qml/Browser.qml
@@ -2,9 +2,9 @@ import QtQuick 2.5
 import QtWebChannel 1.0
 import QtWebEngine 1.5
 
-import controlsUit 1.0
+import "controls-uit"
 import "styles" as HifiStyles
-import stylesUit 1.0
+import "styles-uit"
 import "windows"
 
 ScrollingWindow {
diff --git a/interface/resources/qml/CurrentAPI.qml b/interface/resources/qml/CurrentAPI.qml
index 4ea45041c3..96bfb5c36b 100644
--- a/interface/resources/qml/CurrentAPI.qml
+++ b/interface/resources/qml/CurrentAPI.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 import QtQuick.Controls 1.4
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "styles-uit"
+import "controls-uit" as HifiControls
 
 Item {
     id: root
diff --git a/interface/resources/qml/InfoView.qml b/interface/resources/qml/InfoView.qml
index 8c5900b4c3..f18969fb2f 100644
--- a/interface/resources/qml/InfoView.qml
+++ b/interface/resources/qml/InfoView.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import Hifi 1.0 as Hifi
 
-import controlsUit 1.0
+import "controls-uit"
 import "windows" as Windows
 
 Windows.ScrollingWindow {
diff --git a/interface/resources/qml/InteractiveWindow.qml b/interface/resources/qml/InteractiveWindow.qml
index c217238e93..e8ddbf823d 100644
--- a/interface/resources/qml/InteractiveWindow.qml
+++ b/interface/resources/qml/InteractiveWindow.qml
@@ -12,9 +12,9 @@ import QtQuick 2.3
 
 import "windows" as Windows
 import "controls"
-import controlsUit 1.0 as Controls
+import "controls-uit" as Controls
 import "styles"
-import stylesUit 1.0
+import "styles-uit"
 
 Windows.Window {
     id: root;
diff --git a/interface/resources/qml/LoginDialog.qml b/interface/resources/qml/LoginDialog.qml
index 12117aaba4..336858502d 100644
--- a/interface/resources/qml/LoginDialog.qml
+++ b/interface/resources/qml/LoginDialog.qml
@@ -11,8 +11,8 @@
 import Hifi 1.0
 import QtQuick 2.4
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "controls-uit"
+import "styles-uit"
 import "windows"
 
 import "LoginDialog"
diff --git a/interface/resources/qml/LoginDialog/+android/LinkAccountBody.qml b/interface/resources/qml/LoginDialog/+android/LinkAccountBody.qml
index a40110b1e9..96b638c911 100644
--- a/interface/resources/qml/LoginDialog/+android/LinkAccountBody.qml
+++ b/interface/resources/qml/LoginDialog/+android/LinkAccountBody.qml
@@ -13,8 +13,8 @@ import QtQuick 2.4
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4 as OriginalStyles
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../controls-uit"
+import "../../styles-uit"
 
 Item {
     id: linkAccountBody
diff --git a/interface/resources/qml/LoginDialog/+android/SignUpBody.qml b/interface/resources/qml/LoginDialog/+android/SignUpBody.qml
index 10909e4c85..3a44a8d741 100644
--- a/interface/resources/qml/LoginDialog/+android/SignUpBody.qml
+++ b/interface/resources/qml/LoginDialog/+android/SignUpBody.qml
@@ -13,8 +13,8 @@ import QtQuick 2.4
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4 as OriginalStyles
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../controls-uit"
+import "../../styles-uit"
 
 Item {
     id: signupBody
diff --git a/interface/resources/qml/LoginDialog/CompleteProfileBody.qml b/interface/resources/qml/LoginDialog/CompleteProfileBody.qml
index 3a57061de4..fe4c511f1d 100644
--- a/interface/resources/qml/LoginDialog/CompleteProfileBody.qml
+++ b/interface/resources/qml/LoginDialog/CompleteProfileBody.qml
@@ -12,8 +12,8 @@ import Hifi 1.0
 import QtQuick 2.4
 import QtQuick.Controls.Styles 1.4 as OriginalStyles
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 
 Item {
     id: completeProfileBody
diff --git a/interface/resources/qml/LoginDialog/LinkAccountBody.qml b/interface/resources/qml/LoginDialog/LinkAccountBody.qml
index 7951d45c0e..48cf124127 100644
--- a/interface/resources/qml/LoginDialog/LinkAccountBody.qml
+++ b/interface/resources/qml/LoginDialog/LinkAccountBody.qml
@@ -13,9 +13,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4 as OriginalStyles
 
-import controlsUit 1.0
-import stylesUit 1.0
-
+import "../controls-uit"
+import "../styles-uit"
 Item {
     id: linkAccountBody
     clip: true
diff --git a/interface/resources/qml/LoginDialog/SignInBody.qml b/interface/resources/qml/LoginDialog/SignInBody.qml
index 7fe29e13f6..9cb1add704 100644
--- a/interface/resources/qml/LoginDialog/SignInBody.qml
+++ b/interface/resources/qml/LoginDialog/SignInBody.qml
@@ -12,8 +12,8 @@ import Hifi 1.0
 import QtQuick 2.7
 import QtQuick.Controls.Styles 1.4 as OriginalStyles
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 
 Item {
     id: signInBody
diff --git a/interface/resources/qml/LoginDialog/SignUpBody.qml b/interface/resources/qml/LoginDialog/SignUpBody.qml
index d3c898d76f..bb30696e4c 100644
--- a/interface/resources/qml/LoginDialog/SignUpBody.qml
+++ b/interface/resources/qml/LoginDialog/SignUpBody.qml
@@ -12,8 +12,8 @@ import Hifi 1.0
 import QtQuick 2.7
 import QtQuick.Controls 1.4
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 
 Item {
     id: signupBody
diff --git a/interface/resources/qml/LoginDialog/UsernameCollisionBody.qml b/interface/resources/qml/LoginDialog/UsernameCollisionBody.qml
index 2a41353534..bf05a36ce1 100644
--- a/interface/resources/qml/LoginDialog/UsernameCollisionBody.qml
+++ b/interface/resources/qml/LoginDialog/UsernameCollisionBody.qml
@@ -12,8 +12,8 @@ import Hifi 1.0
 import QtQuick 2.4
 import QtQuick.Controls 1.4
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 
 Item {
     id: usernameCollisionBody
diff --git a/interface/resources/qml/LoginDialog/WelcomeBody.qml b/interface/resources/qml/LoginDialog/WelcomeBody.qml
index 020e6db002..551ec263b7 100644
--- a/interface/resources/qml/LoginDialog/WelcomeBody.qml
+++ b/interface/resources/qml/LoginDialog/WelcomeBody.qml
@@ -11,8 +11,8 @@
 import Hifi 1.0
 import QtQuick 2.4
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 
 Item {
     id: welcomeBody
diff --git a/interface/resources/qml/QmlWebWindow.qml b/interface/resources/qml/QmlWebWindow.qml
index 322535641d..8c4d6145ec 100644
--- a/interface/resources/qml/QmlWebWindow.qml
+++ b/interface/resources/qml/QmlWebWindow.qml
@@ -13,8 +13,8 @@ import QtWebEngine 1.1
 import QtWebChannel 1.0
 
 import "windows" as Windows
-import controlsUit 1.0 as Controls
-import stylesUit 1.0
+import "controls-uit" as Controls
+import "styles-uit"
 
 Windows.ScrollingWindow {
     id: root
diff --git a/interface/resources/qml/QmlWindow.qml b/interface/resources/qml/QmlWindow.qml
index 53e6bcc37d..bef6423e25 100644
--- a/interface/resources/qml/QmlWindow.qml
+++ b/interface/resources/qml/QmlWindow.qml
@@ -2,9 +2,9 @@ import QtQuick 2.3
 
 import "windows" as Windows
 import "controls"
-import controlsUit 1.0 as Controls
+import "controls-uit" as Controls
 import "styles"
-import stylesUit 1.0
+import "styles-uit"
 
 Windows.Window {
     id: root
diff --git a/interface/resources/qml/TabletBrowser.qml b/interface/resources/qml/TabletBrowser.qml
index 720a904231..141c1f25a7 100644
--- a/interface/resources/qml/TabletBrowser.qml
+++ b/interface/resources/qml/TabletBrowser.qml
@@ -3,9 +3,9 @@ import QtWebChannel 1.0
 import QtWebEngine 1.5
 
 import "controls"
-import controlsUit 1.0 as HifiControls
+import "controls-uit" as HifiControls
 import "styles" as HifiStyles
-import stylesUit 1.0
+import "styles-uit"
 import "windows"
 
 Item {
diff --git a/interface/resources/qml/UpdateDialog.qml b/interface/resources/qml/UpdateDialog.qml
index 9c22d0b65b..5e05601ce4 100644
--- a/interface/resources/qml/UpdateDialog.qml
+++ b/interface/resources/qml/UpdateDialog.qml
@@ -4,9 +4,9 @@ import QtQuick.Controls 1.3
 import QtQuick.Controls.Styles 1.3
 import QtGraphicalEffects 1.0
 
-import controlsUit 1.0
+import "controls-uit"
 import "styles" as HifiStyles
-import stylesUit 1.0
+import "styles-uit"
 import "windows"
 
 ScrollingWindow {
diff --git a/interface/resources/qml/controlsUit/+android/ImageButton.qml b/interface/resources/qml/controls-uit/+android/ImageButton.qml
similarity index 96%
rename from interface/resources/qml/controlsUit/+android/ImageButton.qml
rename to interface/resources/qml/controls-uit/+android/ImageButton.qml
index 88eaf95d76..5ebf7cd3e9 100644
--- a/interface/resources/qml/controlsUit/+android/ImageButton.qml
+++ b/interface/resources/qml/controls-uit/+android/ImageButton.qml
@@ -1,6 +1,6 @@
 //
 //  ImageButton.qml
-//  interface/resources/qml/controlsUit
+//  interface/resources/qml/controls-uit
 //
 //  Created by Gabriel Calero & Cristian Duarte on 12 Oct 2017
 //  Copyright 2017 High Fidelity, Inc.
@@ -11,7 +11,7 @@
 
 import QtQuick 2.5
 import QtQuick.Layouts 1.3
-import "../stylesUit" as HifiStyles
+import "../styles-uit" as HifiStyles
 
 Item {
     id: button
@@ -79,4 +79,4 @@ Item {
             }
         }
     ]
-}
+}
\ No newline at end of file
diff --git a/interface/resources/qml/controlsUit/AttachmentsTable.qml b/interface/resources/qml/controls-uit/AttachmentsTable.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/AttachmentsTable.qml
rename to interface/resources/qml/controls-uit/AttachmentsTable.qml
index a2677962da..8ee9909ab8 100644
--- a/interface/resources/qml/controlsUit/AttachmentsTable.qml
+++ b/interface/resources/qml/controls-uit/AttachmentsTable.qml
@@ -13,8 +13,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import QtQuick.XmlListModel 2.0
 
-import "../stylesUit"
-import "." as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 import "../windows"
 import "../hifi/models"
 
diff --git a/interface/resources/qml/controlsUit/BaseWebView.qml b/interface/resources/qml/controls-uit/BaseWebView.qml
similarity index 100%
rename from interface/resources/qml/controlsUit/BaseWebView.qml
rename to interface/resources/qml/controls-uit/BaseWebView.qml
diff --git a/interface/resources/qml/controlsUit/Button.qml b/interface/resources/qml/controls-uit/Button.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/Button.qml
rename to interface/resources/qml/controls-uit/Button.qml
index 6ea7ce4b4c..f1a6e4bb4a 100644
--- a/interface/resources/qml/controlsUit/Button.qml
+++ b/interface/resources/qml/controls-uit/Button.qml
@@ -12,7 +12,7 @@ import QtQuick 2.7
 import QtQuick.Controls 2.3 as Original
 import TabletScriptingInterface 1.0
 
-import "../stylesUit"
+import "../styles-uit"
 
 Original.Button {
     id: control;
diff --git a/interface/resources/qml/controlsUit/CheckBox.qml b/interface/resources/qml/controls-uit/CheckBox.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/CheckBox.qml
rename to interface/resources/qml/controls-uit/CheckBox.qml
index abf08908fb..6e4a3df010 100644
--- a/interface/resources/qml/controlsUit/CheckBox.qml
+++ b/interface/resources/qml/controls-uit/CheckBox.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.2
 import QtQuick.Controls 2.2 as Original
 
-import "../stylesUit"
+import "../styles-uit"
 
 import TabletScriptingInterface 1.0
 
diff --git a/interface/resources/qml/controlsUit/CheckBoxQQC2.qml b/interface/resources/qml/controls-uit/CheckBoxQQC2.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/CheckBoxQQC2.qml
rename to interface/resources/qml/controls-uit/CheckBoxQQC2.qml
index 91d35ecd58..8a9686ff5e 100644
--- a/interface/resources/qml/controlsUit/CheckBoxQQC2.qml
+++ b/interface/resources/qml/controls-uit/CheckBoxQQC2.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.7
 import QtQuick.Controls 2.2
 
-import "../stylesUit"
-import "." as HiFiControls
+import "../styles-uit"
+import "../controls-uit" as HiFiControls
 import TabletScriptingInterface 1.0
 
 CheckBox {
diff --git a/interface/resources/qml/controlsUit/ComboBox.qml b/interface/resources/qml/controls-uit/ComboBox.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/ComboBox.qml
rename to interface/resources/qml/controls-uit/ComboBox.qml
index 8d1d7a5262..245b565a62 100644
--- a/interface/resources/qml/controlsUit/ComboBox.qml
+++ b/interface/resources/qml/controls-uit/ComboBox.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.7
 import QtQuick.Controls 2.2
 
-import "../stylesUit"
-import "." as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 
 FocusScope {
     id: root
diff --git a/interface/resources/qml/controlsUit/ContentSection.qml b/interface/resources/qml/controls-uit/ContentSection.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/ContentSection.qml
rename to interface/resources/qml/controls-uit/ContentSection.qml
index 262c29220f..47a13e9262 100644
--- a/interface/resources/qml/controlsUit/ContentSection.qml
+++ b/interface/resources/qml/controls-uit/ContentSection.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
-import "../stylesUit"
+import "../styles-uit"
 
 Column {
     property string name: "Content Section"
diff --git a/interface/resources/qml/controlsUit/FilterBar.qml b/interface/resources/qml/controls-uit/FilterBar.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/FilterBar.qml
rename to interface/resources/qml/controls-uit/FilterBar.qml
index 3e407040bc..ecae790b22 100644
--- a/interface/resources/qml/controlsUit/FilterBar.qml
+++ b/interface/resources/qml/controls-uit/FilterBar.qml
@@ -12,8 +12,8 @@ import QtQuick 2.9
 import QtQuick.Controls 2.2
 import QtGraphicalEffects 1.0
 
-import "../stylesUit"
-import "." as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 
 Item {
     id: root;
diff --git a/interface/resources/qml/controlsUit/GlyphButton.qml b/interface/resources/qml/controls-uit/GlyphButton.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/GlyphButton.qml
rename to interface/resources/qml/controls-uit/GlyphButton.qml
index 17f7fba2d6..9129486720 100644
--- a/interface/resources/qml/controlsUit/GlyphButton.qml
+++ b/interface/resources/qml/controls-uit/GlyphButton.qml
@@ -12,7 +12,7 @@ import QtQuick 2.7
 import QtQuick.Controls 2.2 as Original
 import TabletScriptingInterface 1.0
 
-import "../stylesUit"
+import "../styles-uit"
 
 Original.Button {
     id: control
diff --git a/interface/resources/qml/controlsUit/HorizontalRule.qml b/interface/resources/qml/controls-uit/HorizontalRule.qml
similarity index 100%
rename from interface/resources/qml/controlsUit/HorizontalRule.qml
rename to interface/resources/qml/controls-uit/HorizontalRule.qml
diff --git a/interface/resources/qml/controlsUit/HorizontalSpacer.qml b/interface/resources/qml/controls-uit/HorizontalSpacer.qml
similarity index 94%
rename from interface/resources/qml/controlsUit/HorizontalSpacer.qml
rename to interface/resources/qml/controls-uit/HorizontalSpacer.qml
index efcabf2699..545154ab44 100644
--- a/interface/resources/qml/controlsUit/HorizontalSpacer.qml
+++ b/interface/resources/qml/controls-uit/HorizontalSpacer.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import "../stylesUit"
+import "../styles-uit"
 
 Item {
     id: root
diff --git a/interface/resources/qml/controlsUit/ImageMessageBox.qml b/interface/resources/qml/controls-uit/ImageMessageBox.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/ImageMessageBox.qml
rename to interface/resources/qml/controls-uit/ImageMessageBox.qml
index 46d93383a4..74313f7ffe 100644
--- a/interface/resources/qml/controlsUit/ImageMessageBox.qml
+++ b/interface/resources/qml/controls-uit/ImageMessageBox.qml
@@ -9,7 +9,7 @@
 //
 
 import QtQuick 2.5
-import "../stylesUit"
+import "../styles-uit"
 
 Item {
     id: imageBox
diff --git a/interface/resources/qml/controlsUit/Key.qml b/interface/resources/qml/controls-uit/Key.qml
similarity index 100%
rename from interface/resources/qml/controlsUit/Key.qml
rename to interface/resources/qml/controls-uit/Key.qml
diff --git a/interface/resources/qml/controlsUit/Keyboard.qml b/interface/resources/qml/controls-uit/Keyboard.qml
similarity index 100%
rename from interface/resources/qml/controlsUit/Keyboard.qml
rename to interface/resources/qml/controls-uit/Keyboard.qml
diff --git a/interface/resources/qml/controlsUit/Label.qml b/interface/resources/qml/controls-uit/Label.qml
similarity index 97%
rename from interface/resources/qml/controlsUit/Label.qml
rename to interface/resources/qml/controls-uit/Label.qml
index 7f208cde88..4c7051b495 100644
--- a/interface/resources/qml/controlsUit/Label.qml
+++ b/interface/resources/qml/controls-uit/Label.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.7
 
-import "../stylesUit"
+import "../styles-uit"
 
 RalewaySemiBold {
     HifiConstants { id: hifi }
diff --git a/interface/resources/qml/controlsUit/QueuedButton.qml b/interface/resources/qml/controls-uit/QueuedButton.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/QueuedButton.qml
rename to interface/resources/qml/controls-uit/QueuedButton.qml
index 70ad9eb112..6612d582df 100644
--- a/interface/resources/qml/controlsUit/QueuedButton.qml
+++ b/interface/resources/qml/controls-uit/QueuedButton.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import "../stylesUit"
+import "../styles-uit"
 import "." as HifiControls
 
 HifiControls.Button {
diff --git a/interface/resources/qml/controlsUit/RadioButton.qml b/interface/resources/qml/controls-uit/RadioButton.qml
similarity index 97%
rename from interface/resources/qml/controlsUit/RadioButton.qml
rename to interface/resources/qml/controls-uit/RadioButton.qml
index ad62a77aa7..56324c55d7 100644
--- a/interface/resources/qml/controlsUit/RadioButton.qml
+++ b/interface/resources/qml/controls-uit/RadioButton.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 import QtQuick.Controls 2.2 as Original
 
-import "../stylesUit"
-import "." as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 
 import TabletScriptingInterface 1.0
 
diff --git a/interface/resources/qml/controlsUit/ScrollBar.qml b/interface/resources/qml/controls-uit/ScrollBar.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/ScrollBar.qml
rename to interface/resources/qml/controls-uit/ScrollBar.qml
index bcb1f62429..125e84e585 100644
--- a/interface/resources/qml/controlsUit/ScrollBar.qml
+++ b/interface/resources/qml/controls-uit/ScrollBar.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.7
 import QtQuick.Controls 2.2
 
-import "../stylesUit"
+import "../styles-uit"
 
 ScrollBar {
     visible: size < 1.0
diff --git a/interface/resources/qml/controlsUit/Separator.qml b/interface/resources/qml/controls-uit/Separator.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/Separator.qml
rename to interface/resources/qml/controls-uit/Separator.qml
index da6b9adf57..3350764ae9 100644
--- a/interface/resources/qml/controlsUit/Separator.qml
+++ b/interface/resources/qml/controls-uit/Separator.qml
@@ -9,7 +9,7 @@
 //
 
 import QtQuick 2.5
-import "../stylesUit"
+import "../styles-uit"
 
 Item {
     property int colorScheme: 0;
diff --git a/interface/resources/qml/controlsUit/Slider.qml b/interface/resources/qml/controls-uit/Slider.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/Slider.qml
rename to interface/resources/qml/controls-uit/Slider.qml
index 8cb08b69e2..2a5d4c137d 100644
--- a/interface/resources/qml/controlsUit/Slider.qml
+++ b/interface/resources/qml/controls-uit/Slider.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.7
 import QtQuick.Controls 2.2
 
-import "../stylesUit"
-import "." as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 
 Slider {
     id: slider
diff --git a/interface/resources/qml/controlsUit/SpinBox.qml b/interface/resources/qml/controls-uit/SpinBox.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/SpinBox.qml
rename to interface/resources/qml/controls-uit/SpinBox.qml
index d24c7c5e8c..3d3ea7a75e 100644
--- a/interface/resources/qml/controlsUit/SpinBox.qml
+++ b/interface/resources/qml/controls-uit/SpinBox.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.7
 import QtQuick.Controls 2.2
 
-import "../stylesUit"
-import "." as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 
 SpinBox {
     id: spinBox
diff --git a/interface/resources/qml/controlsUit/Switch.qml b/interface/resources/qml/controls-uit/Switch.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/Switch.qml
rename to interface/resources/qml/controls-uit/Switch.qml
index 0961ef2500..bfe86b1420 100644
--- a/interface/resources/qml/controlsUit/Switch.qml
+++ b/interface/resources/qml/controls-uit/Switch.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.7
 import QtQuick.Controls 2.2 as Original
 
-import "../stylesUit"
+import "../styles-uit"
 
 Item {
     id: rootSwitch;
diff --git a/interface/resources/qml/controlsUit/Table.qml b/interface/resources/qml/controls-uit/Table.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/Table.qml
rename to interface/resources/qml/controls-uit/Table.qml
index ab74361046..ce4e1c376a 100644
--- a/interface/resources/qml/controlsUit/Table.qml
+++ b/interface/resources/qml/controls-uit/Table.qml
@@ -13,7 +13,7 @@ import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Controls 2.3 as QQC2
 
-import "../stylesUit"
+import "../styles-uit"
 
 TableView {
     id: tableView
diff --git a/interface/resources/qml/controlsUit/TabletContentSection.qml b/interface/resources/qml/controls-uit/TabletContentSection.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/TabletContentSection.qml
rename to interface/resources/qml/controls-uit/TabletContentSection.qml
index dccaf31bbe..c34f4afdd6 100644
--- a/interface/resources/qml/controlsUit/TabletContentSection.qml
+++ b/interface/resources/qml/controls-uit/TabletContentSection.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
-import "../stylesUit"
+import "../styles-uit"
 
 Column {
     property string name: "Content Section"
diff --git a/interface/resources/qml/controlsUit/TabletHeader.qml b/interface/resources/qml/controls-uit/TabletHeader.qml
similarity index 96%
rename from interface/resources/qml/controlsUit/TabletHeader.qml
rename to interface/resources/qml/controls-uit/TabletHeader.qml
index f626700742..56203de286 100644
--- a/interface/resources/qml/controlsUit/TabletHeader.qml
+++ b/interface/resources/qml/controls-uit/TabletHeader.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import "../stylesUit"
+import "../styles-uit"
 
 Rectangle {
 
diff --git a/interface/resources/qml/controlsUit/TextAction.qml b/interface/resources/qml/controls-uit/TextAction.qml
similarity index 96%
rename from interface/resources/qml/controlsUit/TextAction.qml
rename to interface/resources/qml/controls-uit/TextAction.qml
index a0a1bb7d07..1745a6c273 100644
--- a/interface/resources/qml/controlsUit/TextAction.qml
+++ b/interface/resources/qml/controls-uit/TextAction.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 
-import "../stylesUit"
-import "." as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 
 Item {
     property string icon: ""
diff --git a/interface/resources/qml/controlsUit/TextEdit.qml b/interface/resources/qml/controls-uit/TextEdit.qml
similarity index 95%
rename from interface/resources/qml/controlsUit/TextEdit.qml
rename to interface/resources/qml/controls-uit/TextEdit.qml
index 7446c5040f..a72a3b13d8 100644
--- a/interface/resources/qml/controlsUit/TextEdit.qml
+++ b/interface/resources/qml/controls-uit/TextEdit.qml
@@ -9,7 +9,7 @@
 //
 
 import QtQuick 2.5
-import "../stylesUit"
+import "../styles-uit"
 
 TextEdit {
 
diff --git a/interface/resources/qml/controlsUit/TextField.qml b/interface/resources/qml/controls-uit/TextField.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/TextField.qml
rename to interface/resources/qml/controls-uit/TextField.qml
index d78f3a1340..917068ac01 100644
--- a/interface/resources/qml/controlsUit/TextField.qml
+++ b/interface/resources/qml/controls-uit/TextField.qml
@@ -12,8 +12,8 @@ import QtQuick 2.5
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 
-import "../stylesUit"
-import "." as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 
 TextField {
     id: textField
diff --git a/interface/resources/qml/controlsUit/ToolTip.qml b/interface/resources/qml/controls-uit/ToolTip.qml
similarity index 100%
rename from interface/resources/qml/controlsUit/ToolTip.qml
rename to interface/resources/qml/controls-uit/ToolTip.qml
diff --git a/interface/resources/qml/controlsUit/Tree.qml b/interface/resources/qml/controls-uit/Tree.qml
similarity index 99%
rename from interface/resources/qml/controlsUit/Tree.qml
rename to interface/resources/qml/controls-uit/Tree.qml
index f2c49095b1..5199a10a27 100644
--- a/interface/resources/qml/controlsUit/Tree.qml
+++ b/interface/resources/qml/controls-uit/Tree.qml
@@ -15,7 +15,7 @@ import QtQuick.Controls.Styles 1.4
 import QtQuick.Controls 2.2 as QQC2
 
 
-import "../stylesUit"
+import "../styles-uit"
 
 TreeView {
     id: treeView
diff --git a/interface/resources/qml/controlsUit/VerticalSpacer.qml b/interface/resources/qml/controls-uit/VerticalSpacer.qml
similarity index 94%
rename from interface/resources/qml/controlsUit/VerticalSpacer.qml
rename to interface/resources/qml/controls-uit/VerticalSpacer.qml
index 4c93aa1801..2df65f1002 100644
--- a/interface/resources/qml/controlsUit/VerticalSpacer.qml
+++ b/interface/resources/qml/controls-uit/VerticalSpacer.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import "../stylesUit"
+import "../styles-uit"
 
 Item {
     id: root
diff --git a/interface/resources/qml/controlsUit/WebGlyphButton.qml b/interface/resources/qml/controls-uit/WebGlyphButton.qml
similarity index 98%
rename from interface/resources/qml/controlsUit/WebGlyphButton.qml
rename to interface/resources/qml/controls-uit/WebGlyphButton.qml
index 7739ecd5e7..fd7cd001b2 100644
--- a/interface/resources/qml/controlsUit/WebGlyphButton.qml
+++ b/interface/resources/qml/controls-uit/WebGlyphButton.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import QtQuick.Controls 2.2 as Original
 
-import "../stylesUit"
+import "../styles-uit"
 
 Original.Button {
     id: control
diff --git a/interface/resources/qml/controlsUit/WebSpinner.qml b/interface/resources/qml/controls-uit/WebSpinner.qml
similarity index 100%
rename from interface/resources/qml/controlsUit/WebSpinner.qml
rename to interface/resources/qml/controls-uit/WebSpinner.qml
diff --git a/interface/resources/qml/controlsUit/WebView.qml b/interface/resources/qml/controls-uit/WebView.qml
similarity index 100%
rename from interface/resources/qml/controlsUit/WebView.qml
rename to interface/resources/qml/controls-uit/WebView.qml
diff --git a/interface/resources/qml/controlsUit/qmldir b/interface/resources/qml/controls-uit/qmldir
similarity index 100%
rename from interface/resources/qml/controlsUit/qmldir
rename to interface/resources/qml/controls-uit/qmldir
diff --git a/interface/resources/qml/controls/Button.qml b/interface/resources/qml/controls/Button.qml
index b677822c0e..6cbdec5644 100644
--- a/interface/resources/qml/controls/Button.qml
+++ b/interface/resources/qml/controls/Button.qml
@@ -3,6 +3,7 @@ import QtQuick.Controls 2.2 as Original
 
 import "."
 import "../styles"
+import "../controls-uit"
 
 Original.Button {
     id: control
diff --git a/interface/resources/qml/controls/FlickableWebViewCore.qml b/interface/resources/qml/controls/FlickableWebViewCore.qml
index cce32c137a..943f15e1de 100644
--- a/interface/resources/qml/controls/FlickableWebViewCore.qml
+++ b/interface/resources/qml/controls/FlickableWebViewCore.qml
@@ -4,7 +4,7 @@ import QtWebChannel 1.0
 
 import QtQuick.Controls 2.2
 
-import stylesUit 1.0 as StylesUIt
+import "../styles-uit" as StylesUIt
 
 Item {
     id: flick
diff --git a/interface/resources/qml/controls/TabletWebButton.qml b/interface/resources/qml/controls/TabletWebButton.qml
index 140461d817..d016f71f2d 100644
--- a/interface/resources/qml/controls/TabletWebButton.qml
+++ b/interface/resources/qml/controls/TabletWebButton.qml
@@ -10,7 +10,7 @@
 
 import Hifi 1.0
 import QtQuick 2.4
-import stylesUit 1.0
+import "../styles-uit"
 
 Rectangle {
     property alias text: label.text
diff --git a/interface/resources/qml/controls/TabletWebScreen.qml b/interface/resources/qml/controls/TabletWebScreen.qml
index be11f16498..bb037ad478 100644
--- a/interface/resources/qml/controls/TabletWebScreen.qml
+++ b/interface/resources/qml/controls/TabletWebScreen.qml
@@ -1,5 +1,5 @@
 import QtQuick 2.7
-import controlsUit 1.0 as HiFiControls
+import "../controls-uit" as HiFiControls
 
 Item {
     id: root
diff --git a/interface/resources/qml/controls/TabletWebView.qml b/interface/resources/qml/controls/TabletWebView.qml
index 0c5ca37e00..db695dbfb2 100644
--- a/interface/resources/qml/controls/TabletWebView.qml
+++ b/interface/resources/qml/controls/TabletWebView.qml
@@ -1,8 +1,8 @@
 import QtQuick 2.7
 import QtWebEngine 1.5
-import controlsUit 1.0 as HiFiControls
+import "../controls-uit" as HiFiControls
 import "../styles" as HifiStyles
-import stylesUit 1.0
+import "../styles-uit"
 
 Item {
     id: root
diff --git a/interface/resources/qml/controls/WebView.qml b/interface/resources/qml/controls/WebView.qml
index 375bcd50e0..71bf69fdc8 100644
--- a/interface/resources/qml/controls/WebView.qml
+++ b/interface/resources/qml/controls/WebView.qml
@@ -1,5 +1,5 @@
 import QtQuick 2.7
-import controlsUit 1.0 as HiFiControls
+import "../controls-uit" as HiFiControls
 
 Item {
     width: parent !== null ? parent.width : undefined
diff --git a/interface/resources/qml/dialogs/AssetDialog.qml b/interface/resources/qml/dialogs/AssetDialog.qml
index b8eaab0b8d..e8d28e9b37 100644
--- a/interface/resources/qml/dialogs/AssetDialog.qml
+++ b/interface/resources/qml/dialogs/AssetDialog.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import Qt.labs.settings 1.0
 
-import stylesUit 1.0
+import "../styles-uit"
 import "../windows"
 
 import "assetDialog"
diff --git a/interface/resources/qml/dialogs/CustomQueryDialog.qml b/interface/resources/qml/dialogs/CustomQueryDialog.qml
index 026068eee1..0c86b93c4b 100644
--- a/interface/resources/qml/dialogs/CustomQueryDialog.qml
+++ b/interface/resources/qml/dialogs/CustomQueryDialog.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7;
 import QtQuick.Dialogs 1.2 as OriginalDialogs;
 import QtQuick.Controls 2.3
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit";
+import "../styles-uit";
 import "../windows";
 
 ModalWindow {
diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml
index b7340575dd..6651af0db3 100644
--- a/interface/resources/qml/dialogs/FileDialog.qml
+++ b/interface/resources/qml/dialogs/FileDialog.qml
@@ -16,8 +16,8 @@ import QtQuick.Controls 1.4 as QQC1
 import QtQuick.Controls 2.3
 
 import ".."
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 import "../windows"
 
 import "fileDialog"
diff --git a/interface/resources/qml/dialogs/MessageDialog.qml b/interface/resources/qml/dialogs/MessageDialog.qml
index 9428e3ab6e..b5ac6cab72 100644
--- a/interface/resources/qml/dialogs/MessageDialog.qml
+++ b/interface/resources/qml/dialogs/MessageDialog.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 import "../windows"
 
 import "messageDialog"
diff --git a/interface/resources/qml/dialogs/PreferencesDialog.qml b/interface/resources/qml/dialogs/PreferencesDialog.qml
index 9df1d0b963..fffd0e2ed9 100644
--- a/interface/resources/qml/dialogs/PreferencesDialog.qml
+++ b/interface/resources/qml/dialogs/PreferencesDialog.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 
-import controlsUit 1.0 as HifiControls
-import stylesUit 1.0
+import "../controls-uit" as HifiControls
+import "../styles-uit"
 import "../windows"
 import "preferences"
 
diff --git a/interface/resources/qml/dialogs/QueryDialog.qml b/interface/resources/qml/dialogs/QueryDialog.qml
index 9cfb3011bd..41ee30e6d5 100644
--- a/interface/resources/qml/dialogs/QueryDialog.qml
+++ b/interface/resources/qml/dialogs/QueryDialog.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.7
 import QtQuick.Controls 2.3
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 import "../windows"
 
 ModalWindow {
diff --git a/interface/resources/qml/dialogs/TabletAssetDialog.qml b/interface/resources/qml/dialogs/TabletAssetDialog.qml
index b3bd45f972..897378e40c 100644
--- a/interface/resources/qml/dialogs/TabletAssetDialog.qml
+++ b/interface/resources/qml/dialogs/TabletAssetDialog.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import stylesUit 1.0
+import "../styles-uit"
 import "../windows"
 
 import "assetDialog"
diff --git a/interface/resources/qml/dialogs/TabletCustomQueryDialog.qml b/interface/resources/qml/dialogs/TabletCustomQueryDialog.qml
index c7772984ab..81a2c5c1e0 100644
--- a/interface/resources/qml/dialogs/TabletCustomQueryDialog.qml
+++ b/interface/resources/qml/dialogs/TabletCustomQueryDialog.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 import QtQuick.Controls 2.3
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 import "../windows"
 
 TabletModalWindow {
diff --git a/interface/resources/qml/dialogs/TabletFileDialog.qml b/interface/resources/qml/dialogs/TabletFileDialog.qml
index 3be6e30dd0..6848c230e3 100644
--- a/interface/resources/qml/dialogs/TabletFileDialog.qml
+++ b/interface/resources/qml/dialogs/TabletFileDialog.qml
@@ -16,8 +16,8 @@ import QtQuick.Controls 1.4 as QQC1
 import QtQuick.Controls 2.3
 
 import ".."
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 import "../windows"
 
 import "fileDialog"
diff --git a/interface/resources/qml/dialogs/TabletLoginDialog.qml b/interface/resources/qml/dialogs/TabletLoginDialog.qml
index 6314921286..c85b2b2ba0 100644
--- a/interface/resources/qml/dialogs/TabletLoginDialog.qml
+++ b/interface/resources/qml/dialogs/TabletLoginDialog.qml
@@ -11,8 +11,8 @@
 import Hifi 1.0
 import QtQuick 2.5
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 import "../windows"
 
 import "../LoginDialog"
diff --git a/interface/resources/qml/dialogs/TabletMessageBox.qml b/interface/resources/qml/dialogs/TabletMessageBox.qml
index 1e6f0734ad..fabe0dd247 100644
--- a/interface/resources/qml/dialogs/TabletMessageBox.qml
+++ b/interface/resources/qml/dialogs/TabletMessageBox.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 import "../windows"
 
 import "messageDialog"
diff --git a/interface/resources/qml/dialogs/TabletQueryDialog.qml b/interface/resources/qml/dialogs/TabletQueryDialog.qml
index 8f63730b8e..5746a3d67c 100644
--- a/interface/resources/qml/dialogs/TabletQueryDialog.qml
+++ b/interface/resources/qml/dialogs/TabletQueryDialog.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 import QtQuick.Controls 2.3
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 import "../windows"
 
 TabletModalWindow {
diff --git a/interface/resources/qml/dialogs/assetDialog/AssetDialogContent.qml b/interface/resources/qml/dialogs/assetDialog/AssetDialogContent.qml
index da976ef3e1..c3e842bc2f 100644
--- a/interface/resources/qml/dialogs/assetDialog/AssetDialogContent.qml
+++ b/interface/resources/qml/dialogs/assetDialog/AssetDialogContent.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 2.3
 import QtQuick.Controls 1.5 as QQC1
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../controls-uit"
+import "../../styles-uit"
 
 import "../fileDialog"
 
diff --git a/interface/resources/qml/dialogs/fileDialog/FileTypeSelection.qml b/interface/resources/qml/dialogs/fileDialog/FileTypeSelection.qml
index 6c042b5598..50a10974b5 100644
--- a/interface/resources/qml/dialogs/fileDialog/FileTypeSelection.qml
+++ b/interface/resources/qml/dialogs/fileDialog/FileTypeSelection.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import controlsUit 1.0
+import "../../controls-uit"
 
 ComboBox {
     id: root
diff --git a/interface/resources/qml/dialogs/messageDialog/MessageDialogButton.qml b/interface/resources/qml/dialogs/messageDialog/MessageDialogButton.qml
index f5715fa2c2..8411980db7 100644
--- a/interface/resources/qml/dialogs/messageDialog/MessageDialogButton.qml
+++ b/interface/resources/qml/dialogs/messageDialog/MessageDialogButton.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import QtQuick.Dialogs 1.2
 
-import controlsUit 1.0
+import "../../controls-uit"
 
 Button {
     property var dialog;
diff --git a/interface/resources/qml/dialogs/preferences/AvatarPreference.qml b/interface/resources/qml/dialogs/preferences/AvatarPreference.qml
index 9505e70530..0efc3776b3 100644
--- a/interface/resources/qml/dialogs/preferences/AvatarPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/AvatarPreference.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import controlsUit 1.0
+import "../../controls-uit"
 import "../../hifi/tablet/tabletWindows/preferences"
 
 Preference {
diff --git a/interface/resources/qml/dialogs/preferences/BrowsablePreference.qml b/interface/resources/qml/dialogs/preferences/BrowsablePreference.qml
index 6059f8ff1c..2cf50891c9 100644
--- a/interface/resources/qml/dialogs/preferences/BrowsablePreference.qml
+++ b/interface/resources/qml/dialogs/preferences/BrowsablePreference.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 
 import "../../dialogs"
-import controlsUit 1.0
+import "../../controls-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/ButtonPreference.qml b/interface/resources/qml/dialogs/preferences/ButtonPreference.qml
index 09c5b4329d..454a9124ae 100644
--- a/interface/resources/qml/dialogs/preferences/ButtonPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/ButtonPreference.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import TabletScriptingInterface 1.0
 
-import controlsUit 1.0
+import "../../controls-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/CheckBoxPreference.qml b/interface/resources/qml/dialogs/preferences/CheckBoxPreference.qml
index f6f840bbe8..e2172d8eda 100644
--- a/interface/resources/qml/dialogs/preferences/CheckBoxPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/CheckBoxPreference.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import TabletScriptingInterface 1.0
 
-import controlsUit 1.0
+import "../../controls-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/ComboBoxPreference.qml b/interface/resources/qml/dialogs/preferences/ComboBoxPreference.qml
index 98cb397976..3b3efaf520 100644
--- a/interface/resources/qml/dialogs/preferences/ComboBoxPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/ComboBoxPreference.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 
-import controlsUit 1.0 as HiFiControls
-import stylesUit 1.0
+import "../../controls-uit" as HiFiControls
+import "../../styles-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/EditablePreference.qml b/interface/resources/qml/dialogs/preferences/EditablePreference.qml
index e0c79ebba0..8acf8e1f76 100644
--- a/interface/resources/qml/dialogs/preferences/EditablePreference.qml
+++ b/interface/resources/qml/dialogs/preferences/EditablePreference.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 
 import "../../dialogs"
-import controlsUit 1.0
+import "../../controls-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/PrimaryHandPreference.qml b/interface/resources/qml/dialogs/preferences/PrimaryHandPreference.qml
index f963003c59..cfc2e94ed9 100644
--- a/interface/resources/qml/dialogs/preferences/PrimaryHandPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/PrimaryHandPreference.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import controlsUit 1.0
+import "../../controls-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/RadioButtonsPreference.qml b/interface/resources/qml/dialogs/preferences/RadioButtonsPreference.qml
index 0a09d8d609..103904a666 100644
--- a/interface/resources/qml/dialogs/preferences/RadioButtonsPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/RadioButtonsPreference.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../controls-uit"
+import "../../styles-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/Section.qml b/interface/resources/qml/dialogs/preferences/Section.qml
index a9b755ad83..c2c6583b7e 100644
--- a/interface/resources/qml/dialogs/preferences/Section.qml
+++ b/interface/resources/qml/dialogs/preferences/Section.qml
@@ -12,8 +12,8 @@ import QtQuick 2.5
 import QtQuick.Controls 1.4
 import Hifi 1.0
 
-import controlsUit 1.0 as HiFiControls
-import stylesUit 1.0
+import "../../controls-uit" as HiFiControls
+import "../../styles-uit"
 import "."
 
 Preference {
diff --git a/interface/resources/qml/dialogs/preferences/SliderPreference.qml b/interface/resources/qml/dialogs/preferences/SliderPreference.qml
index c8a2aae158..2bdda09fc3 100644
--- a/interface/resources/qml/dialogs/preferences/SliderPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/SliderPreference.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 
 import "../../dialogs"
-import controlsUit 1.0
+import "../../controls-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/SpinBoxPreference.qml b/interface/resources/qml/dialogs/preferences/SpinBoxPreference.qml
index 1b080c2759..b2c334b674 100644
--- a/interface/resources/qml/dialogs/preferences/SpinBoxPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/SpinBoxPreference.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import controlsUit 1.0
+import "../../controls-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/dialogs/preferences/SpinnerSliderPreference.qml b/interface/resources/qml/dialogs/preferences/SpinnerSliderPreference.qml
index cbc804d9d7..126e62fc30 100644
--- a/interface/resources/qml/dialogs/preferences/SpinnerSliderPreference.qml
+++ b/interface/resources/qml/dialogs/preferences/SpinnerSliderPreference.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 
 import "../../dialogs"
-import controlsUit 1.0
+import "../../controls-uit"
 
 Preference {
     id: root
diff --git a/interface/resources/qml/hifi/+android/ActionBar.qml b/interface/resources/qml/hifi/+android/ActionBar.qml
index 3c58156f30..d487901d6f 100644
--- a/interface/resources/qml/hifi/+android/ActionBar.qml
+++ b/interface/resources/qml/hifi/+android/ActionBar.qml
@@ -3,8 +3,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Layouts 1.3
 import Qt.labs.settings 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 import ".."
 
diff --git a/interface/resources/qml/hifi/+android/AudioBar.qml b/interface/resources/qml/hifi/+android/AudioBar.qml
index 912572fdf8..6cc17fccf7 100644
--- a/interface/resources/qml/hifi/+android/AudioBar.qml
+++ b/interface/resources/qml/hifi/+android/AudioBar.qml
@@ -3,8 +3,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Layouts 1.3
 import Qt.labs.settings 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 import ".."
 
diff --git a/interface/resources/qml/hifi/+android/AvatarOption.qml b/interface/resources/qml/hifi/+android/AvatarOption.qml
index 7eba3c2a67..85d7e52eb2 100644
--- a/interface/resources/qml/hifi/+android/AvatarOption.qml
+++ b/interface/resources/qml/hifi/+android/AvatarOption.qml
@@ -11,7 +11,7 @@
 
 import QtQuick.Layouts 1.3
 import QtQuick 2.5
-import controlsUit 1.0 as HifiControlsUit
+import "../controls-uit" as HifiControlsUit
 
 ColumnLayout {
     id: itemRoot
diff --git a/interface/resources/qml/hifi/+android/StatsBar.qml b/interface/resources/qml/hifi/+android/StatsBar.qml
index 64e93b4a08..aee438b44f 100644
--- a/interface/resources/qml/hifi/+android/StatsBar.qml
+++ b/interface/resources/qml/hifi/+android/StatsBar.qml
@@ -3,8 +3,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Layouts 1.3
 import Qt.labs.settings 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 import ".."
 
diff --git a/interface/resources/qml/hifi/+android/WindowHeader.qml b/interface/resources/qml/hifi/+android/WindowHeader.qml
index 5316fc4786..4ec0a0c6e6 100644
--- a/interface/resources/qml/hifi/+android/WindowHeader.qml
+++ b/interface/resources/qml/hifi/+android/WindowHeader.qml
@@ -16,8 +16,8 @@ import QtQuick.Layouts 1.3
 import Qt.labs.settings 1.0
 import "."
 import "../styles" as HifiStyles
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../styles-uit"
+import "../controls-uit" as HifiControlsUit
 import "../controls" as HifiControls
 import ".."
 
diff --git a/interface/resources/qml/hifi/+android/bottomHudOptions.qml b/interface/resources/qml/hifi/+android/bottomHudOptions.qml
index 6b830d94c2..22beccf531 100644
--- a/interface/resources/qml/hifi/+android/bottomHudOptions.qml
+++ b/interface/resources/qml/hifi/+android/bottomHudOptions.qml
@@ -16,8 +16,8 @@ import QtQuick.Controls.Styles 1.4
 import QtQuick.Layouts 1.3
 import Qt.labs.settings 1.0
 import "../../styles" as HifiStyles
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 import ".."
 import "."
diff --git a/interface/resources/qml/hifi/+android/modesbar.qml b/interface/resources/qml/hifi/+android/modesbar.qml
index 1bf04fb8d9..994bf1efe4 100644
--- a/interface/resources/qml/hifi/+android/modesbar.qml
+++ b/interface/resources/qml/hifi/+android/modesbar.qml
@@ -3,8 +3,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import QtQuick.Layouts 1.3
 import Qt.labs.settings 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 import ".."
 
diff --git a/interface/resources/qml/hifi/AssetServer.qml b/interface/resources/qml/hifi/AssetServer.qml
index ad337a6361..1a7f5bac40 100644
--- a/interface/resources/qml/hifi/AssetServer.qml
+++ b/interface/resources/qml/hifi/AssetServer.qml
@@ -14,8 +14,8 @@ import QtQuick.Controls.Styles 1.4
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 import Qt.labs.settings 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 import "../windows" as Windows
 import "../dialogs"
 
diff --git a/interface/resources/qml/hifi/AvatarApp.qml b/interface/resources/qml/hifi/AvatarApp.qml
index 39590748cf..aea5931627 100644
--- a/interface/resources/qml/hifi/AvatarApp.qml
+++ b/interface/resources/qml/hifi/AvatarApp.qml
@@ -3,8 +3,8 @@ import QtQuick.Controls 2.2
 import QtQuick.Layouts 1.3
 import QtQml.Models 2.1
 import QtGraphicalEffects 1.0
-import controlsUit 1.0 as HifiControls
-import stylesUit 1.0
+import "../controls-uit" as HifiControls
+import "../styles-uit"
 import "avatarapp"
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/Card.qml b/interface/resources/qml/hifi/Card.qml
index 7f29324416..83bf1e2c54 100644
--- a/interface/resources/qml/hifi/Card.qml
+++ b/interface/resources/qml/hifi/Card.qml
@@ -17,7 +17,7 @@ import QtGraphicalEffects 1.0
 import TabletScriptingInterface 1.0
 
 import "toolbars"
-import stylesUit 1.0
+import "../styles-uit"
 
 Item {
     id: root;
diff --git a/interface/resources/qml/hifi/ComboDialog.qml b/interface/resources/qml/hifi/ComboDialog.qml
index 74d9c1019b..e5dc8a9c1a 100644
--- a/interface/resources/qml/hifi/ComboDialog.qml
+++ b/interface/resources/qml/hifi/ComboDialog.qml
@@ -10,8 +10,8 @@
 //
 
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0
+import "../styles-uit"
+import "../controls-uit"
 
 Item {
     property var dialogTitleText : "";
diff --git a/interface/resources/qml/hifi/Desktop.qml b/interface/resources/qml/hifi/Desktop.qml
index 511d9377e5..4d342fe775 100644
--- a/interface/resources/qml/hifi/Desktop.qml
+++ b/interface/resources/qml/hifi/Desktop.qml
@@ -8,7 +8,7 @@ import "../desktop" as OriginalDesktop
 import ".."
 import "."
 import "./toolbars"
-import controlsUit 1.0
+import "../controls-uit"
 
 OriginalDesktop.Desktop {
     id: desktop
diff --git a/interface/resources/qml/hifi/DesktopLetterboxMessage.qml b/interface/resources/qml/hifi/DesktopLetterboxMessage.qml
index 048add24e5..9e9dcc75b2 100644
--- a/interface/resources/qml/hifi/DesktopLetterboxMessage.qml
+++ b/interface/resources/qml/hifi/DesktopLetterboxMessage.qml
@@ -10,7 +10,7 @@
 //
 
 import QtQuick 2.5
-import stylesUit 1.0
+import "../styles-uit"
 
 Item {
     property alias text: popupText.text
diff --git a/interface/resources/qml/hifi/Feed.qml b/interface/resources/qml/hifi/Feed.qml
index 4cfd4804b3..346481fe1f 100644
--- a/interface/resources/qml/hifi/Feed.qml
+++ b/interface/resources/qml/hifi/Feed.qml
@@ -15,7 +15,7 @@ import Hifi 1.0
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
 import "toolbars"
-import stylesUit 1.0
+import "../styles-uit"
 import "qrc:////qml//hifi//models" as HifiModels  // Absolute path so the same code works everywhere.
 
 Column {
diff --git a/interface/resources/qml/hifi/LetterboxMessage.qml b/interface/resources/qml/hifi/LetterboxMessage.qml
index 68bebdd041..8a18d88842 100644
--- a/interface/resources/qml/hifi/LetterboxMessage.qml
+++ b/interface/resources/qml/hifi/LetterboxMessage.qml
@@ -10,7 +10,7 @@
 //
 
 import QtQuick 2.5
-import stylesUit 1.0
+import "../styles-uit"
 
 Item {
     property alias text: popupText.text
diff --git a/interface/resources/qml/hifi/NameCard.qml b/interface/resources/qml/hifi/NameCard.qml
index 242ca5ab57..dfa6555150 100644
--- a/interface/resources/qml/hifi/NameCard.qml
+++ b/interface/resources/qml/hifi/NameCard.qml
@@ -13,8 +13,8 @@ import QtQuick 2.5
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 import "toolbars"
 
 // references Users, UserActivityLogger, MyAvatar, Vec3, Quat, AddressManager, Account from root context
diff --git a/interface/resources/qml/hifi/Pal.qml b/interface/resources/qml/hifi/Pal.qml
index 368beaab47..1384cb8711 100644
--- a/interface/resources/qml/hifi/Pal.qml
+++ b/interface/resources/qml/hifi/Pal.qml
@@ -15,8 +15,8 @@ import QtQuick 2.5
 import QtQuick.Controls 1.4
 import QtGraphicalEffects 1.0
 import Qt.labs.settings 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../styles-uit"
+import "../controls-uit" as HifiControlsUit
 import "../controls" as HifiControls
 import "qrc:////qml//hifi//models" as HifiModels  // Absolute path so the same code works everywhere.
 
diff --git a/interface/resources/qml/hifi/SkyboxChanger.qml b/interface/resources/qml/hifi/SkyboxChanger.qml
index a66fc38415..f0c97a11a3 100644
--- a/interface/resources/qml/hifi/SkyboxChanger.qml
+++ b/interface/resources/qml/hifi/SkyboxChanger.qml
@@ -10,8 +10,8 @@
 //
 
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 import QtQuick.Controls 2.2
 
 Item {
diff --git a/interface/resources/qml/hifi/SpectatorCamera.qml b/interface/resources/qml/hifi/SpectatorCamera.qml
index 09b722b906..4bf80e410b 100644
--- a/interface/resources/qml/hifi/SpectatorCamera.qml
+++ b/interface/resources/qml/hifi/SpectatorCamera.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.7
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../styles-uit"
+import "../controls-uit" as HifiControlsUit
 import "../controls" as HifiControls
 
 // references HMD, XXX from root context
diff --git a/interface/resources/qml/hifi/TabletTextButton.qml b/interface/resources/qml/hifi/TabletTextButton.qml
index 6c9e0331df..e5ff1d381d 100644
--- a/interface/resources/qml/hifi/TabletTextButton.qml
+++ b/interface/resources/qml/hifi/TabletTextButton.qml
@@ -10,7 +10,7 @@
 
 import Hifi 1.0
 import QtQuick 2.4
-import stylesUit 1.0
+import "../styles-uit"
 
 Rectangle {
     property alias text: label.text
diff --git a/interface/resources/qml/hifi/TextButton.qml b/interface/resources/qml/hifi/TextButton.qml
index 61588a9603..02e49d86e4 100644
--- a/interface/resources/qml/hifi/TextButton.qml
+++ b/interface/resources/qml/hifi/TextButton.qml
@@ -9,7 +9,7 @@
 //
 import Hifi 1.0
 import QtQuick 2.4
-import stylesUit 1.0
+import "../styles-uit"
 
 Rectangle {
     property alias text: label.text;
diff --git a/interface/resources/qml/hifi/WebBrowser.qml b/interface/resources/qml/hifi/WebBrowser.qml
index c05de26471..ab93752d92 100644
--- a/interface/resources/qml/hifi/WebBrowser.qml
+++ b/interface/resources/qml/hifi/WebBrowser.qml
@@ -18,8 +18,8 @@ import QtGraphicalEffects 1.0
 import QtWebEngine 1.5
 import QtWebChannel 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../styles-uit"
+import "../controls-uit" as HifiControls
 import "../windows"
 import "../controls"
 
diff --git a/interface/resources/qml/hifi/audio/Audio.qml b/interface/resources/qml/hifi/audio/Audio.qml
index c8dd83cd62..f4a708567a 100644
--- a/interface/resources/qml/hifi/audio/Audio.qml
+++ b/interface/resources/qml/hifi/audio/Audio.qml
@@ -15,8 +15,8 @@ import QtQuick 2.5
 import QtQuick.Controls 2.2
 import QtQuick.Layouts 1.3
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 import "../../windows"
 import "./" as AudioControls
 
diff --git a/interface/resources/qml/hifi/audio/AudioTabButton.qml b/interface/resources/qml/hifi/audio/AudioTabButton.qml
index 32331ccb6e..3a3ed90f5e 100644
--- a/interface/resources/qml/hifi/audio/AudioTabButton.qml
+++ b/interface/resources/qml/hifi/audio/AudioTabButton.qml
@@ -11,8 +11,8 @@
 
 import QtQuick 2.7
 import QtQuick.Controls 2.2
-import controlsUit 1.0 as HifiControls
-import stylesUit 1.0
+import "../../controls-uit" as HifiControls
+import "../../styles-uit"
 
 TabButton {
     id: control
diff --git a/interface/resources/qml/hifi/audio/CheckBox.qml b/interface/resources/qml/hifi/audio/CheckBox.qml
index 5ab62a5091..3a954d4004 100644
--- a/interface/resources/qml/hifi/audio/CheckBox.qml
+++ b/interface/resources/qml/hifi/audio/CheckBox.qml
@@ -11,7 +11,7 @@
 
 import QtQuick 2.7
 
-import controlsUit 1.0 as HifiControls
+import "../../controls-uit" as HifiControls
 
 HifiControls.CheckBoxQQC2 {
     color: "white"
diff --git a/interface/resources/qml/hifi/audio/PlaySampleSound.qml b/interface/resources/qml/hifi/audio/PlaySampleSound.qml
index cfe55af9c4..2b9599a3cc 100644
--- a/interface/resources/qml/hifi/audio/PlaySampleSound.qml
+++ b/interface/resources/qml/hifi/audio/PlaySampleSound.qml
@@ -13,8 +13,8 @@ import QtQuick 2.7
 import QtQuick.Controls 2.2
 import QtQuick.Layouts 1.3
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 
 RowLayout {
     property var sound: null;
diff --git a/interface/resources/qml/hifi/avatarapp/AdjustWearables.qml b/interface/resources/qml/hifi/avatarapp/AdjustWearables.qml
index 0740914440..5fff14e4a1 100644
--- a/interface/resources/qml/hifi/avatarapp/AdjustWearables.qml
+++ b/interface/resources/qml/hifi/avatarapp/AdjustWearables.qml
@@ -1,8 +1,9 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtQuick.Layouts 1.3
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
+import "../../controls" as HifiControls
 
 Rectangle {
     id: root;
diff --git a/interface/resources/qml/hifi/avatarapp/AvatarAppHeader.qml b/interface/resources/qml/hifi/avatarapp/AvatarAppHeader.qml
index d3c9cd1d5f..9d9db010fb 100644
--- a/interface/resources/qml/hifi/avatarapp/AvatarAppHeader.qml
+++ b/interface/resources/qml/hifi/avatarapp/AvatarAppHeader.qml
@@ -1,6 +1,6 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
+import "../../styles-uit"
 
 ShadowRectangle {
     id: header
diff --git a/interface/resources/qml/hifi/avatarapp/AvatarAppStyle.qml b/interface/resources/qml/hifi/avatarapp/AvatarAppStyle.qml
index 36cb4b1080..f66c7121cb 100644
--- a/interface/resources/qml/hifi/avatarapp/AvatarAppStyle.qml
+++ b/interface/resources/qml/hifi/avatarapp/AvatarAppStyle.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 import QtQuick.Window 2.2
-import stylesUit 1.0
+import "../../styles-uit"
 
 QtObject {
 	readonly property QtObject colors: QtObject {
diff --git a/interface/resources/qml/hifi/avatarapp/AvatarWearablesIndicator.qml b/interface/resources/qml/hifi/avatarapp/AvatarWearablesIndicator.qml
index 8b28d4c66b..cb73e9fe71 100644
--- a/interface/resources/qml/hifi/avatarapp/AvatarWearablesIndicator.qml
+++ b/interface/resources/qml/hifi/avatarapp/AvatarWearablesIndicator.qml
@@ -1,6 +1,6 @@
 import QtQuick 2.9
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../controls-uit"
+import "../../styles-uit"
 
 ShadowRectangle {
     property int wearablesCount: 0
diff --git a/interface/resources/qml/hifi/avatarapp/BlueButton.qml b/interface/resources/qml/hifi/avatarapp/BlueButton.qml
index 0cc84d5ba0..e668951517 100644
--- a/interface/resources/qml/hifi/avatarapp/BlueButton.qml
+++ b/interface/resources/qml/hifi/avatarapp/BlueButton.qml
@@ -1,6 +1,6 @@
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 
 HifiControlsUit.Button {
     HifiConstants {
diff --git a/interface/resources/qml/hifi/avatarapp/CreateFavoriteDialog.qml b/interface/resources/qml/hifi/avatarapp/CreateFavoriteDialog.qml
index 780981a5a3..1387c0791a 100644
--- a/interface/resources/qml/hifi/avatarapp/CreateFavoriteDialog.qml
+++ b/interface/resources/qml/hifi/avatarapp/CreateFavoriteDialog.qml
@@ -1,7 +1,7 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/avatarapp/InputField.qml b/interface/resources/qml/hifi/avatarapp/InputField.qml
index 2020d56c96..905518ef0f 100644
--- a/interface/resources/qml/hifi/avatarapp/InputField.qml
+++ b/interface/resources/qml/hifi/avatarapp/InputField.qml
@@ -1,7 +1,7 @@
 import QtQuick 2.5
 import QtQuick.Controls 2.2
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 
 TextField {
     id: textField
diff --git a/interface/resources/qml/hifi/avatarapp/InputTextStyle4.qml b/interface/resources/qml/hifi/avatarapp/InputTextStyle4.qml
index 6c2101498c..4b868b47ce 100644
--- a/interface/resources/qml/hifi/avatarapp/InputTextStyle4.qml
+++ b/interface/resources/qml/hifi/avatarapp/InputTextStyle4.qml
@@ -1,5 +1,5 @@
-import controlsUit 1.0 as HifiControlsUit
-import stylesUit 1.0
+import "../../controls-uit" as HifiControlsUit
+import "../../styles-uit"
 
 import QtQuick 2.0
 import QtQuick.Controls 2.2
diff --git a/interface/resources/qml/hifi/avatarapp/MessageBox.qml b/interface/resources/qml/hifi/avatarapp/MessageBox.qml
index eb28745b1a..f111303214 100644
--- a/interface/resources/qml/hifi/avatarapp/MessageBox.qml
+++ b/interface/resources/qml/hifi/avatarapp/MessageBox.qml
@@ -1,7 +1,7 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/avatarapp/Settings.qml b/interface/resources/qml/hifi/avatarapp/Settings.qml
index 38acce2b2c..71bfbb084d 100644
--- a/interface/resources/qml/hifi/avatarapp/Settings.qml
+++ b/interface/resources/qml/hifi/avatarapp/Settings.qml
@@ -2,8 +2,8 @@ import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtQuick.Controls 2.2
 import QtQuick.Layouts 1.3
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/avatarapp/ShadowGlyph.qml b/interface/resources/qml/hifi/avatarapp/ShadowGlyph.qml
index a2c84fad47..c2d84bb371 100644
--- a/interface/resources/qml/hifi/avatarapp/ShadowGlyph.qml
+++ b/interface/resources/qml/hifi/avatarapp/ShadowGlyph.qml
@@ -1,4 +1,4 @@
-import stylesUit 1.0
+import "../../styles-uit"
 import QtQuick 2.9
 import QtGraphicalEffects 1.0
 
diff --git a/interface/resources/qml/hifi/avatarapp/ShadowImage.qml b/interface/resources/qml/hifi/avatarapp/ShadowImage.qml
index 51e1043702..3995446e49 100644
--- a/interface/resources/qml/hifi/avatarapp/ShadowImage.qml
+++ b/interface/resources/qml/hifi/avatarapp/ShadowImage.qml
@@ -1,4 +1,4 @@
-import stylesUit 1.0
+import "../../styles-uit"
 import QtQuick 2.9
 import QtGraphicalEffects 1.0
 
diff --git a/interface/resources/qml/hifi/avatarapp/ShadowRectangle.qml b/interface/resources/qml/hifi/avatarapp/ShadowRectangle.qml
index 3968fcb1ff..741fce3d8d 100644
--- a/interface/resources/qml/hifi/avatarapp/ShadowRectangle.qml
+++ b/interface/resources/qml/hifi/avatarapp/ShadowRectangle.qml
@@ -1,4 +1,4 @@
-import stylesUit 1.0
+import "../../styles-uit"
 import QtQuick 2.9
 import QtGraphicalEffects 1.0
 
diff --git a/interface/resources/qml/hifi/avatarapp/SquareLabel.qml b/interface/resources/qml/hifi/avatarapp/SquareLabel.qml
index 69aff47373..e2c456ec04 100644
--- a/interface/resources/qml/hifi/avatarapp/SquareLabel.qml
+++ b/interface/resources/qml/hifi/avatarapp/SquareLabel.qml
@@ -1,5 +1,5 @@
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import QtQuick 2.9
 import QtGraphicalEffects 1.0
 
diff --git a/interface/resources/qml/hifi/avatarapp/Vector3.qml b/interface/resources/qml/hifi/avatarapp/Vector3.qml
index 698123104f..d77665f992 100644
--- a/interface/resources/qml/hifi/avatarapp/Vector3.qml
+++ b/interface/resources/qml/hifi/avatarapp/Vector3.qml
@@ -1,7 +1,7 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 import "../../controls" as HifiControls
 
 Row {
diff --git a/interface/resources/qml/hifi/avatarapp/WhiteButton.qml b/interface/resources/qml/hifi/avatarapp/WhiteButton.qml
index d0a4a152db..dc729ae097 100644
--- a/interface/resources/qml/hifi/avatarapp/WhiteButton.qml
+++ b/interface/resources/qml/hifi/avatarapp/WhiteButton.qml
@@ -1,6 +1,6 @@
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../styles-uit"
+import "../../controls-uit" as HifiControlsUit
 
 HifiControlsUit.Button {
     HifiConstants {
diff --git a/interface/resources/qml/hifi/commerce/checkout/Checkout.qml b/interface/resources/qml/hifi/commerce/checkout/Checkout.qml
index ac6aa3d56c..b13f23f17d 100644
--- a/interface/resources/qml/hifi/commerce/checkout/Checkout.qml
+++ b/interface/resources/qml/hifi/commerce/checkout/Checkout.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtQuick.Controls 1.4
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 import "../wallet" as HifiWallet
 import "../common" as HifiCommerceCommon
diff --git a/interface/resources/qml/hifi/commerce/common/CommerceLightbox.qml b/interface/resources/qml/hifi/commerce/common/CommerceLightbox.qml
index 8cfea0bcd9..9d9216c461 100644
--- a/interface/resources/qml/hifi/commerce/common/CommerceLightbox.qml
+++ b/interface/resources/qml/hifi/commerce/common/CommerceLightbox.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/common/EmulatedMarketplaceHeader.qml b/interface/resources/qml/hifi/commerce/common/EmulatedMarketplaceHeader.qml
index 429f993817..1b77dcd3e9 100644
--- a/interface/resources/qml/hifi/commerce/common/EmulatedMarketplaceHeader.qml
+++ b/interface/resources/qml/hifi/commerce/common/EmulatedMarketplaceHeader.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.7
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/common/FirstUseTutorial.qml b/interface/resources/qml/hifi/commerce/common/FirstUseTutorial.qml
index 6002747596..5f874d3f04 100644
--- a/interface/resources/qml/hifi/commerce/common/FirstUseTutorial.qml
+++ b/interface/resources/qml/hifi/commerce/common/FirstUseTutorial.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/common/sendAsset/ConnectionItem.qml b/interface/resources/qml/hifi/commerce/common/sendAsset/ConnectionItem.qml
index 1eb8af31e6..41eacd68d5 100644
--- a/interface/resources/qml/hifi/commerce/common/sendAsset/ConnectionItem.qml
+++ b/interface/resources/qml/hifi/commerce/common/sendAsset/ConnectionItem.qml
@@ -16,8 +16,8 @@ import QtQuick 2.5
 import QtGraphicalEffects 1.0
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../../styles-uit"
+import "../../../../controls-uit" as HifiControlsUit
 import "../../../../controls" as HifiControls
 import "../../wallet" as HifiWallet
 
diff --git a/interface/resources/qml/hifi/commerce/common/sendAsset/RecipientDisplay.qml b/interface/resources/qml/hifi/commerce/common/sendAsset/RecipientDisplay.qml
index 9e1a967d50..9293dc83ab 100644
--- a/interface/resources/qml/hifi/commerce/common/sendAsset/RecipientDisplay.qml
+++ b/interface/resources/qml/hifi/commerce/common/sendAsset/RecipientDisplay.qml
@@ -15,8 +15,8 @@ import Hifi 1.0 as Hifi
 import QtQuick 2.6
 import QtQuick.Controls 2.2
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../../styles-uit"
+import "../../../../controls-uit" as HifiControlsUit
 import "../../../../controls" as HifiControls
 import "../" as HifiCommerceCommon
 
diff --git a/interface/resources/qml/hifi/commerce/common/sendAsset/SendAsset.qml b/interface/resources/qml/hifi/commerce/common/sendAsset/SendAsset.qml
index f204d943fe..0a5c3e8053 100644
--- a/interface/resources/qml/hifi/commerce/common/sendAsset/SendAsset.qml
+++ b/interface/resources/qml/hifi/commerce/common/sendAsset/SendAsset.qml
@@ -15,8 +15,8 @@ import Hifi 1.0 as Hifi
 import QtQuick 2.6
 import QtQuick.Controls 2.2
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../../styles-uit"
+import "../../../../controls-uit" as HifiControlsUit
 import "../../../../controls" as HifiControls
 import "../" as HifiCommerceCommon
 import "qrc:////qml//hifi//models" as HifiModels  // Absolute path so the same code works everywhere.
diff --git a/interface/resources/qml/hifi/commerce/inspectionCertificate/InspectionCertificate.qml b/interface/resources/qml/hifi/commerce/inspectionCertificate/InspectionCertificate.qml
index 7721dc3142..d24344b40a 100644
--- a/interface/resources/qml/hifi/commerce/inspectionCertificate/InspectionCertificate.qml
+++ b/interface/resources/qml/hifi/commerce/inspectionCertificate/InspectionCertificate.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 import "../wallet" as HifiWallet
 
diff --git a/interface/resources/qml/hifi/commerce/marketplaceItemTester/MarketplaceItemTester.qml b/interface/resources/qml/hifi/commerce/marketplaceItemTester/MarketplaceItemTester.qml
index ee9858103c..c3d87ca2f5 100644
--- a/interface/resources/qml/hifi/commerce/marketplaceItemTester/MarketplaceItemTester.qml
+++ b/interface/resources/qml/hifi/commerce/marketplaceItemTester/MarketplaceItemTester.qml
@@ -17,8 +17,8 @@ import QtQuick.Controls.Styles 1.4
 import QtQuick.Dialogs 1.0
 import QtQuick.Layouts 1.1
 import Hifi 1.0 as Hifi
-import stylesUit 1.0 as HifiStylesUit
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit" as HifiStylesUit
+import "../../../controls-uit" as HifiControlsUit
 
 
 
diff --git a/interface/resources/qml/hifi/commerce/purchases/PurchasedItem.qml b/interface/resources/qml/hifi/commerce/purchases/PurchasedItem.qml
index 9d2df1a865..eeb9ac3c54 100644
--- a/interface/resources/qml/hifi/commerce/purchases/PurchasedItem.qml
+++ b/interface/resources/qml/hifi/commerce/purchases/PurchasedItem.qml
@@ -15,8 +15,8 @@ import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtQuick.Controls 1.4
 import QtQuick.Controls.Styles 1.4
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 import "../wallet" as HifiWallet
 import TabletScriptingInterface 1.0
diff --git a/interface/resources/qml/hifi/commerce/purchases/Purchases.qml b/interface/resources/qml/hifi/commerce/purchases/Purchases.qml
index 8b7ebcf768..015ec3a172 100644
--- a/interface/resources/qml/hifi/commerce/purchases/Purchases.qml
+++ b/interface/resources/qml/hifi/commerce/purchases/Purchases.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 import "qrc:////qml//hifi//models" as HifiModels  // Absolute path so the same code works everywhere.
 import "../wallet" as HifiWallet
diff --git a/interface/resources/qml/hifi/commerce/wallet/Help.qml b/interface/resources/qml/hifi/commerce/wallet/Help.qml
index 24ca5407b2..6d8fc3c33f 100644
--- a/interface/resources/qml/hifi/commerce/wallet/Help.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/Help.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.7
 import QtQuick.Controls 2.2
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/wallet/NeedsLogIn.qml b/interface/resources/qml/hifi/commerce/wallet/NeedsLogIn.qml
index b1fbb91c80..eadf1ca8a2 100644
--- a/interface/resources/qml/hifi/commerce/wallet/NeedsLogIn.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/NeedsLogIn.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseChange.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseChange.qml
index 6ddfe0da1c..8451c90836 100644
--- a/interface/resources/qml/hifi/commerce/wallet/PassphraseChange.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseChange.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseModal.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseModal.qml
index 86d50e87ec..c4abd40d2a 100644
--- a/interface/resources/qml/hifi/commerce/wallet/PassphraseModal.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseModal.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 import "../common" as HifiCommerceCommon
 
diff --git a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml
index 179ffcf707..e052b78876 100644
--- a/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/PassphraseSelection.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/wallet/Security.qml b/interface/resources/qml/hifi/commerce/wallet/Security.qml
index f0b1ecd4e0..14ac696ef7 100644
--- a/interface/resources/qml/hifi/commerce/wallet/Security.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/Security.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageChange.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageChange.qml
index da0d0d59d5..01df18352b 100644
--- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageChange.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageChange.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml
index 82933eebcb..599c6a1851 100644
--- a/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/SecurityImageSelection.qml
@@ -13,8 +13,8 @@
 
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 
 // references XXX from root context
diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
index 0cca581c4f..cbb77883df 100644
--- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 import "../common" as HifiCommerceCommon
 import "../common/sendAsset"
diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletChoice.qml b/interface/resources/qml/hifi/commerce/wallet/WalletChoice.qml
index e7163a3641..19065ee542 100644
--- a/interface/resources/qml/hifi/commerce/wallet/WalletChoice.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/WalletChoice.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import "../common" as HifiCommerceCommon
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 
 
 Item {
diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml
index 1e78027f91..627da1d43f 100644
--- a/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/WalletHome.qml
@@ -15,8 +15,8 @@ import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
 import QtQuick.Controls 2.2
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 import "qrc:////qml//hifi//models" as HifiModels  // Absolute path so the same code works everywhere.
 
diff --git a/interface/resources/qml/hifi/commerce/wallet/WalletSetup.qml b/interface/resources/qml/hifi/commerce/wallet/WalletSetup.qml
index b793075843..dc6ce45a74 100644
--- a/interface/resources/qml/hifi/commerce/wallet/WalletSetup.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/WalletSetup.qml
@@ -14,8 +14,8 @@
 import Hifi 1.0 as Hifi
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControlsUit
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControlsUit
 import "../../../controls" as HifiControls
 import "../common" as HifiCommerceCommon
 
diff --git a/interface/resources/qml/hifi/dialogs/AboutDialog.qml b/interface/resources/qml/hifi/dialogs/AboutDialog.qml
index 3d5d1a94a3..b8e6e89aec 100644
--- a/interface/resources/qml/hifi/dialogs/AboutDialog.qml
+++ b/interface/resources/qml/hifi/dialogs/AboutDialog.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.8
 
-import stylesUit 1.0
+import "../../styles-uit"
 import "../../windows"
 
 ScrollingWindow {
diff --git a/interface/resources/qml/hifi/dialogs/RunningScripts.qml b/interface/resources/qml/hifi/dialogs/RunningScripts.qml
index be17e65ab3..9a180a66f6 100644
--- a/interface/resources/qml/hifi/dialogs/RunningScripts.qml
+++ b/interface/resources/qml/hifi/dialogs/RunningScripts.qml
@@ -13,8 +13,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 import Qt.labs.settings 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 import "../../windows"
 import "../"
 
diff --git a/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml b/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml
index d26bf81e57..579aa1cb1e 100644
--- a/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml
+++ b/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml
@@ -9,7 +9,7 @@
 //
 
 import QtQuick 2.5
-import stylesUit 1.0
+import "../../styles-uit"
 
 Rectangle {
     width: 480
diff --git a/interface/resources/qml/hifi/dialogs/TabletAssetServer.qml b/interface/resources/qml/hifi/dialogs/TabletAssetServer.qml
index f665032b01..0eeb252049 100644
--- a/interface/resources/qml/hifi/dialogs/TabletAssetServer.qml
+++ b/interface/resources/qml/hifi/dialogs/TabletAssetServer.qml
@@ -14,8 +14,8 @@ import QtQuick.Controls.Styles 1.4
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 import Qt.labs.settings 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 import "../../windows"
 import ".."
 
diff --git a/interface/resources/qml/hifi/dialogs/TabletDCDialog.qml b/interface/resources/qml/hifi/dialogs/TabletDCDialog.qml
index 763f56b92b..afe06897df 100644
--- a/interface/resources/qml/hifi/dialogs/TabletDCDialog.qml
+++ b/interface/resources/qml/hifi/dialogs/TabletDCDialog.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 import Qt.labs.settings 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 import "../../windows"
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/dialogs/TabletDebugWindow.qml b/interface/resources/qml/hifi/dialogs/TabletDebugWindow.qml
index 213dca8b48..50df4dedbc 100644
--- a/interface/resources/qml/hifi/dialogs/TabletDebugWindow.qml
+++ b/interface/resources/qml/hifi/dialogs/TabletDebugWindow.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 2.2
 import Hifi 1.0 as Hifi
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 
 Rectangle {
     id: root
diff --git a/interface/resources/qml/hifi/dialogs/TabletEntityStatistics.qml b/interface/resources/qml/hifi/dialogs/TabletEntityStatistics.qml
index 4cfc99e0eb..24798af21a 100644
--- a/interface/resources/qml/hifi/dialogs/TabletEntityStatistics.qml
+++ b/interface/resources/qml/hifi/dialogs/TabletEntityStatistics.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 import Qt.labs.settings 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 import "../../windows"
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/dialogs/TabletEntityStatisticsItem.qml b/interface/resources/qml/hifi/dialogs/TabletEntityStatisticsItem.qml
index e86dfd7554..d5c5a5ee02 100644
--- a/interface/resources/qml/hifi/dialogs/TabletEntityStatisticsItem.qml
+++ b/interface/resources/qml/hifi/dialogs/TabletEntityStatisticsItem.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 
 Column {
     id: root
diff --git a/interface/resources/qml/hifi/dialogs/TabletLODTools.qml b/interface/resources/qml/hifi/dialogs/TabletLODTools.qml
index bb3d668850..ab53f03477 100644
--- a/interface/resources/qml/hifi/dialogs/TabletLODTools.qml
+++ b/interface/resources/qml/hifi/dialogs/TabletLODTools.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 import "../../windows"
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/dialogs/TabletRunningScripts.qml b/interface/resources/qml/hifi/dialogs/TabletRunningScripts.qml
index 6cd220307d..018c8f5737 100644
--- a/interface/resources/qml/hifi/dialogs/TabletRunningScripts.qml
+++ b/interface/resources/qml/hifi/dialogs/TabletRunningScripts.qml
@@ -13,8 +13,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 import Qt.labs.settings 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 import "../../windows"
 import "../"
 
diff --git a/interface/resources/qml/hifi/dialogs/content/ModelBrowserContent.qml b/interface/resources/qml/hifi/dialogs/content/ModelBrowserContent.qml
index b1aa8e5c45..ce1abc6154 100644
--- a/interface/resources/qml/hifi/dialogs/content/ModelBrowserContent.qml
+++ b/interface/resources/qml/hifi/dialogs/content/ModelBrowserContent.qml
@@ -1,7 +1,7 @@
 import QtQuick 2.7
 import QtQuick.Controls 2.3
 
-import controlsUit 1.0 as HifiControls
+import "../../../controls-uit" as HifiControls
 
 Column {
     width: pane.contentWidth
diff --git a/interface/resources/qml/hifi/tablet/CalibratingScreen.qml b/interface/resources/qml/hifi/tablet/CalibratingScreen.qml
index 6b2aa331e8..e3115a5738 100644
--- a/interface/resources/qml/hifi/tablet/CalibratingScreen.qml
+++ b/interface/resources/qml/hifi/tablet/CalibratingScreen.qml
@@ -10,9 +10,9 @@
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
-import stylesUit 1.0
+import "../../styles-uit"
 import "../../controls"
-import controlsUit 1.0 as HifiControls
+import "../../controls-uit" as HifiControls
 
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/tablet/ControllerSettings.qml b/interface/resources/qml/hifi/tablet/ControllerSettings.qml
index b8bbd71f33..6706830537 100644
--- a/interface/resources/qml/hifi/tablet/ControllerSettings.qml
+++ b/interface/resources/qml/hifi/tablet/ControllerSettings.qml
@@ -11,9 +11,9 @@ import QtQuick.Controls 2.2
 import QtQuick.Layouts 1.3
 import QtGraphicalEffects 1.0
 import Qt.labs.settings 1.0
-import stylesUit 1.0
+import "../../styles-uit"
 import "../../controls"
-import controlsUit 1.0 as HifiControls
+import "../../controls-uit" as HifiControls
 import "../../dialogs"
 import "../../dialogs/preferences"
 import "tabletWindows"
diff --git a/interface/resources/qml/hifi/tablet/EditEntityList.qml b/interface/resources/qml/hifi/tablet/EditEntityList.qml
index d2fb99ea0a..d484885103 100644
--- a/interface/resources/qml/hifi/tablet/EditEntityList.qml
+++ b/interface/resources/qml/hifi/tablet/EditEntityList.qml
@@ -4,8 +4,8 @@ import QtWebChannel 1.0
 import "../../controls"
 import "../toolbars"
 import QtGraphicalEffects 1.0
-import controlsUit 1.0 as HifiControls
-import stylesUit 1.0
+import "../../controls-uit" as HifiControls
+import "../../styles-uit"
 
 
 WebView {
diff --git a/interface/resources/qml/hifi/tablet/EditTabButton.qml b/interface/resources/qml/hifi/tablet/EditTabButton.qml
index 5fc4341eb8..13894f4d15 100644
--- a/interface/resources/qml/hifi/tablet/EditTabButton.qml
+++ b/interface/resources/qml/hifi/tablet/EditTabButton.qml
@@ -11,8 +11,8 @@
 
 import QtQuick 2.7
 import QtQuick.Controls 2.2
-import controlsUit 1.0 as HifiControls
-import stylesUit 1.0
+import "../../controls-uit" as HifiControls
+import "../../styles-uit"
 
 TabButton {
     id: control
diff --git a/interface/resources/qml/hifi/tablet/EditTabView.qml b/interface/resources/qml/hifi/tablet/EditTabView.qml
index 332fab6112..4ac8755570 100644
--- a/interface/resources/qml/hifi/tablet/EditTabView.qml
+++ b/interface/resources/qml/hifi/tablet/EditTabView.qml
@@ -4,8 +4,8 @@ import QtWebChannel 1.0
 import "../../controls"
 import "../toolbars"
 import QtGraphicalEffects 1.0
-import controlsUit 1.0 as HifiControls
-import stylesUit 1.0
+import "../../controls-uit" as HifiControls
+import "../../styles-uit"
 
 TabBar {
     id: editTabView
diff --git a/interface/resources/qml/hifi/tablet/EditToolsTabView.qml b/interface/resources/qml/hifi/tablet/EditToolsTabView.qml
index 76078b4afd..00084b8ca9 100644
--- a/interface/resources/qml/hifi/tablet/EditToolsTabView.qml
+++ b/interface/resources/qml/hifi/tablet/EditToolsTabView.qml
@@ -4,8 +4,8 @@ import QtWebChannel 1.0
 import "../../controls"
 import "../toolbars"
 import QtGraphicalEffects 1.0
-import controlsUit 1.0 as HifiControls
-import stylesUit 1.0
+import "../../controls-uit" as HifiControls
+import "../../styles-uit"
 
 TabBar {
     id: editTabView
diff --git a/interface/resources/qml/hifi/tablet/InputRecorder.qml b/interface/resources/qml/hifi/tablet/InputRecorder.qml
index 9b63a612a8..527a6cacb4 100644
--- a/interface/resources/qml/hifi/tablet/InputRecorder.qml
+++ b/interface/resources/qml/hifi/tablet/InputRecorder.qml
@@ -9,8 +9,8 @@
 import QtQuick 2.5
 import Hifi 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit"
+import "../../controls-uit" as HifiControls
 import "../../windows"
 import "../../dialogs"
 
diff --git a/interface/resources/qml/hifi/tablet/NewMaterialDialog.qml b/interface/resources/qml/hifi/tablet/NewMaterialDialog.qml
index dde372648b..526a42f8e2 100644
--- a/interface/resources/qml/hifi/tablet/NewMaterialDialog.qml
+++ b/interface/resources/qml/hifi/tablet/NewMaterialDialog.qml
@@ -13,8 +13,8 @@ import QtQuick 2.7
 import QtQuick.Controls 2.2
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 
-import stylesUit 1.0
-import controlsUit 1.0
+import "../../styles-uit"
+import "../../controls-uit"
 import "../dialogs"
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/tablet/NewModelDialog.qml b/interface/resources/qml/hifi/tablet/NewModelDialog.qml
index 9540979479..553a4fd59f 100644
--- a/interface/resources/qml/hifi/tablet/NewModelDialog.qml
+++ b/interface/resources/qml/hifi/tablet/NewModelDialog.qml
@@ -12,8 +12,8 @@
 import QtQuick 2.5
 import QtQuick.Dialogs 1.2 as OriginalDialogs
 
-import stylesUit 1.0
-import controlsUit 1.0
+import "../../styles-uit"
+import "../../controls-uit"
 import "../dialogs"
 
 Rectangle {
diff --git a/interface/resources/qml/hifi/tablet/OpenVrConfiguration.qml b/interface/resources/qml/hifi/tablet/OpenVrConfiguration.qml
index 684d12c9b4..c2aff08e35 100644
--- a/interface/resources/qml/hifi/tablet/OpenVrConfiguration.qml
+++ b/interface/resources/qml/hifi/tablet/OpenVrConfiguration.qml
@@ -9,9 +9,9 @@
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
-import stylesUit 1.0
+import "../../styles-uit"
 import "../../controls"
-import controlsUit 1.0 as HifiControls
+import "../../controls-uit" as HifiControls
 import "."
 
 
diff --git a/interface/resources/qml/hifi/tablet/TabletAddressDialog.qml b/interface/resources/qml/hifi/tablet/TabletAddressDialog.qml
index 0f26ba20aa..3d518289fb 100644
--- a/interface/resources/qml/hifi/tablet/TabletAddressDialog.qml
+++ b/interface/resources/qml/hifi/tablet/TabletAddressDialog.qml
@@ -18,8 +18,8 @@ import "../../styles"
 import "../../windows"
 import "../"
 import "../toolbars"
-import stylesUit 1.0 as HifiStyles
-import controlsUit 1.0 as HifiControls
+import "../../styles-uit" as HifiStyles
+import "../../controls-uit" as HifiControls
 import QtQuick.Controls 2.2 as QQC2
 import QtQuick.Templates 2.2 as T
 
diff --git a/interface/resources/qml/hifi/tablet/TabletHome.qml b/interface/resources/qml/hifi/tablet/TabletHome.qml
index 934ed91995..1922b02f93 100644
--- a/interface/resources/qml/hifi/tablet/TabletHome.qml
+++ b/interface/resources/qml/hifi/tablet/TabletHome.qml
@@ -6,7 +6,7 @@ import QtQuick.Layouts 1.3
 import TabletScriptingInterface 1.0
 
 import "."
-import stylesUit 1.0
+import "../../styles-uit"
 import "../audio" as HifiAudio
 
 Item {
diff --git a/interface/resources/qml/hifi/tablet/TabletMenu.qml b/interface/resources/qml/hifi/tablet/TabletMenu.qml
index 267fb9f0cf..6540d53fca 100644
--- a/interface/resources/qml/hifi/tablet/TabletMenu.qml
+++ b/interface/resources/qml/hifi/tablet/TabletMenu.qml
@@ -7,7 +7,7 @@ import QtWebEngine  1.1
 
 
 import "."
-import stylesUit 1.0
+import "../../styles-uit"
 import "../../controls"
 
 FocusScope {
diff --git a/interface/resources/qml/hifi/tablet/TabletMenuItem.qml b/interface/resources/qml/hifi/tablet/TabletMenuItem.qml
index 25db90c771..74f175e049 100644
--- a/interface/resources/qml/hifi/tablet/TabletMenuItem.qml
+++ b/interface/resources/qml/hifi/tablet/TabletMenuItem.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 import QtQuick.Controls 1.4
 
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../controls-uit"
+import "../../styles-uit"
 
 Item {
     id: root
diff --git a/interface/resources/qml/hifi/tablet/TabletMenuView.qml b/interface/resources/qml/hifi/tablet/TabletMenuView.qml
index 73b0405984..b632a17e57 100644
--- a/interface/resources/qml/hifi/tablet/TabletMenuView.qml
+++ b/interface/resources/qml/hifi/tablet/TabletMenuView.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import TabletScriptingInterface 1.0
 
-import stylesUit 1.0
+import "../../styles-uit"
 import "."
 
 FocusScope {
diff --git a/interface/resources/qml/hifi/tablet/TabletModelBrowserDialog.qml b/interface/resources/qml/hifi/tablet/TabletModelBrowserDialog.qml
index ce4e641476..d69d760b95 100644
--- a/interface/resources/qml/hifi/tablet/TabletModelBrowserDialog.qml
+++ b/interface/resources/qml/hifi/tablet/TabletModelBrowserDialog.qml
@@ -10,8 +10,8 @@
 
 import QtQuick 2.5
 
-import controlsUit 1.0 as HifiControls
-import stylesUit 1.0
+import "../../controls-uit" as HifiControls
+import "../../styles-uit"
 import "../dialogs/content"
 
 Item {
diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/TabletFileDialog.qml b/interface/resources/qml/hifi/tablet/tabletWindows/TabletFileDialog.qml
index 8e91655dda..871d1c92a9 100644
--- a/interface/resources/qml/hifi/tablet/tabletWindows/TabletFileDialog.qml
+++ b/interface/resources/qml/hifi/tablet/tabletWindows/TabletFileDialog.qml
@@ -16,8 +16,8 @@ import QtQuick.Controls 1.4 as QQC1
 import QtQuick.Controls 2.3
 
 import ".."
-import controlsUit 1.0
-import stylesUit 1.0
+import "../../../controls-uit"
+import "../../../styles-uit"
 import "../../../windows"
 
 import "../../../dialogs/fileDialog"
diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/TabletPreferencesDialog.qml b/interface/resources/qml/hifi/tablet/tabletWindows/TabletPreferencesDialog.qml
index 57ca705352..3708f75114 100644
--- a/interface/resources/qml/hifi/tablet/tabletWindows/TabletPreferencesDialog.qml
+++ b/interface/resources/qml/hifi/tablet/tabletWindows/TabletPreferencesDialog.qml
@@ -12,8 +12,8 @@ import QtQuick 2.5
 
 import "."
 import "./preferences"
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "../../../styles-uit"
+import "../../../controls-uit" as HifiControls
 
 Item {
     id: dialog
diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml
index 57fdeb482b..6ac3f706e4 100644
--- a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml
+++ b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml
@@ -12,8 +12,8 @@ import QtQuick 2.5
 import Hifi 1.0
 
 import "../../../../dialogs/preferences"
-import controlsUit 1.0 as HiFiControls
-import stylesUit 1.0
+import "../../../../controls-uit" as HiFiControls
+import "../../../../styles-uit"
 import "."
 
 Preference {
diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletBrowsablePreference.qml b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletBrowsablePreference.qml
index 36b927f5f9..8c0e934971 100644
--- a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletBrowsablePreference.qml
+++ b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletBrowsablePreference.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 
 import "../../../../dialogs"
-import controlsUit 1.0
+import "../../../../controls-uit"
 import "../"
 
 Preference {
diff --git a/interface/resources/qml/stylesUit/+android/HifiConstants.qml b/interface/resources/qml/styles-uit/+android/HifiConstants.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/+android/HifiConstants.qml
rename to interface/resources/qml/styles-uit/+android/HifiConstants.qml
diff --git a/interface/resources/qml/stylesUit/AnonymousProRegular.qml b/interface/resources/qml/styles-uit/AnonymousProRegular.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/AnonymousProRegular.qml
rename to interface/resources/qml/styles-uit/AnonymousProRegular.qml
diff --git a/interface/resources/qml/stylesUit/ButtonLabel.qml b/interface/resources/qml/styles-uit/ButtonLabel.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/ButtonLabel.qml
rename to interface/resources/qml/styles-uit/ButtonLabel.qml
diff --git a/interface/resources/qml/stylesUit/FiraSansRegular.qml b/interface/resources/qml/styles-uit/FiraSansRegular.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/FiraSansRegular.qml
rename to interface/resources/qml/styles-uit/FiraSansRegular.qml
diff --git a/interface/resources/qml/stylesUit/FiraSansSemiBold.qml b/interface/resources/qml/styles-uit/FiraSansSemiBold.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/FiraSansSemiBold.qml
rename to interface/resources/qml/styles-uit/FiraSansSemiBold.qml
diff --git a/interface/resources/qml/stylesUit/HiFiGlyphs.qml b/interface/resources/qml/styles-uit/HiFiGlyphs.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/HiFiGlyphs.qml
rename to interface/resources/qml/styles-uit/HiFiGlyphs.qml
diff --git a/interface/resources/qml/stylesUit/HifiConstants.qml b/interface/resources/qml/styles-uit/HifiConstants.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/HifiConstants.qml
rename to interface/resources/qml/styles-uit/HifiConstants.qml
diff --git a/interface/resources/qml/stylesUit/IconButton.qml b/interface/resources/qml/styles-uit/IconButton.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/IconButton.qml
rename to interface/resources/qml/styles-uit/IconButton.qml
diff --git a/interface/resources/qml/stylesUit/InfoItem.qml b/interface/resources/qml/styles-uit/InfoItem.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/InfoItem.qml
rename to interface/resources/qml/styles-uit/InfoItem.qml
diff --git a/interface/resources/qml/stylesUit/InputLabel.qml b/interface/resources/qml/styles-uit/InputLabel.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/InputLabel.qml
rename to interface/resources/qml/styles-uit/InputLabel.qml
diff --git a/interface/resources/qml/stylesUit/ListItem.qml b/interface/resources/qml/styles-uit/ListItem.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/ListItem.qml
rename to interface/resources/qml/styles-uit/ListItem.qml
diff --git a/interface/resources/qml/stylesUit/Logs.qml b/interface/resources/qml/styles-uit/Logs.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/Logs.qml
rename to interface/resources/qml/styles-uit/Logs.qml
diff --git a/interface/resources/qml/stylesUit/OverlayTitle.qml b/interface/resources/qml/styles-uit/OverlayTitle.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/OverlayTitle.qml
rename to interface/resources/qml/styles-uit/OverlayTitle.qml
diff --git a/interface/resources/qml/stylesUit/RalewayBold.qml b/interface/resources/qml/styles-uit/RalewayBold.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/RalewayBold.qml
rename to interface/resources/qml/styles-uit/RalewayBold.qml
diff --git a/interface/resources/qml/stylesUit/RalewayLight.qml b/interface/resources/qml/styles-uit/RalewayLight.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/RalewayLight.qml
rename to interface/resources/qml/styles-uit/RalewayLight.qml
diff --git a/interface/resources/qml/stylesUit/RalewayRegular.qml b/interface/resources/qml/styles-uit/RalewayRegular.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/RalewayRegular.qml
rename to interface/resources/qml/styles-uit/RalewayRegular.qml
diff --git a/interface/resources/qml/stylesUit/RalewaySemiBold.qml b/interface/resources/qml/styles-uit/RalewaySemiBold.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/RalewaySemiBold.qml
rename to interface/resources/qml/styles-uit/RalewaySemiBold.qml
diff --git a/interface/resources/qml/stylesUit/SectionName.qml b/interface/resources/qml/styles-uit/SectionName.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/SectionName.qml
rename to interface/resources/qml/styles-uit/SectionName.qml
diff --git a/interface/resources/qml/stylesUit/Separator.qml b/interface/resources/qml/styles-uit/Separator.qml
similarity index 97%
rename from interface/resources/qml/stylesUit/Separator.qml
rename to interface/resources/qml/styles-uit/Separator.qml
index d9f11e192c..4134b928a7 100644
--- a/interface/resources/qml/stylesUit/Separator.qml
+++ b/interface/resources/qml/styles-uit/Separator.qml
@@ -9,7 +9,7 @@
 //
 
 import QtQuick 2.5
-import "."
+import "../styles-uit"
 
 Item {
     // Size
diff --git a/interface/resources/qml/stylesUit/ShortcutText.qml b/interface/resources/qml/styles-uit/ShortcutText.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/ShortcutText.qml
rename to interface/resources/qml/styles-uit/ShortcutText.qml
diff --git a/interface/resources/qml/stylesUit/TabName.qml b/interface/resources/qml/styles-uit/TabName.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/TabName.qml
rename to interface/resources/qml/styles-uit/TabName.qml
diff --git a/interface/resources/qml/stylesUit/TextFieldInput.qml b/interface/resources/qml/styles-uit/TextFieldInput.qml
similarity index 100%
rename from interface/resources/qml/stylesUit/TextFieldInput.qml
rename to interface/resources/qml/styles-uit/TextFieldInput.qml
diff --git a/interface/resources/qml/stylesUit/qmldir b/interface/resources/qml/styles-uit/qmldir
similarity index 100%
rename from interface/resources/qml/stylesUit/qmldir
rename to interface/resources/qml/styles-uit/qmldir
diff --git a/interface/resources/qml/windows/Decoration.qml b/interface/resources/qml/windows/Decoration.qml
index efaea6be8a..f8fd9f4e6c 100644
--- a/interface/resources/qml/windows/Decoration.qml
+++ b/interface/resources/qml/windows/Decoration.qml
@@ -12,7 +12,7 @@ import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
 import "."
-import stylesUit 1.0
+import "../styles-uit"
 
 Rectangle {
     HifiConstants { id: hifi }
diff --git a/interface/resources/qml/windows/DefaultFrame.qml b/interface/resources/qml/windows/DefaultFrame.qml
index 5a366e367b..60e744bec3 100644
--- a/interface/resources/qml/windows/DefaultFrame.qml
+++ b/interface/resources/qml/windows/DefaultFrame.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 
 import "."
-import stylesUit 1.0
+import "../styles-uit"
 
 Frame {
     HifiConstants { id: hifi }
diff --git a/interface/resources/qml/windows/DefaultFrameDecoration.qml b/interface/resources/qml/windows/DefaultFrameDecoration.qml
index fb0dd55985..1ddd83976e 100644
--- a/interface/resources/qml/windows/DefaultFrameDecoration.qml
+++ b/interface/resources/qml/windows/DefaultFrameDecoration.qml
@@ -12,7 +12,7 @@ import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
 import "."
-import stylesUit 1.0
+import "../styles-uit"
 
 Decoration {
     HifiConstants { id: hifi }
diff --git a/interface/resources/qml/windows/Fadable.qml b/interface/resources/qml/windows/Fadable.qml
index 6d88fb067a..406c6be556 100644
--- a/interface/resources/qml/windows/Fadable.qml
+++ b/interface/resources/qml/windows/Fadable.qml
@@ -10,7 +10,7 @@
 
 import QtQuick 2.5
 
-import stylesUit 1.0
+import "../styles-uit"
 
 // Enable window visibility transitions
 FocusScope {
diff --git a/interface/resources/qml/windows/Frame.qml b/interface/resources/qml/windows/Frame.qml
index 7b0fbf8d8c..271d4f2e07 100644
--- a/interface/resources/qml/windows/Frame.qml
+++ b/interface/resources/qml/windows/Frame.qml
@@ -11,7 +11,7 @@
 import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
-import stylesUit 1.0
+import "../styles-uit"
 import "../js/Utils.js" as Utils
 
 Item {
diff --git a/interface/resources/qml/windows/ModalFrame.qml b/interface/resources/qml/windows/ModalFrame.qml
index ae149224e3..cb23ccd5ad 100644
--- a/interface/resources/qml/windows/ModalFrame.qml
+++ b/interface/resources/qml/windows/ModalFrame.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 
 import "."
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 
 Frame {
     HifiConstants { id: hifi }
diff --git a/interface/resources/qml/windows/ScrollingWindow.qml b/interface/resources/qml/windows/ScrollingWindow.qml
index 4cab96701e..c156b80388 100644
--- a/interface/resources/qml/windows/ScrollingWindow.qml
+++ b/interface/resources/qml/windows/ScrollingWindow.qml
@@ -14,8 +14,8 @@ import QtQuick.Controls 2.2
 import QtGraphicalEffects 1.0
 
 import "."
-import stylesUit 1.0
-import controlsUit 1.0 as HiFiControls
+import "../styles-uit"
+import "../controls-uit" as HiFiControls
 
 // FIXME how do I set the initial position of a window without
 // overriding places where the a individual client of the window
diff --git a/interface/resources/qml/windows/TabletModalFrame.qml b/interface/resources/qml/windows/TabletModalFrame.qml
index 1e9310eb5a..550eec8357 100644
--- a/interface/resources/qml/windows/TabletModalFrame.qml
+++ b/interface/resources/qml/windows/TabletModalFrame.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 
 import "."
-import controlsUit 1.0
-import stylesUit 1.0
+import "../controls-uit"
+import "../styles-uit"
 
 
 Rectangle {
diff --git a/interface/resources/qml/windows/ToolFrame.qml b/interface/resources/qml/windows/ToolFrame.qml
index bb2bada498..20c86afb5e 100644
--- a/interface/resources/qml/windows/ToolFrame.qml
+++ b/interface/resources/qml/windows/ToolFrame.qml
@@ -12,7 +12,7 @@ import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
 import "."
-import stylesUit 1.0
+import "../styles-uit"
 
 Frame {
     HifiConstants { id: hifi }
diff --git a/interface/resources/qml/windows/ToolFrameDecoration.qml b/interface/resources/qml/windows/ToolFrameDecoration.qml
index 4f149037b3..ba36a2a38c 100644
--- a/interface/resources/qml/windows/ToolFrameDecoration.qml
+++ b/interface/resources/qml/windows/ToolFrameDecoration.qml
@@ -12,7 +12,7 @@ import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
 import "."
-import stylesUit 1.0
+import "../styles-uit"
 
 Decoration {
     id: root
diff --git a/interface/resources/qml/windows/Window.qml b/interface/resources/qml/windows/Window.qml
index 9f180af55d..835967c628 100644
--- a/interface/resources/qml/windows/Window.qml
+++ b/interface/resources/qml/windows/Window.qml
@@ -12,7 +12,7 @@ import QtQuick 2.5
 import QtGraphicalEffects 1.0
 
 import "."
-import stylesUit 1.0
+import "../styles-uit"
 
 // FIXME how do I set the initial position of a window without
 // overriding places where the a individual client of the window
diff --git a/libraries/ui/src/ui/OffscreenQmlSurface.cpp b/libraries/ui/src/ui/OffscreenQmlSurface.cpp
index f67a356078..74098f69c7 100644
--- a/libraries/ui/src/ui/OffscreenQmlSurface.cpp
+++ b/libraries/ui/src/ui/OffscreenQmlSurface.cpp
@@ -250,7 +250,6 @@ void OffscreenQmlSurface::initializeEngine(QQmlEngine* engine) {
 
     engine->setNetworkAccessManagerFactory(new QmlNetworkAccessManagerFactory);
     auto importList = engine->importPathList();
-    importList.insert(importList.begin(), PathUtils::resourcesPath() + "qml/");
     importList.insert(importList.begin(), PathUtils::resourcesPath());
     engine->setImportPathList(importList);
     for (const auto& path : importList) {
diff --git a/scripts/developer/tests/ControlsGallery.qml b/scripts/developer/tests/ControlsGallery.qml
index 9685fa6fe8..ceb8a26dc9 100644
--- a/scripts/developer/tests/ControlsGallery.qml
+++ b/scripts/developer/tests/ControlsGallery.qml
@@ -2,9 +2,16 @@ import QtQuick 2.10
 import QtQuick.Window 2.10
 import QtQuick.Controls 2.2
 import QtQuick.Layouts 1.3
+import "qrc:////qml//styles-uit" as HifiStylesUit
+import "qrc:////qml//controls-uit" as HifiControlsUit
 
-import stylesUit 1.0 as HifiStylesUit
-import controlsUit 1.0 as HifiControlsUit
+//uncomment to use from qmlscratch tool
+//import '../../../interface/resources/qml/controls-uit' as HifiControlsUit
+//import '../../../interface/resources/qml/styles-uit'
+
+//uncomment to use with HIFI_USE_SOURCE_TREE_RESOURCES=1
+//import '../../../resources/qml/controls-uit' as HifiControlsUit
+//import '../../../resources/qml/styles-uit'
 
 Item {
     visible: true
diff --git a/scripts/developer/utilities/audio/Stats.qml b/scripts/developer/utilities/audio/Stats.qml
index e2291e485d..f359e9b04c 100644
--- a/scripts/developer/utilities/audio/Stats.qml
+++ b/scripts/developer/utilities/audio/Stats.qml
@@ -12,7 +12,7 @@ import QtQuick 2.5
 import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 
-import controlsUit 1.0 as HifiControls
+import "qrc:////qml//controls-uit" as HifiControls
 
 Column {
     id: stats
diff --git a/scripts/developer/utilities/audio/TabletStats.qml b/scripts/developer/utilities/audio/TabletStats.qml
index b50acabec4..2f8d212a2a 100644
--- a/scripts/developer/utilities/audio/TabletStats.qml
+++ b/scripts/developer/utilities/audio/TabletStats.qml
@@ -11,7 +11,8 @@
 import QtQuick 2.5
 import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
-import stylesUit 1.0
+
+import "qrc:////qml//styles-uit"
 
 Item {
     id: dialog
diff --git a/scripts/developer/utilities/lib/jet/qml/TaskList.qml b/scripts/developer/utilities/lib/jet/qml/TaskList.qml
index 166f604666..5b1aa0afb5 100644
--- a/scripts/developer/utilities/lib/jet/qml/TaskList.qml
+++ b/scripts/developer/utilities/lib/jet/qml/TaskList.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4 as Original
 import QtQuick.Controls.Styles 1.4
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 
 import "../jet.js" as Jet
 
diff --git a/scripts/developer/utilities/lib/jet/qml/TaskListView.qml b/scripts/developer/utilities/lib/jet/qml/TaskListView.qml
index 0f083aa72c..2c75865698 100644
--- a/scripts/developer/utilities/lib/jet/qml/TaskListView.qml
+++ b/scripts/developer/utilities/lib/jet/qml/TaskListView.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4 as Original
 import QtQuick.Controls.Styles 1.4
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 
 import "../jet.js" as Jet
 
diff --git a/scripts/developer/utilities/lib/plotperf/Color.qml b/scripts/developer/utilities/lib/plotperf/Color.qml
index 1ad72fe2e6..15d7f9fcc9 100644
--- a/scripts/developer/utilities/lib/plotperf/Color.qml
+++ b/scripts/developer/utilities/lib/plotperf/Color.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4 as Original
 import QtQuick.Controls.Styles 1.4
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 
 
 Item {
diff --git a/scripts/developer/utilities/render/antialiasing.qml b/scripts/developer/utilities/render/antialiasing.qml
index 5abfd30935..1a8f9dac2d 100644
--- a/scripts/developer/utilities/render/antialiasing.qml
+++ b/scripts/developer/utilities/render/antialiasing.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
     
 import "configSlider"
 import "../lib/plotperf"
diff --git a/scripts/developer/utilities/render/configSlider/ConfigSlider.qml b/scripts/developer/utilities/render/configSlider/ConfigSlider.qml
index bf9089d82c..41de77fb09 100644
--- a/scripts/developer/utilities/render/configSlider/ConfigSlider.qml
+++ b/scripts/developer/utilities/render/configSlider/ConfigSlider.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4 as Original
 import QtQuick.Controls.Styles 1.4
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 
 
 Item {
diff --git a/scripts/developer/utilities/render/configSlider/RichSlider.qml b/scripts/developer/utilities/render/configSlider/RichSlider.qml
index ff16cb32ad..01b14f3d48 100644
--- a/scripts/developer/utilities/render/configSlider/RichSlider.qml
+++ b/scripts/developer/utilities/render/configSlider/RichSlider.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4 as Original
 import QtQuick.Controls.Styles 1.4
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 
 
 Item {
diff --git a/scripts/developer/utilities/render/deferredLighting.qml b/scripts/developer/utilities/render/deferredLighting.qml
index 64e00acdac..a9479b2935 100644
--- a/scripts/developer/utilities/render/deferredLighting.qml
+++ b/scripts/developer/utilities/render/deferredLighting.qml
@@ -11,8 +11,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 import  "configSlider"
 import "../lib/jet/qml" as Jet
 
diff --git a/scripts/developer/utilities/render/engineInspector.qml b/scripts/developer/utilities/render/engineInspector.qml
index 16dd8eb985..1b9941e64e 100644
--- a/scripts/developer/utilities/render/engineInspector.qml
+++ b/scripts/developer/utilities/render/engineInspector.qml
@@ -11,8 +11,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 
 import "../lib/jet/qml" as Jet
 
diff --git a/scripts/developer/utilities/render/highlight.qml b/scripts/developer/utilities/render/highlight.qml
index d8af2a828e..88d6a807ae 100644
--- a/scripts/developer/utilities/render/highlight.qml
+++ b/scripts/developer/utilities/render/highlight.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 import  "configSlider"
 import  "../lib/plotperf"
 import  "highlight"
diff --git a/scripts/developer/utilities/render/highlight/HighlightStyle.qml b/scripts/developer/utilities/render/highlight/HighlightStyle.qml
index 475aadfdce..371b7e81f7 100644
--- a/scripts/developer/utilities/render/highlight/HighlightStyle.qml
+++ b/scripts/developer/utilities/render/highlight/HighlightStyle.qml
@@ -12,8 +12,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 import "../configSlider"
 import "../../lib/plotperf"
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 
 Item {
     id: root
diff --git a/scripts/developer/utilities/render/lod.qml b/scripts/developer/utilities/render/lod.qml
index 892b43d8be..889d8db836 100644
--- a/scripts/developer/utilities/render/lod.qml
+++ b/scripts/developer/utilities/render/lod.qml
@@ -11,8 +11,8 @@
 import QtQuick 2.5
 import QtQuick.Controls 1.4
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 
 import "../lib/plotperf"
 import "configSlider"
diff --git a/scripts/developer/utilities/render/shadow.qml b/scripts/developer/utilities/render/shadow.qml
index a1d6777a68..464fe00eb9 100644
--- a/scripts/developer/utilities/render/shadow.qml
+++ b/scripts/developer/utilities/render/shadow.qml
@@ -12,8 +12,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
     
 import "configSlider"
 
diff --git a/scripts/developer/utilities/render/transition.qml b/scripts/developer/utilities/render/transition.qml
index c150c523f9..f74468a273 100644
--- a/scripts/developer/utilities/render/transition.qml
+++ b/scripts/developer/utilities/render/transition.qml
@@ -13,8 +13,8 @@ import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 import QtQuick.Dialogs 1.0
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 import  "configSlider"
 import "../lib/plotperf"
 
diff --git a/scripts/developer/utilities/workload/workloadInspector.qml b/scripts/developer/utilities/workload/workloadInspector.qml
index 746a572f29..2eaa9d8133 100644
--- a/scripts/developer/utilities/workload/workloadInspector.qml
+++ b/scripts/developer/utilities/workload/workloadInspector.qml
@@ -11,8 +11,8 @@ import QtQuick 2.7
 import QtQuick.Controls 1.4
 import QtQuick.Layouts 1.3
 
-import stylesUit 1.0
-import controlsUit 1.0 as HifiControls
+import "qrc:///qml/styles-uit"
+import "qrc:///qml/controls-uit" as HifiControls
 import "../render/configSlider"
 import "../lib/jet/qml" as Jet
 import "../lib/plotperf"
diff --git a/tests-manual/ui/qml/ControlsGalleryWindow.qml b/tests-manual/ui/qml/ControlsGalleryWindow.qml
deleted file mode 100644
index 32fd62da36..0000000000
--- a/tests-manual/ui/qml/ControlsGalleryWindow.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import QtQuick 2.0
-import QtQuick.Window 2.3
-import QtQuick.Controls 1.4
-import '../../../scripts/developer/tests' as Tests
-
-ApplicationWindow {
-    width: 640
-    height: 480
-    visible: true
-
-    Tests.ControlsGallery {
-        anchors.fill: parent
-    }
-}
diff --git a/tests-manual/ui/qml/Palettes.qml b/tests-manual/ui/qml/Palettes.qml
new file mode 100644
index 0000000000..2bdf6eba8b
--- /dev/null
+++ b/tests-manual/ui/qml/Palettes.qml
@@ -0,0 +1,150 @@
+import QtQuick 2.3
+import QtQuick.Controls 1.2
+
+Rectangle {
+    color: "teal"
+    height: 512
+    width: 192
+    SystemPalette { id: sp; colorGroup: SystemPalette.Active }
+    SystemPalette { id: spi; colorGroup: SystemPalette.Inactive }
+    SystemPalette { id: spd; colorGroup: SystemPalette.Disabled }
+
+    Column {
+        anchors.margins: 8
+        anchors.fill: parent
+        spacing: 8
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "base" }
+            Rectangle { height: parent.height; width: 16; color: sp.base }
+            Rectangle { height: parent.height; width: 16; color: spi.base }
+            Rectangle { height: parent.height; width: 16; color: spd.base }
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "alternateBase" }
+            Rectangle { height: parent.height; width: 16; color: sp.alternateBase }
+            Rectangle { height: parent.height; width: 16; color: spi.alternateBase }
+            Rectangle { height: parent.height; width: 16; color: spd.alternateBase }
+        }
+        Item {
+            height: 16
+            width:parent.width
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "dark" }
+            Rectangle { height: parent.height; width: 16; color: sp.dark }
+            Rectangle { height: parent.height; width: 16; color: spi.dark }
+            Rectangle { height: parent.height; width: 16; color: spd.dark }
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "mid" }
+            Rectangle { height: parent.height; width: 16; color: sp.mid }
+            Rectangle { height: parent.height; width: 16; color: spi.mid }
+            Rectangle { height: parent.height; width: 16; color: spd.mid }
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "mid light" }
+            Rectangle { height: parent.height; width: 16; color: sp.midlight }
+            Rectangle { height: parent.height; width: 16; color: spi.midlight }
+            Rectangle { height: parent.height; width: 16; color: spd.midlight }
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "light" }
+            Rectangle { height: parent.height; width: 16; color: sp.light}
+            Rectangle { height: parent.height; width: 16; color: spi.light}
+            Rectangle { height: parent.height; width: 16; color: spd.light}
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "shadow" }
+            Rectangle { height: parent.height; width: 16; color: sp.shadow}
+            Rectangle { height: parent.height; width: 16; color: spi.shadow}
+            Rectangle { height: parent.height; width: 16; color: spd.shadow}
+        }
+        Item {
+            height: 16
+            width:parent.width
+        }
+
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "text" }
+            Rectangle { height: parent.height; width: 16; color: sp.text }
+            Rectangle { height: parent.height; width: 16; color: spi.text }
+            Rectangle { height: parent.height; width: 16; color: spd.text }
+        }
+        Item {
+            height: 16
+            width:parent.width
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "window" }
+            Rectangle { height: parent.height; width: 16; color: sp.window }
+            Rectangle { height: parent.height; width: 16; color: spi.window }
+            Rectangle { height: parent.height; width: 16; color: spd.window }
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "window text" }
+            Rectangle { height: parent.height; width: 16; color: sp.windowText }
+            Rectangle { height: parent.height; width: 16; color: spi.windowText }
+            Rectangle { height: parent.height; width: 16; color: spd.windowText }
+        }
+        Item {
+            height: 16
+            width:parent.width
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "button" }
+            Rectangle { height: parent.height; width: 16; color: sp.button }
+            Rectangle { height: parent.height; width: 16; color: spi.button }
+            Rectangle { height: parent.height; width: 16; color: spd.button }
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "buttonText" }
+            Rectangle { height: parent.height; width: 16; color: sp.buttonText }
+            Rectangle { height: parent.height; width: 16; color: spi.buttonText }
+            Rectangle { height: parent.height; width: 16; color: spd.buttonText }
+        }
+        Item {
+            height: 16
+            width:parent.width
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "highlight" }
+            Rectangle { height: parent.height; width: 16; color: sp.highlight }
+            Rectangle { height: parent.height; width: 16; color: spi.highlight }
+            Rectangle { height: parent.height; width: 16; color: spd.highlight }
+        }
+        Row {
+            width: parent.width
+            height: 16
+            Text { height: parent.height;  width: 128; text: "highlighted text" }
+            Rectangle { height: parent.height; width: 16; color: sp.highlightedText}
+            Rectangle { height: parent.height; width: 16; color: spi.highlightedText}
+            Rectangle { height: parent.height; width: 16; color: spd.highlightedText}
+        }
+    }
+}
diff --git a/tests-manual/ui/qml/ScrollingGraph.qml b/tests-manual/ui/qml/ScrollingGraph.qml
new file mode 100644
index 0000000000..55523a23f4
--- /dev/null
+++ b/tests-manual/ui/qml/ScrollingGraph.qml
@@ -0,0 +1,111 @@
+import QtQuick 2.1
+import QtQuick.Controls 1.0
+import QtQuick.Layouts 1.0
+import QtQuick.Dialogs 1.0
+
+Rectangle {
+    id: root
+    property int size: 64
+    width: size
+    height: size
+    color: 'black'
+    property int controlId: 0
+    property real value: 0.5
+    property int scrollWidth: 1
+    property real min: 0.0
+    property real max: 1.0
+    property bool log: false
+    property real range: max - min
+    property color lineColor: 'yellow'
+    property bool bar: false
+    property real lastHeight: -1
+    property string label: ""
+
+    function update() {
+        value = Controller.getValue(controlId);
+        if (log) {
+            var log = Math.log(10) / Math.log(Math.abs(value));
+            var sign = Math.sign(value);
+            value = log * sign;
+        }
+        canvas.requestPaint();
+    }
+
+    function drawHeight() {
+        if (value < min) {
+            return 0;
+        }
+        if (value > max) {
+            return height;
+        }
+        return ((value - min) / range) * height;
+    }
+
+    Timer {
+        interval: 50; running: true; repeat: true
+        onTriggered: root.update()
+    }
+
+    Canvas {
+       id: canvas
+       anchors.fill: parent
+       antialiasing: false
+
+       Text {
+           anchors.top: parent.top
+           text: root.label
+           color: 'white'
+       }
+
+       Text {
+           anchors.right: parent.right
+           anchors.top: parent.top
+           text: root.max
+           color: 'white'
+       }
+
+       Text {
+           anchors.right: parent.right
+           anchors.bottom: parent.bottom
+           text: root.min
+           color: 'white'
+       }
+
+       function scroll() {
+           var ctx = canvas.getContext('2d');
+           var image = ctx.getImageData(0, 0, canvas.width, canvas.height);
+           ctx.beginPath();
+           ctx.clearRect(0, 0, canvas.width, canvas.height);
+           ctx.drawImage(image, -root.scrollWidth, 0, canvas.width, canvas.height)
+           ctx.restore()
+       }
+
+       onPaint: {
+           scroll();
+           var ctx = canvas.getContext('2d');
+           ctx.save();
+           var currentHeight = root.drawHeight();
+           if (root.lastHeight == -1) {
+               root.lastHeight = currentHeight
+           }
+
+//           var x = canvas.width - root.drawWidth;
+//           var y = canvas.height - drawHeight;
+//           ctx.fillStyle = root.color
+//           ctx.fillRect(x, y, root.drawWidth, root.bar ? drawHeight : 1)
+//           ctx.fill();
+//           ctx.restore()
+
+
+           ctx.beginPath();
+           ctx.lineWidth = 1
+           ctx.strokeStyle = root.lineColor
+           ctx.moveTo(canvas.width - root.scrollWidth, root.lastHeight).lineTo(canvas.width, currentHeight)
+           ctx.stroke()
+           ctx.restore()
+           root.lastHeight = currentHeight
+       }
+    }
+}
+
+
diff --git a/tests-manual/ui/qml/StubMenu.qml b/tests-manual/ui/qml/StubMenu.qml
new file mode 100644
index 0000000000..fd0298988a
--- /dev/null
+++ b/tests-manual/ui/qml/StubMenu.qml
@@ -0,0 +1,730 @@
+import QtQuick 2.5
+import QtQuick.Controls 1.4
+
+import "../../../interface/resources/qml/hifi"
+
+Menu {
+    property var menuOption: MenuOption {}
+    Item {
+        Action {
+            id: login;
+            text: menuOption.login
+        }
+        Action {
+            id: update;
+            text: "Update";
+            enabled: false
+        }
+        Action {
+            id: crashReporter;
+            text: "Crash Reporter...";
+            enabled: false
+        }
+        Action {
+            id: help;
+            text: menuOption.help
+            onTriggered: Application.showHelp()
+        }
+        Action {
+            id: aboutApp;
+            text: menuOption.aboutApp
+        }
+        Action {
+            id: quit;
+            text: menuOption.quit
+        }
+
+        ExclusiveGroup { id: renderResolutionGroup }
+        Action {
+            id: renderResolutionOne;
+            exclusiveGroup: renderResolutionGroup;
+            text: menuOption.renderResolutionOne;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderResolutionTwoThird;
+            exclusiveGroup: renderResolutionGroup;
+            text: menuOption.renderResolutionTwoThird;
+            checkable: true
+        }
+        Action {
+            id: renderResolutionHalf;
+            exclusiveGroup: renderResolutionGroup;
+            text: menuOption.renderResolutionHalf;
+            checkable: true
+        }
+        Action {
+            id: renderResolutionThird;
+            exclusiveGroup: renderResolutionGroup;
+            text: menuOption.renderResolutionThird;
+            checkable: true
+        }
+        Action {
+            id: renderResolutionQuarter;
+            exclusiveGroup: renderResolutionGroup;
+            text: menuOption.renderResolutionQuarter;
+            checkable: true
+        }
+
+        ExclusiveGroup { id: ambientLightGroup }
+        Action {
+            id: renderAmbientLightGlobal;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLightGlobal;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight0;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight0;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight1;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight1;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight2;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight2;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight3;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight3;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight4;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight4;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight5;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight5;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight6;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight6;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight7;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight7;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight8;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight8;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: renderAmbientLight9;
+            exclusiveGroup: ambientLightGroup;
+            text: menuOption.renderAmbientLight9;
+            checkable: true;
+            checked: true
+        }
+        Action {
+            id: preferences
+            shortcut: StandardKey.Preferences
+            text: menuOption.preferences
+            onTriggered: dialogsManager.editPreferences()
+        }
+
+    }
+
+    Menu {
+        title: "File"
+        MenuItem {
+            action: login
+        }
+        MenuItem {
+            action: update
+        }
+        MenuItem {
+            action: help
+        }
+        MenuItem {
+            action: crashReporter
+        }
+        MenuItem {
+            action: aboutApp
+        }
+        MenuItem {
+            action: quit
+        }
+    }
+
+    Menu {
+        title: "Edit"
+        MenuItem {
+            text: "Undo" }
+        MenuItem {
+            text: "Redo" }
+        MenuItem {
+            text: menuOption.runningScripts
+        }
+        MenuItem {
+            text: menuOption.loadScript
+        }
+        MenuItem {
+            text: menuOption.loadScriptURL
+        }
+        MenuItem {
+            text: menuOption.stopAllScripts
+        }
+        MenuItem {
+            text: menuOption.reloadAllScripts
+        }
+        MenuItem {
+            text: menuOption.scriptEditor
+        }
+        MenuItem {
+            text: menuOption.console_
+        }
+        MenuItem {
+            text: menuOption.reloadContent
+        }
+        MenuItem {
+            text: menuOption.packageModel
+        }
+    }
+
+    Menu {
+        title: "Audio"
+        MenuItem {
+            text: menuOption.muteAudio;
+            checkable: true
+        }
+        MenuItem {
+            text: menuOption.audioTools;
+            checkable: true
+        }
+    }
+    Menu {
+        title: "Avatar"
+        // Avatar > Attachments...
+        MenuItem {
+            text: menuOption.attachments
+        }
+        Menu {
+            title: "Size"
+            // Avatar > Size > Increase
+            MenuItem {
+                text: menuOption.increaseAvatarSize
+            }
+            // Avatar > Size > Decrease
+            MenuItem {
+                text: menuOption.decreaseAvatarSize
+            }
+            // Avatar > Size > Reset
+            MenuItem {
+                text: menuOption.resetAvatarSize
+            }
+        }
+        // Avatar > Reset Sensors
+        MenuItem {
+            text: menuOption.resetSensors
+        }
+    }
+    Menu {
+        title: "Display"
+    }
+    Menu {
+        title: "View"
+        ExclusiveGroup {
+            id: cameraModeGroup
+        }
+
+        MenuItem {
+            text: menuOption.firstPerson;
+            checkable: true;
+            exclusiveGroup: cameraModeGroup
+        }
+        MenuItem {
+            text: menuOption.thirdPerson;
+            checkable: true;
+            exclusiveGroup: cameraModeGroup
+        }
+        MenuItem {
+            text: menuOption.fullscreenMirror;
+            checkable: true;
+            exclusiveGroup: cameraModeGroup
+        }
+        MenuItem {
+            text: menuOption.independentMode;
+            checkable: true;
+            exclusiveGroup: cameraModeGroup
+        }
+        MenuItem {
+            text: menuOption.cameraEntityMode;
+            checkable: true;
+            exclusiveGroup: cameraModeGroup
+        }
+        MenuSeparator{}
+        MenuItem {
+            text: menuOption.miniMirror;
+            checkable: true
+        }
+    }
+    Menu {
+        title: "Navigate"
+        MenuItem {
+            text: "Home" }
+        MenuItem {
+            text: menuOption.addressBar
+        }
+        MenuItem {
+            text: "Directory" }
+        MenuItem {
+            text: menuOption.copyAddress
+        }
+        MenuItem {
+            text: menuOption.copyPath
+        }
+    }
+    Menu {
+        title: "Settings"
+        MenuItem {
+            text: "Advanced Menus" }
+        MenuItem {
+            text: "Developer Menus" }
+        MenuItem {
+            text: menuOption.preferences
+        }
+        MenuItem {
+            text: "Avatar..." }
+        MenuItem {
+            text: "Audio..." }
+        MenuItem {
+            text: "LOD..." }
+        MenuItem {
+            text: menuOption.inputMenu
+        }
+    }
+    Menu {
+        title: "Developer"
+        Menu {
+            title: "Render"
+            MenuItem {
+                text: menuOption.atmosphere;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.worldAxes;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.debugAmbientOcclusion;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.antialiasing;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.stars;
+                checkable: true
+            }
+            Menu {
+                title: menuOption.renderAmbientLight
+                MenuItem {
+                    action: renderAmbientLightGlobal; }
+                MenuItem {
+                    action: renderAmbientLight0; }
+                MenuItem {
+                    action: renderAmbientLight1; }
+                MenuItem {
+                    action: renderAmbientLight2; }
+                MenuItem {
+                    action: renderAmbientLight3; }
+                MenuItem {
+                    action: renderAmbientLight4; }
+                MenuItem {
+                    action: renderAmbientLight5; }
+                MenuItem {
+                    action: renderAmbientLight6; }
+                MenuItem {
+                    action: renderAmbientLight7; }
+                MenuItem {
+                    action: renderAmbientLight8; }
+                MenuItem {
+                    action: renderAmbientLight9; }
+            }
+            MenuItem {
+                text: menuOption.throttleFPSIfNotFocus;
+                checkable: true
+            }
+            Menu {
+                title: menuOption.renderResolution
+                MenuItem {
+                    action: renderResolutionOne
+                }
+                MenuItem {
+                    action: renderResolutionTwoThird
+                }
+                MenuItem {
+                    action: renderResolutionHalf
+                }
+                MenuItem {
+                    action: renderResolutionThird
+                }
+                MenuItem {
+                    action: renderResolutionQuarter
+                }
+            }
+            MenuItem {
+                text: menuOption.lodTools
+            }
+        }
+        Menu {
+            title: "Assets"
+            MenuItem {
+                text: menuOption.uploadAsset
+            }
+            MenuItem {
+                text: menuOption.assetMigration
+            }
+        }
+        Menu {
+            title: "Avatar"
+            Menu {
+                title: "Face Tracking"
+                MenuItem {
+                    text: menuOption.noFaceTracking;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.faceshift;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.useCamera;
+                    checkable: true
+                }
+                MenuSeparator{}
+                MenuItem {
+                    text: menuOption.binaryEyelidControl;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.coupleEyelids;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.useAudioForMouth;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.velocityFilter;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.calibrateCamera
+                }
+                MenuSeparator{}
+                MenuItem {
+                    text: menuOption.muteFaceTracking;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.autoMuteAudio;
+                    checkable: true
+                }
+            }
+            Menu {
+                title: "Eye Tracking"
+                MenuItem {
+                    text: menuOption.sMIEyeTracking;
+                    checkable: true
+                }
+                Menu {
+                    title: "Calibrate"
+                    MenuItem {
+                        text: menuOption.onePointCalibration
+                    }
+                    MenuItem {
+                        text: menuOption.threePointCalibration
+                    }
+                    MenuItem {
+                        text: menuOption.fivePointCalibration
+                    }
+                }
+                MenuItem {
+                    text: menuOption.simulateEyeTracking;
+                    checkable: true
+                }
+            }
+            MenuItem {
+                text: menuOption.avatarReceiveStats;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.renderBoundingCollisionShapes;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.renderLookAtVectors;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.renderLookAtTargets;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.renderFocusIndicator;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.showWhosLookingAtMe;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.fixGaze;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.animDebugDrawDefaultPose;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.animDebugDrawAnimPose;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.animDebugDrawPosition;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.meshVisible;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.disableEyelidAdjustment;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.turnWithHead;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.keyboardMotorControl;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.scriptedMotorControl;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.enableCharacterController;
+                checkable: true
+            }
+        }
+        Menu {
+            title: "Hands"
+            MenuItem {
+                text: menuOption.displayHandTargets;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.lowVelocityFilter;
+                checkable: true
+            }
+            Menu {
+                title: "Leap Motion"
+                MenuItem {
+                    text: menuOption.leapMotionOnHMD;
+                    checkable: true
+                }
+            }
+        }
+        Menu {
+            title: "Entities"
+            MenuItem {
+                text: menuOption.octreeStats
+            }
+            MenuItem {
+                text: menuOption.showRealtimeEntityStats;
+                checkable: true
+            }
+        }
+        Menu {
+            title: "Network"
+            MenuItem {
+                text: menuOption.reloadContent
+            }
+            MenuItem {
+                text: menuOption.disableNackPackets;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.disableActivityLogger;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.cachesSize
+            }
+            MenuItem {
+                text: menuOption.diskCacheEditor
+            }
+            MenuItem {
+                text: menuOption.showDSConnectTable
+            }
+            MenuItem {
+                text: menuOption.bandwidthDetails
+            }
+        }
+        Menu {
+            title: "Timing"
+            Menu {
+                title: "Performance Timer"
+                MenuItem {
+                    text: menuOption.displayDebugTimingDetails;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.onlyDisplayTopTen;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.expandUpdateTiming;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.expandMyAvatarTiming;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.expandMyAvatarSimulateTiming;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.expandOtherAvatarTiming;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.expandPaintGLTiming;
+                    checkable: true
+                }
+            }
+            MenuItem {
+                text: menuOption.frameTimer;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.runTimingTests
+            }
+            MenuItem {
+                text: menuOption.pipelineWarnings;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.logExtraTimings;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.suppressShortTimings;
+                checkable: true
+            }
+        }
+        Menu {
+            title: "Audio"
+            MenuItem {
+                text: menuOption.audioNoiseReduction;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.echoServerAudio;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.echoLocalAudio;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.muteEnvironment
+            }
+            Menu {
+                title: "Audio"
+                MenuItem {
+                    text: menuOption.audioScope;
+                    checkable: true
+                }
+                MenuItem {
+                    text: menuOption.audioScopePause;
+                    checkable: true
+                }
+                Menu {
+                    title: "Display Frames"
+                    ExclusiveGroup {
+                        id: audioScopeFramesGroup
+                    }
+                    MenuItem {
+                        exclusiveGroup: audioScopeFramesGroup;
+                        text: menuOption.audioScopeFiveFrames;
+                        checkable: true
+                    }
+                    MenuItem {
+                        exclusiveGroup: audioScopeFramesGroup;
+                        text: menuOption.audioScopeTwentyFrames;
+                        checkable: true
+                    }
+                    MenuItem {
+                        exclusiveGroup: audioScopeFramesGroup;
+                        text: menuOption.audioScopeFiftyFrames;
+                        checkable: true
+                    }
+                }
+                MenuItem {
+                    text: menuOption.audioNetworkStats
+                }
+            }
+        }
+        Menu {
+            title: "Physics"
+            MenuItem {
+                text: menuOption.physicsShowOwned;
+                checkable: true
+            }
+            MenuItem {
+                text: menuOption.physicsShowHulls;
+                checkable: true
+            }
+        }
+        MenuItem {
+            text: menuOption.displayCrashOptions;
+            checkable: true
+        }
+        MenuItem {
+            text: menuOption.crashInterface
+        }
+        MenuItem {
+            text: menuOption.log
+        }
+        MenuItem {
+            text: menuOption.stats;
+            checkable: true
+        }
+    }
+}
diff --git a/tests-manual/ui/qml/Stubs.qml b/tests-manual/ui/qml/Stubs.qml
new file mode 100644
index 0000000000..8c1465d54c
--- /dev/null
+++ b/tests-manual/ui/qml/Stubs.qml
@@ -0,0 +1,346 @@
+import QtQuick 2.5
+import QtQuick.Controls 1.4
+
+// Stubs for the global service objects set by Interface.cpp when creating the UI
+// This is useful for testing inside Qt creator where these services don't actually exist.
+Item {
+
+    Item {
+        objectName: "offscreenFlags"
+        property bool navigationFocused: false
+    }
+
+    Item {
+        objectName: "urlHandler"
+        function fixupUrl(url) { return url; }
+        function canHandleUrl(url) { return false; }
+        function handleUrl(url) { return true; }
+    }
+
+    Item {
+        objectName: "Account"
+        function isLoggedIn() { return true; }
+        function getUsername() { return "Jherico"; }
+    }
+
+    Item {
+        objectName: "GL"
+        property string vendor: ""
+    }
+
+    Item {
+        objectName: "ApplicationCompositor"
+        property bool reticleOverDesktop: true
+    }
+
+    Item {
+        objectName: "Controller"
+        function getRecommendedOverlayRect() {
+            return Qt.rect(0, 0, 1920, 1080);
+        }
+    }
+
+    Item {
+        objectName: "Preferences"
+        // List of categories obtained by logging categories as they are added in Interface in Preferences::addPreference().
+        property var categories: [
+            "Avatar Basics", "Snapshots", "Scripts", "Privacy", "Level of Detail Tuning", "Avatar Tuning", "Avatar Camera",
+            "Audio", "Octree", "HMD", "Sixense Controllers", "Graphics"
+        ]
+    }
+
+    Item {
+        objectName: "ScriptDiscoveryService"
+        //property var scriptsModelFilter: scriptsModel
+        signal scriptCountChanged()
+        property var _runningScripts:[
+            { name: "wireFrameTest.js", url: "foo/wireframetest.js", path: "foo/wireframetest.js", local: true },
+            { name: "edit.js", url: "foo/edit.js", path: "foo/edit.js", local: false },
+            { name: "listAllScripts.js", url: "foo/listAllScripts.js", path: "foo/listAllScripts.js", local: false },
+            { name: "users.js", url: "foo/users.js", path: "foo/users.js", local: false },
+        ]
+
+        function getRunning() {
+            return _runningScripts;
+        }
+    }
+
+    Item {
+        objectName: "HMD"
+        property bool active: false
+    }
+
+    Item {
+        id: menuHelper
+        objectName: "MenuHelper"
+
+        Component {
+            id: modelMaker
+            ListModel { }
+        }
+
+        function toModel(menu, parent) {
+            if (!parent) { parent = menuHelper }
+            var result = modelMaker.createObject(parent);
+            if (menu.type !== MenuItemType.Menu) {
+                console.warn("Not a menu: " + menu);
+                return result;
+            }
+
+            var items = menu.items;
+            for (var i = 0; i < items.length; ++i) {
+                var item = items[i];
+                switch (item.type) {
+                case 2:
+                    result.append({"name": item.title, "item": item})
+                    break;
+                case 1:
+                    result.append({"name": item.text, "item": item})
+                    break;
+                case 0:
+                    result.append({"name": "", "item": item})
+                    break;
+                }
+            }
+            return result;
+        }
+
+    }
+
+    Item {
+        objectName: "Desktop"
+
+        property string _OFFSCREEN_ROOT_OBJECT_NAME: "desktopRoot";
+        property string _OFFSCREEN_DIALOG_OBJECT_NAME: "topLevelWindow";
+
+
+        function findChild(item, name) {
+            for (var i = 0; i < item.children.length; ++i) {
+                if (item.children[i].objectName === name) {
+                    return item.children[i];
+                }
+            }
+            return null;
+        }
+
+        function findParent(item, name) {
+            while (item) {
+                if (item.objectName === name) {
+                    return item;
+                }
+                item = item.parent;
+            }
+            return null;
+        }
+
+        function findDialog(item) {
+            item = findParent(item, _OFFSCREEN_DIALOG_OBJECT_NAME);
+            return item;
+        }
+
+        function closeDialog(item) {
+            item = findDialog(item);
+            if (item) {
+                item.visible = false
+            } else {
+                console.warn("Could not find top level dialog")
+            }
+        }
+
+        function getDesktop(item) {
+            while (item) {
+                if (item.desktopRoot) {
+                    break;
+                }
+                item = item.parent;
+            }
+            return item
+        }
+
+        function raise(item) {
+            var desktop = getDesktop(item);
+            if (desktop) {
+                desktop.raise(item);
+            }
+        }
+    }
+
+    Menu {
+        id: root
+        objectName: "rootMenu"
+
+        Menu {
+            title: "Audio"
+        }
+
+        Menu {
+            title: "Avatar"
+        }
+
+        Menu {
+            title: "Display"
+            ExclusiveGroup { id: displayMode }
+            Menu {
+                title: "More Stuff"
+
+                Menu { title: "Empty" }
+
+                MenuItem {
+                    text: "Do Nothing"
+                    onTriggered: console.log("Nothing")
+                }
+            }
+            MenuItem {
+                text: "Oculus"
+                exclusiveGroup: displayMode
+                checkable: true
+            }
+            MenuItem {
+                text: "OpenVR"
+                exclusiveGroup: displayMode
+                checkable: true
+            }
+            MenuItem {
+                text: "OSVR"
+                exclusiveGroup: displayMode
+                checkable: true
+            }
+            MenuItem {
+                text: "2D Screen"
+                exclusiveGroup: displayMode
+                checkable: true
+                checked: true
+            }
+            MenuItem {
+                text: "3D Screen (Active)"
+                exclusiveGroup: displayMode
+                checkable: true
+            }
+            MenuItem {
+                text: "3D Screen (Passive)"
+                exclusiveGroup: displayMode
+                checkable: true
+            }
+        }
+
+        Menu {
+            title: "View"
+            Menu {
+                title: "Camera Mode"
+                ExclusiveGroup { id: cameraMode }
+                MenuItem {
+                    exclusiveGroup: cameraMode
+                    text: "First Person";
+                    onTriggered: console.log(text + " checked " + checked)
+                    checkable: true
+                    checked: true
+                }
+                MenuItem {
+                    exclusiveGroup: cameraMode
+                    text: "Third Person";
+                    onTriggered: console.log(text)
+                    checkable: true
+                }
+                MenuItem {
+                    exclusiveGroup: cameraMode
+                    text: "Independent Mode";
+                    onTriggered: console.log(text)
+                    checkable: true
+                }
+                MenuItem {
+                    exclusiveGroup: cameraMode
+                    text: "Entity Mode";
+                    onTriggered: console.log(text)
+                    enabled: false
+                    checkable: true
+                }
+                MenuItem {
+                    exclusiveGroup: cameraMode
+                    text: "Fullscreen Mirror";
+                    onTriggered: console.log(text)
+                    checkable: true
+                }
+            }
+        }
+
+        Menu {
+            title: "Edit"
+
+            MenuItem {
+                text: "Undo"
+                shortcut: "Ctrl+Z"
+                enabled: false
+                onTriggered: console.log(text)
+            }
+
+            MenuItem {
+                text: "Redo"
+                shortcut: "Ctrl+Shift+Z"
+                enabled: false
+                onTriggered: console.log(text)
+            }
+
+            MenuSeparator { }
+
+            MenuItem {
+                text: "Cut"
+                shortcut: "Ctrl+X"
+                onTriggered: console.log(text)
+            }
+
+            MenuItem {
+                text: "Copy"
+                shortcut: "Ctrl+C"
+                onTriggered: console.log(text)
+            }
+
+            MenuItem {
+                text: "Paste"
+                shortcut: "Ctrl+V"
+                visible: false
+                onTriggered: console.log("Paste")
+            }
+        }
+
+        Menu {
+            title: "Navigate"
+        }
+
+        Menu {
+            title: "Market"
+        }
+
+        Menu {
+            title: "Settings"
+        }
+
+        Menu {
+            title: "Developer"
+        }
+
+        Menu {
+            title: "Quit"
+        }
+
+        Menu {
+            title: "File"
+
+            Action  {
+                id: login
+                text: "Login"
+            }
+
+            Action  {
+                id: quit
+                text: "Quit"
+                shortcut: "Ctrl+Q"
+                onTriggered: Qt.quit();
+            }
+
+            MenuItem { action: quit }
+            MenuItem { action: login }
+        }
+    }
+
+}
+
diff --git a/tests-manual/ui/qml/TestControllers.qml b/tests-manual/ui/qml/TestControllers.qml
new file mode 100644
index 0000000000..e9a7fb49e5
--- /dev/null
+++ b/tests-manual/ui/qml/TestControllers.qml
@@ -0,0 +1,160 @@
+import QtQuick 2.3
+import QtQuick.Controls 1.2
+import QtQuick.Layouts 1.0
+import QtQuick.Dialogs 1.0
+
+import "controller"
+import "controls" as HifiControls
+import "styles"
+
+HifiControls.VrDialog {
+    id: root
+    HifiConstants { id: hifi }
+    title: "Controller Test"
+    resizable: true
+    contentImplicitWidth: clientArea.implicitWidth
+    contentImplicitHeight: clientArea.implicitHeight
+    backgroundColor: "beige"
+
+    property var actions: Controller.Actions
+    property var standard: Controller.Standard
+    property var hydra: null
+    property var testMapping: null
+    property bool testMappingEnabled: false
+    property var xbox: null
+
+    function buildMapping() {
+        testMapping = Controller.newMapping();
+        testMapping.fromQml(standard.RY).invert().toQml(actions.Pitch);
+        testMapping.fromQml(function(){
+            return Math.sin(Date.now() / 250); 
+        }).toQml(actions.Yaw);
+        //testMapping.makeAxis(standard.LB, standard.RB).to(actions.Yaw);
+        // Step yaw takes a number of degrees
+        testMapping.fromQml(standard.LB).pulse(0.10).invert().scale(40.0).toQml(actions.StepYaw);
+        testMapping.fromQml(standard.RB).pulse(0.10).scale(15.0).toQml(actions.StepYaw);
+        testMapping.fromQml(standard.RX).scale(15.0).toQml(actions.StepYaw);
+    }
+
+    function toggleMapping() {
+        testMapping.enable(!testMappingEnabled);
+        testMappingEnabled = !testMappingEnabled;
+    }
+
+    Component.onCompleted: {
+        var xboxRegex = /^GamePad/;
+        var hydraRegex = /^Hydra/;
+        for (var prop in Controller.Hardware) {
+            if(xboxRegex.test(prop)) {
+                root.xbox = Controller.Hardware[prop]
+                print("found xbox")
+                continue
+            }
+            if (hydraRegex.test(prop)) {
+                root.hydra = Controller.Hardware[prop]
+                print("found hydra")
+                continue
+            }
+        }
+    }
+
+    Column {
+        id: clientArea
+        spacing: 12
+        x: root.clientX
+        y: root.clientY
+
+        Row {
+            spacing: 8
+            
+            Button {
+                text: !root.testMapping ? "Build Mapping" : (root.testMappingEnabled ? "Disable Mapping" : "Enable Mapping")
+                onClicked: {
+
+                    if (!root.testMapping) {
+                        root.buildMapping()
+                    } else {
+                        root.toggleMapping();
+                    }
+                }
+            }
+        }
+
+        Row {
+            Standard { device: root.standard; label: "Standard"; width: 180 }
+        }
+        
+        Row {
+            spacing: 8
+            Xbox { device: root.xbox; label: "XBox"; width: 180 }
+            Hydra { device: root.hydra; width: 180 }
+        }
+        
+        Row {
+            spacing: 4
+            ScrollingGraph {
+                controlId: Controller.Actions.Yaw
+                label: "Yaw"
+                min: -2.0
+                max: 2.0
+                size: 64
+            }
+
+            ScrollingGraph {
+                controlId: Controller.Actions.YawLeft
+                label: "Yaw Left"
+                min: -2.0
+                max: 2.0
+                size: 64
+            }
+
+            ScrollingGraph {
+                controlId: Controller.Actions.YawRight
+                label: "Yaw Right"
+                min: -2.0
+                max: 2.0
+                size: 64
+            }
+
+            ScrollingGraph {
+                controlId: Controller.Actions.StepYaw
+                label: "StepYaw"
+                min: -20.0
+                max: 20.0
+                size: 64
+            }
+        }
+
+        Row {
+            ScrollingGraph {
+                controlId: Controller.Actions.TranslateZ
+                label: "TranslateZ"
+                min: -2.0
+                max: 2.0
+                size: 64
+            }
+
+            ScrollingGraph {
+                controlId: Controller.Actions.Forward
+                label: "Forward"
+                min: -2.0
+                max: 2.0
+                size: 64
+            }
+
+            ScrollingGraph {
+                controlId: Controller.Actions.Backward
+                label: "Backward"
+                min: -2.0
+                max: 2.0
+                size: 64
+            }
+
+        }
+    }
+} // dialog
+
+
+
+
+
diff --git a/tests-manual/ui/qml/TestDialog.qml b/tests-manual/ui/qml/TestDialog.qml
new file mode 100644
index 0000000000..e6675b7282
--- /dev/null
+++ b/tests-manual/ui/qml/TestDialog.qml
@@ -0,0 +1,94 @@
+import QtQuick 2.3
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Styles 1.3
+import "controls"
+
+VrDialog {
+    title: "Test Dialog"
+    id: testDialog
+    objectName: "TestDialog"
+    width: 512
+    height: 512
+    animationDuration: 200
+
+    onEnabledChanged: {
+        if (enabled) {
+            edit.forceActiveFocus();
+        }
+    }
+    
+    Item {
+        id: clientArea
+        // The client area
+        anchors.fill: parent
+        anchors.margins: parent.margins
+        anchors.topMargin: parent.topMargin
+    
+        Rectangle {
+            property int d: 100
+            id: square
+            objectName: "testRect"
+            width: d
+            height: d
+            anchors.centerIn: parent
+            color: "red"
+            NumberAnimation on rotation { from: 0; to: 360; duration: 2000; loops: Animation.Infinite; }
+        }
+    
+    
+        TextEdit {
+            id: edit
+            anchors.left: parent.left
+            anchors.leftMargin: 12
+            anchors.right: parent.right
+            anchors.rightMargin: 12
+            clip: true
+            text: "test edit"
+            anchors.top: parent.top
+            anchors.topMargin: 12
+        }
+
+        Button {
+            x: 128
+            y: 192
+            text: "Test"
+            anchors.bottom: parent.bottom
+            anchors.bottomMargin: 12
+            anchors.right: parent.right
+            anchors.rightMargin: 12
+            onClicked: {
+                console.log("Click");
+                
+                if (square.visible) {
+                    square.visible = false
+                } else {
+                    square.visible = true
+                }
+            }
+        }
+    
+        Button {
+            id: customButton2
+            y: 192
+            text: "Move"
+            anchors.left: parent.left
+            anchors.leftMargin: 12
+            anchors.bottom: parent.bottom
+            anchors.bottomMargin: 12
+            onClicked: {
+                onClicked: testDialog.x == 0 ? testDialog.x = 200 : testDialog.x = 0
+            }
+        }
+        
+        Keys.onPressed: {
+            console.log("Key " + event.key);
+            switch (event.key) {
+            case Qt.Key_Q:
+                if (Qt.ControlModifier == event.modifiers) {
+                    event.accepted = true;
+                    break;
+                }
+            }
+        }
+    }
+}
diff --git a/tests-manual/ui/qml/TestMenu.qml b/tests-manual/ui/qml/TestMenu.qml
new file mode 100644
index 0000000000..fe8a26e234
--- /dev/null
+++ b/tests-manual/ui/qml/TestMenu.qml
@@ -0,0 +1,10 @@
+import QtQuick 2.4
+import QtQuick.Controls 1.3
+import Hifi 1.0
+
+// Currently for testing a pure QML replacement menu
+Item {
+    Menu {
+        objectName: "rootMenu";
+    } 
+}
diff --git a/tests-manual/ui/qml/TestRoot.qml b/tests-manual/ui/qml/TestRoot.qml
new file mode 100644
index 0000000000..bd38c696bf
--- /dev/null
+++ b/tests-manual/ui/qml/TestRoot.qml
@@ -0,0 +1,43 @@
+import Hifi 1.0
+import QtQuick 2.3
+import QtQuick.Controls 1.3
+// Import local folder last so that our own control customizations override 
+// the built in ones
+import "controls"
+
+Root {
+    id: root
+    anchors.fill: parent
+    onParentChanged: {
+        forceActiveFocus();
+    }
+    Button {
+        id: messageBox
+        anchors.right: createDialog.left
+        anchors.rightMargin: 24
+        anchors.bottom: parent.bottom
+        anchors.bottomMargin: 24
+        text: "Message"
+        onClicked: {
+            console.log("Foo")
+            root.information("a")
+            console.log("Bar")
+        }
+    }
+    Button {
+        id: createDialog
+        anchors.right: parent.right
+        anchors.rightMargin: 24
+        anchors.bottom: parent.bottom
+        anchors.bottomMargin: 24
+        text: "Create"
+        onClicked: {
+            root.loadChild("MenuTest.qml");
+        }
+    }
+
+    Keys.onPressed: {
+        console.log("Key press root")
+    }
+}
+
diff --git a/tests-manual/ui/qml/controlDemo/ButtonPage.qml b/tests-manual/ui/qml/controlDemo/ButtonPage.qml
new file mode 100644
index 0000000000..0ed7e2d6ad
--- /dev/null
+++ b/tests-manual/ui/qml/controlDemo/ButtonPage.qml
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Layouts 1.1
+import QtQuick.Controls 1.2
+
+ScrollView {
+    id: page
+
+    horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff
+
+    Item {
+        id: content
+
+        width: Math.max(page.viewport.width, grid.implicitWidth + 2 * grid.rowSpacing)
+        height: Math.max(page.viewport.height, grid.implicitHeight + 2 * grid.columnSpacing)
+
+        GridLayout {
+            id: grid
+
+            anchors.top: parent.top
+            anchors.left: parent.left
+            anchors.right: parent.right
+            anchors.leftMargin: grid.rowSpacing
+            anchors.rightMargin: grid.rowSpacing
+            anchors.topMargin: grid.columnSpacing
+
+            columns: page.width < page.height ? 1 : 2
+
+            GroupBox {
+                title: "Button"
+                Layout.fillWidth: true
+                Layout.columnSpan: grid.columns
+                RowLayout {
+                    anchors.fill: parent
+                    Button { text: "OK"; isDefault: true }
+                    Button { text: "Cancel" }
+                    Item { Layout.fillWidth: true }
+                    Button {
+                        text: "Attach"
+                        menu: Menu {
+                            MenuItem { text: "Image" }
+                            MenuItem { text: "Document" }
+                        }
+                    }
+                }
+            }
+
+            GroupBox {
+                title: "CheckBox"
+                Layout.fillWidth: true
+                ColumnLayout {
+                    anchors.fill: parent
+                    CheckBox { text: "E-mail"; checked: true }
+                    CheckBox { text: "Calendar"; checked: true }
+                    CheckBox { text: "Contacts" }
+                }
+            }
+
+            GroupBox {
+                title: "RadioButton"
+                Layout.fillWidth: true
+                ColumnLayout {
+                    anchors.fill: parent
+                    ExclusiveGroup { id: radioGroup }
+                    RadioButton { text: "Portrait"; exclusiveGroup: radioGroup }
+                    RadioButton { text: "Landscape"; exclusiveGroup: radioGroup }
+                    RadioButton { text: "Automatic"; exclusiveGroup: radioGroup; checked: true }
+                }
+            }
+
+            GroupBox {
+                title: "Switch"
+                Layout.fillWidth: true
+                Layout.columnSpan: grid.columns
+                ColumnLayout {
+                    anchors.fill: parent
+                    RowLayout {
+                        Label { text: "Wi-Fi"; Layout.fillWidth: true }
+                        Switch { checked: true }
+                    }
+                    RowLayout {
+                        Label { text: "Bluetooth"; Layout.fillWidth: true }
+                        Switch { checked: false }
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/tests-manual/ui/qml/controlDemo/InputPage.qml b/tests-manual/ui/qml/controlDemo/InputPage.qml
new file mode 100644
index 0000000000..cb1878d023
--- /dev/null
+++ b/tests-manual/ui/qml/controlDemo/InputPage.qml
@@ -0,0 +1,114 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Layouts 1.1
+import QtQuick.Controls 1.2
+
+ScrollView {
+    id: page
+
+    horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff
+
+    Item {
+        id: content
+
+        width: Math.max(page.viewport.width, column.implicitWidth + 2 * column.spacing)
+        height: Math.max(page.viewport.height, column.implicitHeight + 2 * column.spacing)
+
+        ColumnLayout {
+            id: column
+
+            anchors.top: parent.top
+            anchors.left: parent.left
+            anchors.right: parent.right
+            anchors.margins: column.spacing
+
+            GroupBox {
+                title: "TextField"
+                Layout.fillWidth: true
+                ColumnLayout {
+                    anchors.fill: parent
+                    TextField { placeholderText: "..."; Layout.fillWidth: true; z: 1 }
+                    TextField { placeholderText: "Password"; echoMode: TextInput.Password; Layout.fillWidth: true }
+                }
+            }
+
+            GroupBox {
+                title: "ComboBox"
+                Layout.fillWidth: true
+                ColumnLayout {
+                    anchors.fill: parent
+                    ComboBox {
+                        model: Qt.fontFamilies()
+                        Layout.fillWidth: true
+                    }
+                    ComboBox {
+                        editable: true
+                        model: ListModel {
+                            id: listModel
+                            ListElement { text: "Apple" }
+                            ListElement { text: "Banana" }
+                            ListElement { text: "Coconut" }
+                            ListElement { text: "Orange" }
+                        }
+                        onAccepted: {
+                            if (find(currentText) === -1) {
+                                listModel.append({text: editText})
+                                currentIndex = find(editText)
+                            }
+                        }
+                        Layout.fillWidth: true
+                    }
+                }
+            }
+
+            GroupBox {
+                title: "SpinBox"
+                Layout.fillWidth: true
+                ColumnLayout {
+                    anchors.fill: parent
+                    SpinBox { value: 99; Layout.fillWidth: true; z: 1 }
+                    SpinBox { decimals: 2; Layout.fillWidth: true }
+                }
+            }
+        }
+    }
+}
diff --git a/tests-manual/ui/qml/controlDemo/ProgressPage.qml b/tests-manual/ui/qml/controlDemo/ProgressPage.qml
new file mode 100644
index 0000000000..a1fa596f79
--- /dev/null
+++ b/tests-manual/ui/qml/controlDemo/ProgressPage.qml
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Layouts 1.1
+import QtQuick.Controls 1.2
+
+ScrollView {
+    id: page
+
+    horizontalScrollBarPolicy: Qt.ScrollBarAlwaysOff
+
+    Item {
+        id: content
+
+        width: Math.max(page.viewport.width, column.implicitWidth + 2 * column.spacing)
+        height: Math.max(page.viewport.height, column.implicitHeight + 2 * column.spacing)
+
+        ColumnLayout {
+            id: column
+
+            anchors.top: parent.top
+            anchors.left: parent.left
+            anchors.right: parent.right
+            anchors.margins: column.spacing
+
+            GroupBox {
+                title: "ProgressBar"
+                Layout.fillWidth: true
+                ColumnLayout {
+                    anchors.fill: parent
+                    ProgressBar { indeterminate: true; Layout.fillWidth: true }
+                    ProgressBar { value: slider.value; Layout.fillWidth: true }
+                }
+            }
+
+            GroupBox {
+                title: "Slider"
+                Layout.fillWidth: true
+                ColumnLayout {
+                    anchors.fill: parent
+                    Slider { id: slider; value: 0.5; Layout.fillWidth: true }
+                }
+            }
+
+            GroupBox {
+                title: "BusyIndicator"
+                Layout.fillWidth: true
+                BusyIndicator { running: true }
+            }
+        }
+    }
+}
diff --git a/tests-manual/ui/qml/controlDemo/main.qml b/tests-manual/ui/qml/controlDemo/main.qml
new file mode 100644
index 0000000000..168b9fb291
--- /dev/null
+++ b/tests-manual/ui/qml/controlDemo/main.qml
@@ -0,0 +1,161 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.2
+import QtQuick.Layouts 1.1
+import QtQuick.Dialogs 1.1
+import QtQuick.Controls 1.2
+import "qml/UI.js" as UI
+import "qml"
+//import "/Users/bdavis/Git/hifi/interface/resources/qml"
+
+Item {
+    anchors.fill: parent
+    visible: true
+    //title: "Qt Quick Controls Gallery"
+
+    MessageDialog {
+        id: aboutDialog
+        icon: StandardIcon.Information
+        title: "About"
+        text: "Qt Quick Controls Gallery"
+        informativeText: "This example demonstrates most of the available Qt Quick Controls."
+    }
+
+    Action {
+        id: copyAction
+        text: "&Copy"
+        shortcut: StandardKey.Copy
+        iconName: "edit-copy"
+        enabled: (!!activeFocusItem && !!activeFocusItem["copy"])
+        onTriggered: activeFocusItem.copy()
+    }
+
+    Action {
+        id: cutAction
+        text: "Cu&t"
+        shortcut: StandardKey.Cut
+        iconName: "edit-cut"
+        enabled: (!!activeFocusItem && !!activeFocusItem["cut"])
+        onTriggered: activeFocusItem.cut()
+    }
+
+    Action {
+        id: pasteAction
+        text: "&Paste"
+        shortcut: StandardKey.Paste
+        iconName: "edit-paste"
+        enabled: (!!activeFocusItem && !!activeFocusItem["paste"])
+        onTriggered: activeFocusItem.paste()
+    }
+
+//    toolBar: ToolBar {
+//        RowLayout {
+//            anchors.fill: parent
+//            anchors.margins: spacing
+//            Label {
+//                text: UI.label
+//            }
+//            Item { Layout.fillWidth: true }
+//            CheckBox {
+//                id: enabler
+//                text: "Enabled"
+//                checked: true
+//            }
+//        }
+//    }
+
+//    menuBar: MenuBar {
+//        Menu {
+//            title: "&File"
+//            MenuItem {
+//                text: "E&xit"
+//                shortcut: StandardKey.Quit
+//                onTriggered: Qt.quit()
+//            }
+//        }
+//        Menu {
+//            title: "&Edit"
+//            visible: tabView.currentIndex == 2
+//            MenuItem { action: cutAction }
+//            MenuItem { action: copyAction }
+//            MenuItem { action: pasteAction }
+//        }
+//        Menu {
+//            title: "&Help"
+//            MenuItem {
+//                text: "About..."
+//                onTriggered: aboutDialog.open()
+//            }
+//        }
+//    }
+
+    TabView {
+        id: tabView
+
+        anchors.fill: parent
+        anchors.margins: UI.margin
+        tabPosition: UI.tabPosition
+
+        Layout.minimumWidth: 360
+        Layout.minimumHeight: 360
+        Layout.preferredWidth: 480
+        Layout.preferredHeight: 640
+
+        Tab {
+            title: "Buttons"
+            ButtonPage {
+                enabled: enabler.checked
+            }
+        }
+        Tab {
+            title: "Progress"
+            ProgressPage {
+                enabled: enabler.checked
+            }
+        }
+        Tab {
+            title: "Input"
+            InputPage {
+                enabled: enabler.checked
+            }
+        }
+    }
+}
diff --git a/tests-manual/ui/qml/main.qml b/tests-manual/ui/qml/main.qml
new file mode 100644
index 0000000000..607bd624a1
--- /dev/null
+++ b/tests-manual/ui/qml/main.qml
@@ -0,0 +1,461 @@
+import QtQuick 2.5
+import QtQuick.Controls 1.4
+import QtQuick.Dialogs 1.2 as OriginalDialogs
+import Qt.labs.settings 1.0
+
+import "../../../interface/resources/qml"
+//import "../../../interface/resources/qml/windows"
+import "../../../interface/resources/qml/windows"
+import "../../../interface/resources/qml/dialogs"
+import "../../../interface/resources/qml/hifi"
+import "../../../interface/resources/qml/hifi/dialogs"
+import "../../../interface/resources/qml/styles-uit"
+
+ApplicationWindow {
+    id: appWindow
+    objectName: "MainWindow"
+    visible: true
+    width: 1280
+    height: 800
+    title: qsTr("Scratch App")
+    toolBar: Row {
+        id: testButtons
+        anchors { margins: 8; left: parent.left; top: parent.top }
+        spacing: 8
+        property int count: 0
+
+        property var tabs: [];
+        property var urls: [];
+        property var toolbar;
+        property var lastButton;
+
+        Button {
+            text: HMD.active ? "Disable HMD" : "Enable HMD"
+            onClicked: HMD.active = !HMD.active
+        }
+
+        Button {
+            text: desktop.hmdHandMouseActive ? "Disable HMD HandMouse" : "Enable HMD HandMouse"
+            onClicked: desktop.hmdHandMouseActive = !desktop.hmdHandMouseActive
+        }
+
+        // Window visibility
+        Button {
+            text: "toggle desktop"
+            onClicked: desktop.togglePinned()
+        }
+
+        Button {
+            text: "Create Toolbar"
+            onClicked: testButtons.toolbar = desktop.getToolbar("com.highfidelity.interface.toolbar.system");
+        }
+
+        Button {
+            text: "Toggle Toolbar Direction"
+            onClicked: testButtons.toolbar.horizontal = !testButtons.toolbar.horizontal
+        }
+
+        Button {
+            readonly property var icons: [
+                "edit-01.svg",
+                "model-01.svg",
+                "cube-01.svg",
+                "sphere-01.svg",
+                "light-01.svg",
+                "text-01.svg",
+                "web-01.svg",
+                "zone-01.svg",
+                "particle-01.svg",
+            ]
+            property int iconIndex: 0
+            readonly property string toolIconUrl: "../../../../../scripts/system/assets/images/tools/"
+            text: "Create Button"
+            onClicked: {
+                var name = icons[iconIndex];
+                var url = toolIconUrl + name;
+                iconIndex = (iconIndex + 1) % icons.length;
+                var button = testButtons.lastButton = testButtons.toolbar.addButton({
+                    imageURL: url,
+                    objectName: name,
+                    subImage: {
+                        y: 50,
+                    },
+                    alpha: 0.9
+                });
+
+                button.clicked.connect(function(){
+                    console.log("Clicked on button " + button.imageURL + " alpha " + button.alpha)
+                });
+            }
+        }
+
+        Button {
+            text: "Toggle Button Visible"
+            onClicked: testButtons.lastButton.visible = !testButtons.lastButton.visible
+        }
+
+        // Error alerts
+        /*
+        Button {
+            // Message without title.
+            text: "Show Error"
+            onClicked: {
+                var messageBox = desktop.messageBox({
+                                                        text: "Diagnostic cycle will be complete in 30 seconds",
+                                                        icon: hifi.icons.critical,
+                                                    });
+                messageBox.selected.connect(function(button) {
+                    console.log("You clicked " + button)
+                })
+            }
+        }
+        Button {
+            // detailedText is not currently used anywhere in Interface but it is easier to leave in and style good enough.
+            text: "Show Long Error"
+            onClicked: {
+                desktop.messageBox({
+                                       informativeText: "Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds  Diagnostic cycle will be complete in 30 seconds  Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds  Diagnostic cycle will be complete in 30 seconds  Diagnostic cycle will be complete in 30 seconds ",
+                                       text: "Baloney",
+                                       icon: hifi.icons.warning,
+                                       detailedText: "sakjd;laskj dksa;dl jka;lsd j;lkjas ;dlkaj s;dlakjd ;alkjda; slkjda; lkjda;lksjd ;alksjd; alksjd ;alksjd; alksjd; alksdjas;ldkjas;lkdja ;kj ;lkasjd; lkj as;dlka jsd;lka jsd;laksjd a"
+                                   });
+            }
+        }
+        */
+
+        // query
+        /*
+        // There is no such desktop.queryBox() function; may need to update test to cover QueryDialog.qml?
+        Button {
+            text: "Show Query"
+            onClicked: {
+                var queryBox = desktop.queryBox({
+                                                      text: "Have you stopped beating your wife?",
+                                                      placeholderText: "Are you sure?",
+                                                     // icon: hifi.icons.critical,
+                                                  });
+                queryBox.selected.connect(function(result) {
+                    console.log("User responded with " + result);
+                });
+
+                queryBox.canceled.connect(function() {
+                    console.log("User cancelled query box ");
+                })
+            }
+        }
+        */
+
+        // Browser
+        /*
+        Button {
+            text: "Open Browser"
+            onClicked: builder.createObject(desktop);
+            property var builder: Component {
+                Browser {}
+            }
+        }
+        */
+
+
+        // file dialog
+        /*
+
+        Button {
+            text: "Open Directory"
+            property var builder: Component {
+                FileDialog { selectDirectory: true }
+            }
+
+            onClicked: {
+                var fileDialog = builder.createObject(desktop);
+                fileDialog.canceled.connect(function(){
+                    console.log("Cancelled")
+                })
+                fileDialog.selectedFile.connect(function(file){
+                    console.log("Selected " + file)
+                })
+            }
+        }
+        Button {
+            text: "Open File"
+            property var builder: Component {
+                FileDialog {
+                    title: "Open File"
+                    filter: "All Files (*.*)"
+                    //filter: "HTML files (*.html);;Other(*.png)"
+                }
+            }
+
+            onClicked: {
+                var fileDialog = builder.createObject(desktop);
+                fileDialog.canceled.connect(function(){
+                    console.log("Cancelled")
+                })
+                fileDialog.selectedFile.connect(function(file){
+                    console.log("Selected " + file)
+                })
+            }
+        }
+        */
+
+        // tabs
+        /*
+        Button {
+            text: "Add Tab"
+            onClicked: {
+                console.log(desktop.toolWindow);
+                desktop.toolWindow.addWebTab({ source: "Foo" });
+                desktop.toolWindow.showTabForUrl("Foo", true);
+            }
+        }
+
+        Button {
+            text: "Add Tab 2"
+            onClicked: {
+                console.log(desktop.toolWindow);
+                desktop.toolWindow.addWebTab({ source: "Foo 2" });
+                desktop.toolWindow.showTabForUrl("Foo 2", true);
+            }
+        }
+
+        Button {
+            text: "Add Tab 3"
+            onClicked: {
+                console.log(desktop.toolWindow);
+                desktop.toolWindow.addWebTab({ source: "Foo 3" });
+                desktop.toolWindow.showTabForUrl("Foo 3", true);
+            }
+        }
+
+        Button {
+            text: "Destroy Tab"
+            onClicked: {
+                console.log(desktop.toolWindow);
+                desktop.toolWindow.removeTabForUrl("Foo");
+            }
+        }
+        */
+
+        // Hifi specific stuff
+        /*
+        Button {
+            // Shows the dialog with preferences sections but not each section's preference items
+            // because Preferences.preferencesByCategory() method is not stubbed out.
+            text: "Settings > General..."
+            property var builder: Component {
+                GeneralPreferencesDialog { }
+            }
+            onClicked: {
+                var runningScripts = builder.createObject(desktop);
+            }
+        }
+
+        Button {
+            text: "Running Scripts"
+            property var builder: Component {
+                RunningScripts { }
+            }
+            onClicked: {
+                var runningScripts = builder.createObject(desktop);
+            }
+        }
+
+        Button {
+            text: "Attachments"
+            property var builder: Component {
+                AttachmentsDialog { }
+            }
+            onClicked: {
+                var attachmentsDialog = builder.createObject(desktop);
+            }
+        }
+        Button {
+            // Replicates message box that pops up after selecting new avatar. Includes title.
+            text: "Confirm Avatar"
+            onClicked: {
+                var messageBox = desktop.messageBox({
+                                       title: "Set Avatar",
+                                       text: "Would you like to use 'Albert' for your avatar?",
+                                       icon: hifi.icons.question,         // Test question icon
+                                       //icon: hifi.icons.information,    // Test informaton icon
+                                       //icon: hifi.icons.warning,        // Test warning icon
+                                       //icon: hifi.icons.critical,       // Test critical icon
+                                       //icon: hifi.icons.none,         // Test no icon
+                                       buttons: OriginalDialogs.StandardButton.Ok + OriginalDialogs.StandardButton.Cancel,
+                                       defaultButton: OriginalDialogs.StandardButton.Ok
+                                   });
+                messageBox.selected.connect(function(button) {
+                    console.log("You clicked " + button)
+                })
+            }
+        }
+        */
+        // bookmarks
+        /*
+        Button {
+            text: "Bookmark Location"
+            onClicked: {
+                desktop.inputDialog({
+                                       title: "Bookmark Location",
+                                       icon: hifi.icons.placemark,
+                                       label: "Name"
+                                   });
+            }
+        }
+        Button {
+            text: "Delete Bookmark"
+            onClicked: {
+                desktop.inputDialog({
+                                       title: "Delete Bookmark",
+                                       icon: hifi.icons.placemark,
+                                       label: "Select the bookmark to delete",
+                                       items: ["Bookmark A", "Bookmark B", "Bookmark C"]
+                                   });
+            }
+        }
+        Button {
+            text: "Duplicate Bookmark"
+            onClicked: {
+                desktop.messageBox({
+                                       title: "Duplicate Bookmark",
+                                       icon: hifi.icons.warning,
+                                       text: "The bookmark name you entered alread exists in yoru list.",
+                                       informativeText: "Would you like to overwrite it?",
+                                       buttons: OriginalDialogs.StandardButton.Yes + OriginalDialogs.StandardButton.No,
+                                       defaultButton: OriginalDialogs.StandardButton.Yes
+                                   });
+            }
+        }
+        */
+
+    }
+
+
+    HifiConstants { id: hifi }
+
+    Desktop {
+        id: desktop
+        anchors.fill: parent
+
+        //rootMenu: StubMenu { id: rootMenu }
+        //Component.onCompleted: offscreenWindow = appWindow
+
+        /*
+        MouseArea {
+            anchors.fill: parent
+            acceptedButtons: Qt.RightButton
+            onClicked: desktop.popupMenu(Qt.vector2d(mouseX, mouseY));
+        }
+        */
+
+        Browser {
+            url: "http://s3.amazonaws.com/DreamingContent/testUiDelegates.html"
+        }
+
+
+        Window {
+            id: blue
+            closable: true
+            visible: true
+            resizable: true
+            destroyOnHidden: false
+            title: "Blue"
+
+            width: 100; height: 100
+            x: 1280 / 2; y: 720 / 2
+            Settings {
+                category: "TestWindow.Blue"
+                property alias x: blue.x
+                property alias y: blue.y
+                property alias width: blue.width
+                property alias height: blue.height
+            }
+
+            Rectangle {
+                anchors.fill: parent
+                visible: true
+                color: "blue"
+                Component.onDestruction: console.log("Blue destroyed")
+            }
+        }
+
+        Window {
+            id: green
+            closable: true
+            visible: true
+            resizable: true
+            title: "Green"
+            destroyOnHidden: false
+
+            width: 100; height: 100
+            x: 1280 / 2; y: 720 / 2
+            Settings {
+                category: "TestWindow.Green"
+                property alias x: green.x
+                property alias y: green.y
+                property alias width: green.width
+                property alias height: green.height
+            }
+
+            Rectangle {
+                anchors.fill: parent
+                visible: true
+                color: "green"
+                Component.onDestruction: console.log("Green destroyed")
+            }
+        }
+
+/*
+        Rectangle { width: 100; height: 100; x: 100; y: 100; color: "#00f" }
+
+        Window {
+            id: green
+            alwaysOnTop: true
+            frame: HiddenFrame{}
+            hideBackground: true
+            closable: true
+            visible: true
+            resizable: false
+            x: 1280 / 2; y: 720 / 2
+            width: 100; height: 100
+            Rectangle {
+                color: "#0f0"
+                width: green.width;
+                height: green.height;
+            }
+        }
+        */
+
+/*
+        Window {
+            id: yellow
+            closable: true
+            visible: true
+            resizable: true
+            x: 100; y: 100
+            width: 100; height: 100
+            Rectangle {
+                anchors.fill: parent
+                visible: true
+                color: "yellow"
+            }
+        }
+*/
+    }
+
+    Action {
+        id: openBrowserAction
+        text: "Open Browser"
+        shortcut: "Ctrl+Shift+X"
+        onTriggered: {
+            builder.createObject(desktop);
+        }
+        property var builder: Component {
+            ModelBrowserDialog{}
+        }
+    }
+}
+
+
+
+
diff --git a/tests-manual/ui/qmlscratch.pro b/tests-manual/ui/qmlscratch.pro
index 3287180d26..5c9b91ee52 100644
--- a/tests-manual/ui/qmlscratch.pro
+++ b/tests-manual/ui/qmlscratch.pro
@@ -4,10 +4,34 @@ QT += gui qml quick xml webengine widgets
 
 CONFIG += c++11
 
-SOURCES += src/main.cpp
+SOURCES += src/main.cpp \
+    ../../libraries/ui/src/FileDialogHelper.cpp
+
+HEADERS += \
+    ../../libraries/ui/src/FileDialogHelper.h
 
 # Additional import path used to resolve QML modules in Qt Creator's code model
 QML_IMPORT_PATH = ../../interface/resources/qml
 
+
 DISTFILES += \
-    qml/*.qml
+    qml/*.qml \
+    ../../interface/resources/QtWebEngine/UIDelegates/original/*.qml \
+    ../../interface/resources/QtWebEngine/UIDelegates/*.qml \
+    ../../interface/resources/qml/*.qml \
+    ../../interface/resources/qml/controls/*.qml \
+    ../../interface/resources/qml/controls-uit/*.qml \
+    ../../interface/resources/qml/dialogs/*.qml \
+    ../../interface/resources/qml/dialogs/fileDialog/*.qml \
+    ../../interface/resources/qml/dialogs/preferences/*.qml \
+    ../../interface/resources/qml/dialogs/messageDialog/*.qml \
+    ../../interface/resources/qml/desktop/*.qml \
+    ../../interface/resources/qml/menus/*.qml \
+    ../../interface/resources/qml/styles/*.qml \
+    ../../interface/resources/qml/styles-uit/*.qml \
+    ../../interface/resources/qml/windows/*.qml \
+    ../../interface/resources/qml/hifi/*.qml \
+    ../../interface/resources/qml/hifi/toolbars/*.qml \
+    ../../interface/resources/qml/hifi/dialogs/*.qml \
+    ../../interface/resources/qml/hifi/dialogs/preferences/*.qml \
+    ../../interface/resources/qml/hifi/overlays/*.qml
diff --git a/tests-manual/ui/src/main.cpp b/tests-manual/ui/src/main.cpp
index a5061f4d01..312b5f3823 100644
--- a/tests-manual/ui/src/main.cpp
+++ b/tests-manual/ui/src/main.cpp
@@ -3,31 +3,88 @@
 #include <QtWebEngine>
 #include <QFileSystemModel>
 
+#include "../../../libraries/ui/src/FileDialogHelper.h"
+
+
+class Preference : public QObject {
+    Q_OBJECT
+    Q_PROPERTY(QString category READ getCategory() CONSTANT)
+    Q_PROPERTY(QString name READ getName() CONSTANT)
+    Q_PROPERTY(Type type READ getType() CONSTANT)
+    Q_ENUMS(Type)
+public:
+    enum Type {
+        Editable,
+        Browsable,
+        Spinner,
+        Checkbox,
+    };
+
+    Preference(QObject* parent = nullptr) : QObject(parent) {}
+
+    Preference(const QString& category, const QString& name, QObject* parent = nullptr)
+        : QObject(parent), _category(category), _name(name) { }
+    const QString& getCategory() const { return _category; }
+    const QString& getName() const { return _name; }
+    virtual Type getType() { return Editable; }
+
+protected:
+    const QString _category;
+    const QString _name;
+};
+
+class Reticle : public QObject {
+    Q_OBJECT
+    Q_PROPERTY(QPoint position READ getPosition CONSTANT)
+public:
+
+    Reticle(QObject* parent) : QObject(parent) {
+    }
+
+    QPoint getPosition() {
+        if (!_window) {
+            return QPoint(0, 0);
+        }
+        return _window->mapFromGlobal(QCursor::pos());
+    }
+
+    void setWindow(QWindow* window) {
+        _window = window;
+    }
+
+private:
+    QWindow* _window{nullptr};
+};
+
 QString getRelativeDir(const QString& relativePath = ".") {
-    QDir path(__FILE__);
-    path.cdUp();
-    path.cdUp();
+    QDir path(__FILE__); path.cdUp();
     auto result = path.absoluteFilePath(relativePath);
     result = path.cleanPath(result) + "/";
     return result;
 }
 
-QString getResourcesDir() {
-    return getRelativeDir("../../interface/resources");
+QString getTestQmlDir() {
+    return getRelativeDir("../qml");
 }
 
-QString getQmlDir() {
-    return getRelativeDir("../../interface/resources/qml");
+QString getInterfaceQmlDir() {
+    return getRelativeDir("/");
 }
 
-QString getScriptsDir() {
-    return getRelativeDir("../../scripts");
+
+void setChild(QQmlApplicationEngine& engine, const char* name) {
+  for (auto obj : engine.rootObjects()) {
+    auto child = obj->findChild<QObject*>(QString(name));
+    if (child) {
+      engine.rootContext()->setContextProperty(name, child);
+      return;
+    }
+  }
+  qWarning() << "Could not find object named " << name;
 }
 
 void addImportPath(QQmlApplicationEngine& engine, const QString& relativePath, bool insert = false) {
     QString resolvedPath = getRelativeDir(relativePath);
-
-    qDebug() << "adding import path: " << QDir::toNativeSeparators(resolvedPath);
     engine.addImportPath(resolvedPath);
 }
 
@@ -36,24 +93,44 @@ int main(int argc, char *argv[]) {
     app.setOrganizationName("Some Company");
     app.setOrganizationDomain("somecompany.com");
     app.setApplicationName("Amazing Application");
+    QDir::setCurrent(getRelativeDir(".."));
 
-    auto scriptsDir = getScriptsDir();
-    auto resourcesDir = getResourcesDir();
+    QtWebEngine::initialize();
+    qmlRegisterType<Preference>("Hifi", 1, 0, "Preference");
 
     QQmlApplicationEngine engine;
-    addImportPath(engine, ".");
     addImportPath(engine, "qml");
-    addImportPath(engine, resourcesDir);
-    addImportPath(engine, resourcesDir + "/qml");
-    addImportPath(engine, scriptsDir);
-    addImportPath(engine, scriptsDir + "/developer/tests");
+    addImportPath(engine, "../../interface/resources/qml");
+    addImportPath(engine, "../../interface/resources");
+    engine.load(QUrl(QStringLiteral("qml/Stubs.qml")));
 
-    QFontDatabase::addApplicationFont(resourcesDir + "/fonts/FiraSans-Regular.ttf");
-    QFontDatabase::addApplicationFont(resourcesDir + "/fonts/FiraSans-SemiBold.ttf");
-    QFontDatabase::addApplicationFont(resourcesDir + "/fonts/hifi-glyphs.ttf");
+    setChild(engine, "offscreenFlags");
+    setChild(engine, "Account");
+    setChild(engine, "ApplicationCompositor");
+    setChild(engine, "Controller");
+    setChild(engine, "Desktop");
+    setChild(engine, "ScriptDiscoveryService");
+    setChild(engine, "HMD");
+    setChild(engine, "GL");
+    setChild(engine, "MenuHelper");
+    setChild(engine, "Preferences");
+    setChild(engine, "urlHandler");
+    engine.rootContext()->setContextProperty("DebugQML", true);
+    engine.rootContext()->setContextProperty("fileDialogHelper", new FileDialogHelper());
 
-    auto url = getRelativeDir(".") + "qml/ControlsGalleryWindow.qml";
-
-    engine.load(url);
+    //engine.load(QUrl(QStringLiteral("qrc:/qml/gallery/main.qml")));
+    engine.load(QUrl(QStringLiteral("qml/main.qml")));
+    for (QObject* rootObject : engine.rootObjects()) {
+        if (rootObject->objectName() == "MainWindow") {
+            Reticle* reticle = new Reticle(rootObject);
+            reticle->setWindow((QWindow*)rootObject);
+            engine.rootContext()->setContextProperty("Reticle", reticle);
+            engine.rootContext()->setContextProperty("Window", rootObject);
+            break;
+        }
+    }
     return app.exec();
 }
+
+#include "main.moc"
+
diff --git a/unpublishedScripts/marketplace/spectator-camera/SpectatorCamera.qml b/unpublishedScripts/marketplace/spectator-camera/SpectatorCamera.qml
index 753771987a..033039b87d 100644
--- a/unpublishedScripts/marketplace/spectator-camera/SpectatorCamera.qml
+++ b/unpublishedScripts/marketplace/spectator-camera/SpectatorCamera.qml
@@ -16,8 +16,8 @@ import QtQuick 2.7
 import QtQuick.Controls 2.2
 import QtGraphicalEffects 1.0
 
-import stylesUit 1.0 as HifiStylesUit
-import controlsUit 1.0 as HifiControlsUit
+import "qrc:////qml//styles-uit" as HifiStylesUit
+import "qrc:////qml//controls-uit" as HifiControlsUit
 import "qrc:////qml//controls" as HifiControls
 import "qrc:////qml//hifi" as Hifi