Fed Singleton struct class from plist
Generally a singleton is declared as 

    static let shared = URLs()


or for lazy instantiation

    static let shared = { URLs() }()


I would suggest naming the static property shared. That's a convention used throughout the standard library and Foundation.

In your case, if you change the value of instance, I'd use an optional. Your app init method (such as applicationDidFinishLaunching) should instantiate the instance of URLs with a guard and display the message if it fails. 

If you are only setting the value once, I'd suggest something like

static var instance: URLs! { willSet { 
    guard instance == nil else { fatalError("value has already been set") }
} }


I normally only use unwrapped optionals when working with an Objective-C based class where I can't overload the initializer (such as view controllers and XCTestCase). In those cases, you know viewDidLoad(), awakeFromNib(), or setUp() will be called (or something is seriously wrong and it isn't safe to continue execution).

Over the last year I've switched to using dependency injection instead of referencing singletons. I even use DI for things like NSNotificationCenter and NSUserDefaults. That makes unit testing a lot easier.