Starting from some linear algebraic data (a Weyl-group invariant bilinear form) and some arithmetic data (a bilinear Steinberg symbol), we construct a cover of a Kac-Moody group generalizing the work of Matsumoto. Specializing our construction over non-archimedean local fields, for each positive integer n we obtain the notion of n-fold metaplectic covers of Kac-Moody groups. In this setting, we prove a Casselman-Shalika type formula for Whittaker functions.In generalizing the above to a Kac-Moody context, we could perhaps have chosen any of the existing constructions (not all of which are equivalent) for Kac-Moody groups. We choose here the functorial approach of Tits [43] 3 , whose input is a "root datum" consisting of a quadruple (Y, {y i }, X , {x i }) where Y, X are to the play the role of the cocharacter and character lattice respectively of the group, and y i and x i the coroots and roots respectively. In this setup the "simply connected" groups will roughly be the ones for which Y is spanned by the {y i }, though some further care is required when A is not of full rank. See §2.1.6.To carry over Matsumoto's strategy, we first need to fix an integral Weyl group invariant form Q on Y. In the "simply-connected" case just described, these are again easily classified (cf. Proposition 2.2.2). Starting from the choice of such Q and a positive integer n, we can also form a "metaplectic root datum" as in [33] or [46]. We use this new root datum to describe the Casselman-Shalika formula and the metaplectic Demazure-Lusztig operators, but we do not actually need the construction of the metaplectic dual group. In fact, our restrictions on the cardinality of the residue field mask almost all of the subtleties of this dual group which Weissman has constructed in [46]. In the affine setting, we tabulate the possibilities for metaplectic dual root systems in Table 2.3.2. Fixing Q and choosing some Steinberg symbol, Matsumoto's strategy carries over with little change to the Kac-Moody context. KM1. The construction of the cover of the torus and its family of automorphisms follows as in [29]. The possible complications involving non-degeneracy of the Cartan matrix (e.g. the loop rotation in the affine case) are conveniently taken care of using the "Q-formalism." KM2. The next step is to obtain a presentation for a group N that plays a role analogous to the normalizer of the torus in the finite-dimensional context, and then refine this to a presentation of the "integral" version of this normalizer. We follow the classical arguments of Tits here [41] adapted with almost no change to the Kac-Moody context. Here we use the simply-connected assumption to obtain a simple presentation for N, though it should be possible to remove this assumption. KM3. Finally, the construction of a cover E as a group of operators on a set S (again constructed as a fiber product using the cover of N and the Bruhat decompostion) follows as in Matsumoto. Recall also that Matsumoto's argument involves a rank two check, and at first glance it might seem...